Thursday, 2007-01-25

*** tpb has joined #tp00:00
*** ChanServ sets mode: +o tpb00:00
*** mithro has joined #tp00:08
*** mithro has quit IRC00:11
*** mithro has joined #tp00:12
mithrowtf, we have 6 hits from AmigaOS and 45 from OS/2 to our website!00:12
JLPmithro: hehe, i did mention OS/2 in my blog entry about TP and 4X games00:14
mithroyou did?00:14
JLPyeah, dlactic civilizations was first made for os/200:14
mithroJLP: btw feel free to add simple todo items to the todo tracker
tpb<$$> (at
mithroi wonder what browser they where running00:15
JLPit's very unusuall story how i found out about galactic civilizations00:16
JLPas kid i was watching Teletext on TV and GalCiv was the top most popular game for quite some time00:16
JLPbeating all dos games at that time00:17
JLPand since we were using OS/2 at home I just had to get it00:17
JLPand that's how I became hooked on 4X00:17
JLPi know that os/2 has a port of Firefox00:18
JLPmaybe amiga also has it00:18
tpbTitle: Warpzilla (at
JLPmithro: oh yeah, what's the progress with videos from LCA2007?00:26
mithroworking on them this very second00:30
mithrotrying to figure out what format to encode them in00:30
mithro  Stream #0.0: Video: dvvideo, yuv420p, 720x576, 25.00 fps, 25000 kb/s00:30
mithro  Stream #0.1: Audio: pcm_s16le, 48000 Hz, stereo, 1536 kb/s00:30
JLPleave it at that :)00:32
mithrobah, that's 13gig an hour!00:33
JLPhehe, i was just calculating this :)00:34
JLPxvid or theora maybe00:36
nashmithro: :-P01:56
mithrogoing to lunch01:58
nashLikely story01:58
mithroJLP / nash: ping?03:13
nashI'm back from lunch03:19
nashmithro: ?03:28
tpbIt has been said that mithro: is this ok, nash03:28
mithroi was going to ask you to test some video03:28
nashWhich video?03:37
nashmithro: which vid?  Sorry my machine is lagging at the moment - getting backed up03:40
mithroi've found out that it is out of sync03:42
mithroso currently reencoding it03:42
nashBTW: Why is there no Message #7 in protocol 3?03:45
mithronash: hrm... I wonder why :P03:46
mithrohrm.. it looks like there is03:47
mithro 7Object03:48
mithroI'm assuming you mean object type?03:48
mithros/object type/frame type/03:48
nashframe type...03:49
nashSorry - I mean no frame type 603:50
mithrobecause the type 6 from tp02 has been replaced03:51
nashSeems a bit weird ;-)03:51
nashIs there any guarantee with later protocol versions and hte current one?03:52
mithronash: we are trying to keep it backwards compatible03:52
mithrohowever, on that note tp04 will totally change how objects work (to a system similar to orders)03:53
nashAny ideas when tp04 will reach the light of days?03:53
mithrohowever not to worry, tp04 is about 6 months off03:54
mithroand it will be about 80% backwards compatible (only think which prevents it being 100% backwards compatible is the object+version spec change)03:54
nashis there anything new to be expected in the immediate future?03:55
mithrodefine new?03:55
nashNew releases, new features, new documents, new designs...03:55
nashAnything that will say make a news entry on the website?03:55
mithrothere will be things which make the news entry, but tp03 can be considered stable03:57
mithro - development version of tpclient-pywx become the new stable version03:57
mithro  - screencasts instead of screenshots of a bunch of things03:57
mithro - competition winners :P03:58
mithroother possibilities03:58
mithro - planet.thousandparsec.net03:58
mithro - better metaserver intergration/support03:58
nashSounds good03:59
mithrothere will be a new stable tpclient-pywx release within the next week or two04:00
mithrotp04 is the last real stepping stone before we can have properly complex games04:01
mithroit will add support for research and dynamic object types04:01
nashResearch - all good04:02
nashWhat is "dynamic object types?"04:02
mithroCurrently we have a static object type document, http://localhost/tp/dev/documents/objects.php04:03
mithrodynamic object types will allow the server to define new object types on the fly (like how orders are done)04:04
nashCan you give me a non-localhost relative link?04:04
nashAnd I have another hard question: Why "Thousand Parsec", rather then say... "Thousand Parsecs"?04:05
mithrobecause it sounded better to me :P04:05
nashRight - so what does "dynamic object types" mean in this context?04:05
mithroand I couldn't find a correct consense on pluralising Parsec04:05
nashAn 's'?04:06
mithroA Thousand Parsec?04:07
mithrothe distance is thousand parsecs?04:07
mithroa went on a journy of a thousand parsecs?04:08
mithroplus I such as English :P04:09
mithroso yeah...04:10
mithroo btw i'm very lagged atm04:11
mithronash: btw can you log into demo1 atm?04:12
nashThats's cool04:12
nashIt should be, to the best of my knowledge a thousand parsecs.  However you can say it a thousand parsec journey04:13
mithroi'm going to do a screencast of "your first time using tpclient-pywx" sometime soon too04:13
nashAnd I don't have a client to test if I can connect currently04:13
nashThats cool04:13
*** Demitar_ has joined #tp04:28
nashmithro: Do the servers handle many outstanding requests at once?  Basically I just want to dump a whole series of requets down the line and deal with the results later.04:31
*** mithro has quit IRC04:38
*** mithro has joined #tp04:39
mithro[15:03] <nash> mithro: Do the servers handle many outstanding requests at once?  Basically I just want to dump a whole series of requets down the line and deal with the results later.04:39
mithro[15:03] <mithro> sure!04:39
mithro[15:03] <mithro> libtpclient-py pipelines the get x requests04:39
mithro[15:04] <mithro> the sequence number is specifically designed to allow easy pipelining too (although not strictly needed)04:39
mithro[15:09] * Disconnected (Connection timed out).04:39
* nash is trying to figure how the sequence stuff works 04:40
mithroreally simple04:43
nashOkay - just working all the stuff to ask the server as soon as you log in...04:43
nashHow do you get all the players?04:43
mithroclient sends a sequence number in a request, all responses to that request returned from the server have the same sequence number04:43
nashAhh... that sequence number.04:44
nashSo how do you know how many are coming?04:44
mithroIE Send "Connect sequence=89", you'll either get back a "Fail sequence=89" or "Okay sequence=89"04:44
mithroif a server is going to return multiple frames in response to something it will first return a sequence frame with the number of things to come04:45
nashThat was the piece of info I was after04:45
mithroIE "get object by ids [8, 9]" -> Sequence amount=2, Object 8, Object 904:45
mithrobtw, the server can also send frames that havn't been requested, they always have a sequence number of zero - only used for EOT notification currently04:47
nashI handle that allready.  In fact I don't bother handling lots of stuff if I don't really care about the sequence number04:48
nashHow do you get details on all the other players?  Or even discover how many other players there are04:48
tpb<$W> (at
mithronot a lot of useful information about a player in that response however04:49
nashRight - but how I do know which are valid player IDs?04:50
mithrothat will be fixed in tp04, however as there is no Fog of War currently you can "see" everyone else04:50
nashBUt how do I do that?  Do i just guess IDs?04:51
mithrowhat do you mean? When you download the objects planets/ships will have valid player ID's04:52
mithroand as you can currently see all planets/ships in the universe you therefore know which players must exist04:53
mithro(or atleast all players you care about - if a player doesn't have atleast one planet/ship they can't interact with the game)04:53
nashRight - so there is no direct way - instead you just see what you can see04:54
mithroyes, there will be a get player ids (ie to be consistent with everything else) however ultimately I think most servers will only tell you about other players you can actually see04:56
mithros/there will be/there will be in tp04/04:56
mithrobtw if you find any "warts" in tp03 please post them to the list04:59
nashAside from the one I jsut mentioned?05:02
mithroalthough you could post that one too :P05:03
nashIs it already ion the tp04 draft?05:08
nashBTW: is the tp04 draft available anywhere?05:09
mithrono, it hasn't been turned into a draft paper yet05:20
mithrojust the discussion on the mailing list05:20
mithroshould see a draft paper in the next couple of weeks05:23
mithrowell off to the gym05:32
mithrogot to take off that 5kg i put on over LCA :/05:33
*** _JLP_ has joined #tp05:33
*** JLP has quit IRC05:33
*** mithro has quit IRC05:54
*** nash has quit IRC05:54
*** tpb has joined #tp06:01
*** ChanServ sets mode: +o tpb06:01
*** llnz has joined #tp06:29
CIA-11tp: Lee Begg <[email protected]> * tpserver-cpp/ (sample.conf tpserver/game.cpp tpserver/game.cpp):07:53
CIA-11tp: Setting for setting the turn length:07:53
CIA-11tp:  Sets the turn length after the game has loaded, overriding the game07:53
CIA-11tp:  and the console, but can be changed after that. Useful for AI Comp.07:53
*** mithro has joined #tp08:24
*** nash has joined #tp08:55
nashmithro: You around?08:55
nashany dev eopla around?09:00
*** mithro has quit IRC09:02
llnzhi nash09:15
nashI've managed to find a few ways to crash the server...09:16
nashFirst by sending a few malformed messages09:16
nashBasically send a TPE_MSG_GET_BOARDS without any data, and boom it seg faults09:16
llnzthere are a lot of ways to crash the server09:17
nashSurely checking for non-zero data length would be a good start...09:17
llnzis that get board or get board ids?09:18
nashAnyway so what I'm trying to do is discover a list of all boards, and a list of all resources in the current game09:18
nashGet Board is the name in the description09:18
llnzcan i enquire as to why you don't want to use libtpproto-cpp?09:18
nashmsg 16.09:19
nashLots of half-arsed reasons...09:19
nashI'm doing my stuff in C and i hae writing C++->C wrappers for starters09:19
* llnz notes demo1 has crashed, updating build and restarting it now09:21
nashWasn't me... I'm using a local server09:23
llnzi know09:23
nashSo I should call GET BOARD IDS, and use the sequence frame to continue the list?09:24
nashIs there any boards or resources by default in minisec?09:25
llnzthere is a board for the player, so only one, and there is one resource09:26
nashWith the sequence key stuff - is that only one sequence key per client, or per data type?09:27
llnzper data type09:28
llnztpserver-cpp is normaly fairly slack about sequence keys, but remember to pass -1 the first time09:28
nashYep - and I'm thinking I may request '0' items first go, so I can find out the total number of objects...09:29
llnzif you want, you might get an error though09:30
* llnz should check09:30
llnzdemo1 running again09:32
CIA-11tp: Lee Begg <[email protected]> * tpserver-cpp/tpserver/ (player.cpp player.cpp):09:37
CIA-11tp: Protect GetBoards from undersized frames:09:37
CIA-11tp:  Just a little fix, to prevent a segfault09:37
nashYou may want to look at GetResourceDescription too ;-)09:38
llnzi suspect there is a few to do actually09:39
nashYou probably want to do a lot for the AI comp...09:39
llnzthat's fine, i don't mind09:40
nashI'd be dissappointed if I was the only one who didn't screw round with weird frame types ;-)09:40
llnzit would need to be done eventually anyway09:40
nashObviously... (else.. I'm losing - time to crash the server...)09:40
llnzhehe, you will just get lots of fail frames with "frame error" error codes saying "Invalid frame"09:41
nashThats fine...09:41
* llnz decides to go systematic09:41
nashGood plan09:42
llnzlooks like most have protection09:47
nashI did well then ;-)09:51
*** _JLP_ is now known as JLP09:59
JLPhello all09:59
llnzi think we will penalise any client deliberately crashing the server09:59
llnzhi JLP09:59
nashI'll obfuse that code then... ;-)10:00
llnzand you would lose points for it10:02
nashI'll just have to make them up elsewhere... say by winning more games by cheating10:03
nashAnyway I need to bail.  Thanks for your help llnz.10:10
llnzno problem, i'm normally round in the evenings (as the time is here)10:10
CIA-11tp: Lee Begg <[email protected]> * tpserver-cpp/tpserver/ (25 files):10:11
CIA-11tp: Undersize frame protection for almost everything:10:11
CIA-11tp:  Worked through all the frame reading, some did already, but fixed the others.10:11
CIA-11tp: Lee Begg <[email protected]> * tpserver-cpp/ (24 files in 7 dirs):12:24
CIA-11tp: Improved configure and build system:12:24
CIA-11tp:  Only links against the libraries each module needs.12:24
CIA-11tp:  Pkg-config test for libgnutls, instead of AC_PATH_LIBGNUTLS.12:24
CIA-11tp:  Slightly better mzscheme handling, but still not great12:24
CIA-11tp: Lee Begg <[email protected]> * tpserver-cpp/ (24 files):12:26
CIA-11tp: Removed unneeded acinclude.m4 file:12:26
CIA-11tp:  Because pkg-config is so much better, the acinclude.m4 file12:26
CIA-11tp:  is not needed for the autoconf test for libgnutls12:26
*** mithro has joined #tp13:32
mithro[00:02] <mithro> hey llnz13:34
mithro[00:03] <mithro> any idea why the epydoc's are broken?13:34
mithroi guess i'll look at it tommorrow13:35
*** mithro has quit IRC14:06
*** JLP has quit IRC15:17
*** Demitar__ has joined #tp15:54
*** Demitar has quit IRC15:54
*** zipola has joined #tp16:45
*** zipola_ has joined #tp16:45
*** zipola has quit IRC16:51
*** Demitar__ has quit IRC18:27
*** tuna-fish- has quit IRC18:27
*** Demitar_ has quit IRC18:27
*** CIA-11 has quit IRC18:27
*** Demitar__ has joined #tp18:34
*** Demitar_ has joined #tp18:34
*** tuna-fish- has joined #tp18:34
*** CIA-11 has joined #tp18:34
*** PXeuda has joined #tp20:52
*** zipola has joined #tp21:28
*** zipola has quit IRC23:51

Generated by 2.5 by Marius Gedminas - find it at!