Monday, 2009-01-26

*** tpb has joined #freeorion00:00
*** Galrok has quit IRC01:07
*** mithro_ has joined #freeorion01:51
*** mithro has quit IRC01:56
*** mithro__ has joined #freeorion02:16
*** mithro__ is now known as mithro02:17
*** mithro_ has quit IRC02:20
*** TL|Mega has joined #freeorion02:40
*** GeoffTheMedio2 has quit IRC04:38
*** GeofftheMedio has joined #freeorion04:40
*** ChanServ sets mode: +o GeofftheMedio04:41
*** hagish has joined #freeorion04:46
*** sebi_ has joined #freeorion06:42
*** hagish has quit IRC06:42
*** sebi__ has joined #freeorion06:44
*** sebi_ has quit IRC06:46
*** sebi_ has joined #freeorion06:57
*** sebi__ has quit IRC06:57
kroddnGeofftheMedio: freeoriond now works on my root server07:07
kroddnIndeed the macro -DBOOST_ASIO_DISABLE_EVENTFD did the trick :-)07:07
GeofftheMediospiffy07:08
kroddnboosts code seems to be buggy, it does not recognize that my kernel is < 2.6.2207:09
GeofftheMediois it supposed to?07:09
kroddn#if defined(linux)07:10
kroddn# if !defined(BOOST_ASIO_DISABLE_EVENTFD)07:10
kroddn#  include <linux/version.h>07:10
kroddn#  if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)07:10
kroddn#   define BOOST_ASIO_HAS_EVENTFD07:10
kroddn#  endif // LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)07:10
kroddn# endif // !defined(BOOST_ASIO_DISABLE_EVENTFD)07:10
kroddn#endif // defined(linux)07:10
kroddnBOOST_ASIO_HAS_EVENTD is defined on my system07:10
kroddnbut only kernel 2.6.12 is installed07:10
GeofftheMediohmm07:11
GeofftheMedioreport a bug for them?07:11
kroddnyes07:12
kroddnmaybe its a good idea to disable that like I did07:13
kroddn(setting BOOST_ASIO_DISABLE_EVENTFD in SConstruct07:13
GeofftheMediowhat does EVENTFD do?07:13
kroddnI don't exatly know, its a new Kernel interface07:14
kroddncurrently, the statically version will not work on systems with kernel < 2.6.2207:14
kroddnthe release I mean07:14
GeofftheMedioit presumably does something important... I'd be hesitant to hard-code it into the sconstruct07:15
kroddndo you know if a #error can output the contents of a macro?07:15
kroddnIt does something "new"07:15
kroddnthe code should have worked without that all the time07:16
GeofftheMediodon't know much about preprocessor stuff07:16
*** sebi__ has joined #freeorion07:16
*** sebi_ has quit IRC07:18
*** TL|Mega has quit IRC08:18
*** malumalu has joined #freeorion08:39
kroddnGeofftheMedio:08:46
kroddn> Can you explain short what BOOST_ASIO_HAS_EVENTFD leads to / what it is08:46
kroddn> for and if it would be bad to use BOOST_ASIO_DISABLE_EVENTFD?08:46
kroddneventfd allows one to save a single fd per io_service instantiation. there are also some minor performance improvements, compared to using pipes. so not using eventfd will not cause any serious problems.08:46
GeofftheMediowhat's an fd?08:47
kroddnfile descriptor08:47
kroddnsockets are file descriptors too (on unix)08:47
GeofftheMediowhat does it mean "to save a single fd per io_service instantiation" ?08:48
kroddnIt do not exactly know, but I understand it in that way, that you can use one FD for one thread to receive interrupts from different services08:50
kroddnSo, if you open multiple sockets, you can use one "eventfd" to select()08:51
GeofftheMediohmm.  well, I don't think it's a good idea to hard-code it into the SConstruct, but if CPPDEFINES can be set from the command line, then you could put a note about it somewhere in compile, and can do whatever you want with the binaries you distribute08:51
kroddnI think this only will encrease performance on heavy network traffics08:51
kroddnFor me its not problem as I now know what to do, but for future support it would be better to not use eventfd08:52
kroddnThe programmer replied:08:53
GeofftheMediothis sounds like it can be set for each compile... so again, put a note in the compile section (of the wiki) for people with older kernels08:53
kroddnMarkus Sinner said the following on 01/26/2009 03:48 PM:08:53
kroddn>08:53
kroddn> Wouldn't it be better to change the code so that it supports a runtime08:53
kroddn> detection of the kernel? Anyway, maybe it is NOT guaranteed that08:53
kroddn> "linux/version.h" always supports the right version information.08:53
kroddnyou are right. that would be better. will see what i can come up with.08:53
GeofftheMediohmm.  maybe in boost 1.3808:53
kroddnyepp08:55
kroddnCode compiled on a system with kernel >2.6.22 will never run on a system < 2.6.2208:55
kroddnand there are quite a lot of systems having <2.6.2208:55
GeofftheMedioeven with BOOST_ASIO_DISABLE_EVENTFD set?08:56
kroddnthen it will work08:59
GeofftheMedioso set it for building your binaries...09:00
kroddnI added this: http://www.freeorion.org/index.php/Compile_In_Linux#Kernel09:01
tpb<http://ln-s.net/2lN0> (at www.freeorion.org)09:01
kroddnGeofftheMedio: i am doing so for now on :-)09:01
GeofftheMediolooks good09:02
kroddnI have a freeoriond running on www.holy-wars2.de if you want to try :-)09:06
GeofftheMediohost or join?09:06
kroddnby now is a clean daemon, so you must do a host first09:07
GeofftheMediodid that work?09:08
GeofftheMediohmm.  no, I think I'm on localhost09:09
kroddnyou have to use those two command line params09:09
kroddnand then host a new network game09:10
kroddnhm09:10
kroddnit seems to have worked09:10
kroddnthe server exited normally09:10
GeofftheMedioI was only specifying the address on the first try, not force external09:10
kroddnthats not working by now09:11
GeofftheMedioI realized09:11
GeofftheMediocan you join the game, or do you want me to exit to see what happens?09:12
kroddni'll join09:12
kroddnworks09:13
kroddnurgh, the planet panel is broken09:13
GeofftheMediohow so...?09:14
kroddnhttp://www.psitronic.de/div/Bildschirmfoto.png09:15
kroddnor is that wanted?09:15
GeofftheMediooh, yeah. I forgot to reposition the colonize button.  it's been fixed in svn09:16
kroddnkk09:17
GeofftheMediowe seem to be pretty far apart in this galaxy09:17
kroddnI suggest letting the turn-button blink if all other players have already ended their turn09:19
GeofftheMediothe whole ended turn business needs to be fixed up.  in particular, you should be able to chat and receive chats after ending turn before receiving an update09:19
GeofftheMedioit should also list all other players and whether they've ended turn at the top left09:19
kroddnthe discoveryport is an UDP port (just want to tell)09:20
kroddnI cannot forward UDP ports, so maybe that is a bad decision09:20
GeofftheMediowe played a game on your home machine, though09:21
GeofftheMedioI can't order my fleet to move to your homeworld because your fleet icon covers it up09:21
kroddnsame for me09:22
kroddni cannot access my home system09:22
GeofftheMedioheh09:22
kroddnIts not a bug its a feature :-)09:22
GeofftheMediofor your protection from my massive two Mark-I military09:22
kroddngrml09:23
GeofftheMedioluck o the draw09:24
kroddnplanets should be conquerable by a mark-i :-(09:24
kroddndamn09:24
kroddndid you quit?09:24
kroddnfreeoriond still running09:24
GeofftheMedionope, still in game09:24
GeofftheMediodunno what'll happen if I end turn09:24
kroddnbluescreen of death09:24
GeofftheMediostill playing09:25
kroddnhave fun ^^09:25
GeofftheMediodid it boot you from the game when you were eliminated?09:25
kroddnyes09:26
GeofftheMediohttp://www.freeorion.org/forum/viewtopic.php?p=35058#p3505809:30
tpb<http://ln-s.net/2lNa> (at www.freeorion.org)09:30
kroddnpffft09:32
GeofftheMedioresigned09:32
GeofftheMedioserver should have quit09:32
kroddnfreeoriond has exited09:32
GeofftheMedioindeed09:32
kroddnI think we should also support configuration of the game data port09:33
kroddnbefore, i wanted to say something about that discovery port09:33
kroddnMaybe I misunderstood, but this port seems to be for finding games in the lobby09:33
GeofftheMedioit would be easy to add an option in the options screen.  could add one for "use external server" and "multiplayer server address" and "single player external server address"09:34
GeofftheMedioI'm not sure what the two different ports do, but that sounds logical09:34
kroddnit seems logical because UDP is a fire and forget protocol09:35
kroddnWhen I add those parameters we talked about I'll have a look if I can add a "port" option too09:35
kroddnIts easier to host multiple games with different ports than configuring different ip adresses09:36
GeofftheMedioshould be easy to set up command-line port selection, and the various in-gui options are pretty easy to set up for something like that as well.  probably want to add a "networking" tab to the options screen.09:37
GeofftheMedioand put discovery port, gameplay port, use external single player server, single player server address (if use external true), multiplayer server address, use external multiplayer server (if server address is localhost)09:38
GeofftheMediorather than using multiple ports for multiple servers at the same ip, could the server just ignore incoming messages from the wrong client?09:41
GeofftheMedioeither by ip, or that lack the proper unique server process id in their header?09:42
GeofftheMediothe id would be sent to clients after joining a game on the server, or something like that09:42
kroddnthats a good idea either09:47
GeofftheMedioyou could make a post at gamedev in the game programming section and ask what's the best way to run multiple servers on one host... different ports or headers or...?09:48
kroddnthe easiest way is different ports09:50
kroddnthats simple to implement09:50
kroddnnormally, you should have one dedicated for one game09:50
GeofftheMediobut then everyone has to set a different set of ports forwarding on their routers each time they play a game09:51
kroddnThats even better for security reasons, but of course at cost of performance09:51
kroddnGeofftheMedio: thats not what i mean09:51
kroddnPort-Forwarding is only needed if you host a game09:51
kroddnnot if you play09:51
kroddnon that internet server i even do not need port forwarding, but at home09:51
GeofftheMediohmm09:52
kroddnthe standard should be 12346 as it is now09:52
GeofftheMediothat's probably not the best port number to use as default...09:52
GeofftheMedioprobably a lot of things use it09:52
kroddnand only for a dedicated freeoriond there should be possibility to configure other ports09:52
kroddni think you can choose whatever port you want, as long it is not a "well known" one09:53
GeofftheMedioright, but that one's a little too generic... 12345 and 12346 ?  lots of stuff is likely to use it09:53
kroddnbut would that be a problem?09:54
GeofftheMediocould be.  wikipedia says: 12345 NetBus�remote administration tool (often Trojan horse). Also used by NetBuster. Little Fighter 2 (TCP).09:54
GeofftheMediomight be blocked if it's often a trogan09:54
GeofftheMediotrojan09:54
kroddn:-)09:54
GeofftheMediowould be better to pick a freeorion port that's not likely to be used by anything else09:54
kroddnwill be hard to find out09:55
GeofftheMediowe could start with the wikipedia list, and just pick something unused in there... with a big gap between adjacent used stuff09:55
GeofftheMediohttp://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers09:56
tpb<http://ln-s.net/28Ai> (at en.wikipedia.org)09:56
kroddngreat - freeoriond even runs on a kernel 2.6.809:56
kroddnnow :-)09:56
GeofftheMediogood to know...?09:57
kroddnyes09:57
GeofftheMediooh!  quesiton I wanted to ask you:09:57
GeofftheMediowould adding server scripting with python, similar to the AI scripting, be at all problematic?  It would make python a requirement to run the server...09:58
kroddnpython indeed is the greatest problem i have09:58
kroddnwhen making static versions i mean09:58
kroddnbut the latest work seems to run well, so if python is mandatory use it09:59
kroddnwhat scripting do you mean?09:59
GeofftheMediofirst thing I'd like to do is make it possible to write a pythong script to generate the universe10:00
GeofftheMediolater, scenarios could have python scripts to do events during a game10:00
kroddnbut couldn't you write a "client" like freeorionca that connects to the server and creates this univers?10:00
kroddnKeep the server as simple as possible, by now it is very simple and does need exactly zero dependencies to run10:01
kroddnmeaning: freeoriond runs as is on any linux :-)10:01
GeofftheMediohmm...  I suppose that could be done for universe creation.10:02
kroddnwithout any directories / config files needed10:02
kroddnIf I could figure out how to link python and its modules needed by FO, it would not be a problem any more10:02
kroddnbut python is very modular, its loads everything dynamically10:03
GeofftheMediommhmm10:04
kroddnI shipped those python-modules with FO that I know freeorionca is using - but if some coders change something in freeorionca I will have to do the same work again10:04
kroddnWhen are those scriptings planned?10:05
GeofftheMedioAI coding should be fairly self-contained...  it uses sys and pickle and the core python stuff... don't think it needs much more than that...10:06
GeofftheMediothey aren't yet... it's just something I'd like to do at some point10:06
kroddnits quite a lot of python stuff10:11
kroddn$ vdir /tmp/freeorion/application/python2.5/|wc --lines10:12
kroddn4710:12
kroddn47 files10:12
GeofftheMediohmm.  the core stuff, sys and pickle might have some dependencies.10:12
kroddnhow is that working on windows?10:14
kroddnare you shipping a python dll with FO or do you have python2.5 installed?10:14
GeofftheMediopython25.dll is installed in the main freeorion directory10:15
GeofftheMedioit's the largest dll other than gigi10:15
kroddnAnd this dll contains all the parts?10:16
GeofftheMedioyep10:16
GeofftheMedioabout 2 MB10:16
kroddnpython dll on linux is 1.2MB10:16
kroddnthe modules are a lot more10:16
kroddn41MB10:17
GeofftheMedioyou're not shipping 41 MB of just python stuff, are you?10:18
kroddnno10:18
kroddn4MB10:18
kroddni picked out that freeorionca needs10:18
kroddnby try-and-fail :-)10:18
GeofftheMediohmm.  I don't know how it works... as far as I know you don't need anything other than that dll.10:19
kroddnits not what I would like to do forever, because its dirty10:19
GeofftheMediook... I need to sleep for a bit.10:19
kroddnhave fun!10:19
kroddnhow late is it at your location?10:19
kroddnis 4pm here10:19
GeofftheMedio7:19 AM10:19
kroddntime for coffee10:19
kroddntime for coffee too :-)10:19
GeofftheMedioI wasn't planning on staying up all night... it just sorta happened that way10:20
GeofftheMediono... time for sleep.  need to get up in 4 hours and a bit.  go mark some lab books perhaps...10:20
*** lizard_r has joined #freeorion10:25
*** GeoffTheMedio2 has joined #freeorion10:43
*** GeofftheMedio has quit IRC10:56
*** sebi__ has quit IRC11:40
*** lizard_r has quit IRC11:41
*** hagish has joined #freeorion11:47
*** hagish has quit IRC12:09
*** Raptor_85 has joined #freeorion12:57
*** Raptor_85 has quit IRC13:03
*** malumalu has quit IRC13:43
*** Raptor_85 has joined #freeorion13:52
*** Raptor_85 has left #freeorion14:06
*** lizard_r has joined #freeorion15:59
*** lizard_r has quit IRC16:54
*** hagish has joined #freeorion17:12
*** kroddnoMobil has joined #freeorion17:13
*** ChanServ sets mode: +o kroddnoMobil17:21
*** mithro has quit IRC18:38
*** Raptor_85 has joined #freeorion18:55
*** kroddnoMobil has quit IRC19:39
*** Raptor_85 has quit IRC19:51
*** GeoffTheMedio2 has quit IRC20:17
*** GeofftheMedio has joined #freeorion20:18
*** ChanServ sets mode: +o GeofftheMedio20:18
*** tomgunner has joined #freeorion20:34
*** hagish has quit IRC20:37
*** STalKer-X has quit IRC23:39
*** STalKer-X has joined #freeorion23:39

Generated by irclog2html.py 2.5 by Marius Gedminas - find it at mg.pov.lt!