*** tpb has joined #freeorion | 00:00 | |
*** Galrok has quit IRC | 01:07 | |
*** mithro_ has joined #freeorion | 01:51 | |
*** mithro has quit IRC | 01:56 | |
*** mithro__ has joined #freeorion | 02:16 | |
*** mithro__ is now known as mithro | 02:17 | |
*** mithro_ has quit IRC | 02:20 | |
*** TL|Mega has joined #freeorion | 02:40 | |
*** GeoffTheMedio2 has quit IRC | 04:38 | |
*** GeofftheMedio has joined #freeorion | 04:40 | |
*** ChanServ sets mode: +o GeofftheMedio | 04:41 | |
*** hagish has joined #freeorion | 04:46 | |
*** sebi_ has joined #freeorion | 06:42 | |
*** hagish has quit IRC | 06:42 | |
*** sebi__ has joined #freeorion | 06:44 | |
*** sebi_ has quit IRC | 06:46 | |
*** sebi_ has joined #freeorion | 06:57 | |
*** sebi__ has quit IRC | 06:57 | |
kroddn | GeofftheMedio: freeoriond now works on my root server | 07:07 |
---|---|---|
kroddn | Indeed the macro -DBOOST_ASIO_DISABLE_EVENTFD did the trick :-) | 07:07 |
GeofftheMedio | spiffy | 07:08 |
kroddn | boosts code seems to be buggy, it does not recognize that my kernel is < 2.6.22 | 07:09 |
GeofftheMedio | is 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_EVENTFD | 07: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 |
kroddn | BOOST_ASIO_HAS_EVENTD is defined on my system | 07:10 |
kroddn | but only kernel 2.6.12 is installed | 07:10 |
GeofftheMedio | hmm | 07:11 |
GeofftheMedio | report a bug for them? | 07:11 |
kroddn | yes | 07:12 |
kroddn | maybe its a good idea to disable that like I did | 07:13 |
kroddn | (setting BOOST_ASIO_DISABLE_EVENTFD in SConstruct | 07:13 |
GeofftheMedio | what does EVENTFD do? | 07:13 |
kroddn | I don't exatly know, its a new Kernel interface | 07:14 |
kroddn | currently, the statically version will not work on systems with kernel < 2.6.22 | 07:14 |
kroddn | the release I mean | 07:14 |
GeofftheMedio | it presumably does something important... I'd be hesitant to hard-code it into the sconstruct | 07:15 |
kroddn | do you know if a #error can output the contents of a macro? | 07:15 |
kroddn | It does something "new" | 07:15 |
kroddn | the code should have worked without that all the time | 07:16 |
GeofftheMedio | don't know much about preprocessor stuff | 07:16 |
*** sebi__ has joined #freeorion | 07:16 | |
*** sebi_ has quit IRC | 07:18 | |
*** TL|Mega has quit IRC | 08:18 | |
*** malumalu has joined #freeorion | 08:39 | |
kroddn | GeofftheMedio: | 08:46 |
kroddn | > Can you explain short what BOOST_ASIO_HAS_EVENTFD leads to / what it is | 08:46 |
kroddn | > for and if it would be bad to use BOOST_ASIO_DISABLE_EVENTFD? | 08:46 |
kroddn | eventfd 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 |
GeofftheMedio | what's an fd? | 08:47 |
kroddn | file descriptor | 08:47 |
kroddn | sockets are file descriptors too (on unix) | 08:47 |
GeofftheMedio | what does it mean "to save a single fd per io_service instantiation" ? | 08:48 |
kroddn | It 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 services | 08:50 |
kroddn | So, if you open multiple sockets, you can use one "eventfd" to select() | 08:51 |
GeofftheMedio | hmm. 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 distribute | 08:51 |
kroddn | I think this only will encrease performance on heavy network traffics | 08:51 |
kroddn | For me its not problem as I now know what to do, but for future support it would be better to not use eventfd | 08:52 |
kroddn | The programmer replied: | 08:53 |
GeofftheMedio | this 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 kernels | 08:53 |
kroddn | Markus 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 runtime | 08:53 |
kroddn | > detection of the kernel? Anyway, maybe it is NOT guaranteed that | 08:53 |
kroddn | > "linux/version.h" always supports the right version information. | 08:53 |
kroddn | you are right. that would be better. will see what i can come up with. | 08:53 |
GeofftheMedio | hmm. maybe in boost 1.38 | 08:53 |
kroddn | yepp | 08:55 |
kroddn | Code compiled on a system with kernel >2.6.22 will never run on a system < 2.6.22 | 08:55 |
kroddn | and there are quite a lot of systems having <2.6.22 | 08:55 |
GeofftheMedio | even with BOOST_ASIO_DISABLE_EVENTFD set? | 08:56 |
kroddn | then it will work | 08:59 |
GeofftheMedio | so set it for building your binaries... | 09:00 |
kroddn | I added this: http://www.freeorion.org/index.php/Compile_In_Linux#Kernel | 09:01 |
tpb | <http://ln-s.net/2lN0> (at www.freeorion.org) | 09:01 |
kroddn | GeofftheMedio: i am doing so for now on :-) | 09:01 |
GeofftheMedio | looks good | 09:02 |
kroddn | I have a freeoriond running on www.holy-wars2.de if you want to try :-) | 09:06 |
GeofftheMedio | host or join? | 09:06 |
kroddn | by now is a clean daemon, so you must do a host first | 09:07 |
GeofftheMedio | did that work? | 09:08 |
GeofftheMedio | hmm. no, I think I'm on localhost | 09:09 |
kroddn | you have to use those two command line params | 09:09 |
kroddn | and then host a new network game | 09:10 |
kroddn | hm | 09:10 |
kroddn | it seems to have worked | 09:10 |
kroddn | the server exited normally | 09:10 |
GeofftheMedio | I was only specifying the address on the first try, not force external | 09:10 |
kroddn | thats not working by now | 09:11 |
GeofftheMedio | I realized | 09:11 |
GeofftheMedio | can you join the game, or do you want me to exit to see what happens? | 09:12 |
kroddn | i'll join | 09:12 |
kroddn | works | 09:13 |
kroddn | urgh, the planet panel is broken | 09:13 |
GeofftheMedio | how so...? | 09:14 |
kroddn | http://www.psitronic.de/div/Bildschirmfoto.png | 09:15 |
kroddn | or is that wanted? | 09:15 |
GeofftheMedio | oh, yeah. I forgot to reposition the colonize button. it's been fixed in svn | 09:16 |
kroddn | kk | 09:17 |
GeofftheMedio | we seem to be pretty far apart in this galaxy | 09:17 |
kroddn | I suggest letting the turn-button blink if all other players have already ended their turn | 09:19 |
GeofftheMedio | the 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 update | 09:19 |
GeofftheMedio | it should also list all other players and whether they've ended turn at the top left | 09:19 |
kroddn | the discoveryport is an UDP port (just want to tell) | 09:20 |
kroddn | I cannot forward UDP ports, so maybe that is a bad decision | 09:20 |
GeofftheMedio | we played a game on your home machine, though | 09:21 |
GeofftheMedio | I can't order my fleet to move to your homeworld because your fleet icon covers it up | 09:21 |
kroddn | same for me | 09:22 |
kroddn | i cannot access my home system | 09:22 |
GeofftheMedio | heh | 09:22 |
kroddn | Its not a bug its a feature :-) | 09:22 |
GeofftheMedio | for your protection from my massive two Mark-I military | 09:22 |
kroddn | grml | 09:23 |
GeofftheMedio | luck o the draw | 09:24 |
kroddn | planets should be conquerable by a mark-i :-( | 09:24 |
kroddn | damn | 09:24 |
kroddn | did you quit? | 09:24 |
kroddn | freeoriond still running | 09:24 |
GeofftheMedio | nope, still in game | 09:24 |
GeofftheMedio | dunno what'll happen if I end turn | 09:24 |
kroddn | bluescreen of death | 09:24 |
GeofftheMedio | still playing | 09:25 |
kroddn | have fun ^^ | 09:25 |
GeofftheMedio | did it boot you from the game when you were eliminated? | 09:25 |
kroddn | yes | 09:26 |
GeofftheMedio | http://www.freeorion.org/forum/viewtopic.php?p=35058#p35058 | 09:30 |
tpb | <http://ln-s.net/2lNa> (at www.freeorion.org) | 09:30 |
kroddn | pffft | 09:32 |
GeofftheMedio | resigned | 09:32 |
GeofftheMedio | server should have quit | 09:32 |
kroddn | freeoriond has exited | 09:32 |
GeofftheMedio | indeed | 09:32 |
kroddn | I think we should also support configuration of the game data port | 09:33 |
kroddn | before, i wanted to say something about that discovery port | 09:33 |
kroddn | Maybe I misunderstood, but this port seems to be for finding games in the lobby | 09:33 |
GeofftheMedio | it 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 |
GeofftheMedio | I'm not sure what the two different ports do, but that sounds logical | 09:34 |
kroddn | it seems logical because UDP is a fire and forget protocol | 09:35 |
kroddn | When I add those parameters we talked about I'll have a look if I can add a "port" option too | 09:35 |
kroddn | Its easier to host multiple games with different ports than configuring different ip adresses | 09:36 |
GeofftheMedio | should 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 |
GeofftheMedio | and 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 |
GeofftheMedio | rather than using multiple ports for multiple servers at the same ip, could the server just ignore incoming messages from the wrong client? | 09:41 |
GeofftheMedio | either by ip, or that lack the proper unique server process id in their header? | 09:42 |
GeofftheMedio | the id would be sent to clients after joining a game on the server, or something like that | 09:42 |
kroddn | thats a good idea either | 09:47 |
GeofftheMedio | you 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 |
kroddn | the easiest way is different ports | 09:50 |
kroddn | thats simple to implement | 09:50 |
kroddn | normally, you should have one dedicated for one game | 09:50 |
GeofftheMedio | but then everyone has to set a different set of ports forwarding on their routers each time they play a game | 09:51 |
kroddn | Thats even better for security reasons, but of course at cost of performance | 09:51 |
kroddn | GeofftheMedio: thats not what i mean | 09:51 |
kroddn | Port-Forwarding is only needed if you host a game | 09:51 |
kroddn | not if you play | 09:51 |
kroddn | on that internet server i even do not need port forwarding, but at home | 09:51 |
GeofftheMedio | hmm | 09:52 |
kroddn | the standard should be 12346 as it is now | 09:52 |
GeofftheMedio | that's probably not the best port number to use as default... | 09:52 |
GeofftheMedio | probably a lot of things use it | 09:52 |
kroddn | and only for a dedicated freeoriond there should be possibility to configure other ports | 09:52 |
kroddn | i think you can choose whatever port you want, as long it is not a "well known" one | 09:53 |
GeofftheMedio | right, but that one's a little too generic... 12345 and 12346 ? lots of stuff is likely to use it | 09:53 |
kroddn | but would that be a problem? | 09:54 |
GeofftheMedio | could be. wikipedia says: 12345 NetBus�remote administration tool (often Trojan horse). Also used by NetBuster. Little Fighter 2 (TCP). | 09:54 |
GeofftheMedio | might be blocked if it's often a trogan | 09:54 |
GeofftheMedio | trojan | 09:54 |
kroddn | :-) | 09:54 |
GeofftheMedio | would be better to pick a freeorion port that's not likely to be used by anything else | 09:54 |
kroddn | will be hard to find out | 09:55 |
GeofftheMedio | we could start with the wikipedia list, and just pick something unused in there... with a big gap between adjacent used stuff | 09:55 |
GeofftheMedio | http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers | 09:56 |
tpb | <http://ln-s.net/28Ai> (at en.wikipedia.org) | 09:56 |
kroddn | great - freeoriond even runs on a kernel 2.6.8 | 09:56 |
kroddn | now :-) | 09:56 |
GeofftheMedio | good to know...? | 09:57 |
kroddn | yes | 09:57 |
GeofftheMedio | oh! quesiton I wanted to ask you: | 09:57 |
GeofftheMedio | would 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 |
kroddn | python indeed is the greatest problem i have | 09:58 |
kroddn | when making static versions i mean | 09:58 |
kroddn | but the latest work seems to run well, so if python is mandatory use it | 09:59 |
kroddn | what scripting do you mean? | 09:59 |
GeofftheMedio | first thing I'd like to do is make it possible to write a pythong script to generate the universe | 10:00 |
GeofftheMedio | later, scenarios could have python scripts to do events during a game | 10:00 |
kroddn | but couldn't you write a "client" like freeorionca that connects to the server and creates this univers? | 10:00 |
kroddn | Keep the server as simple as possible, by now it is very simple and does need exactly zero dependencies to run | 10:01 |
kroddn | meaning: freeoriond runs as is on any linux :-) | 10:01 |
GeofftheMedio | hmm... I suppose that could be done for universe creation. | 10:02 |
kroddn | without any directories / config files needed | 10:02 |
kroddn | If I could figure out how to link python and its modules needed by FO, it would not be a problem any more | 10:02 |
kroddn | but python is very modular, its loads everything dynamically | 10:03 |
GeofftheMedio | mmhmm | 10:04 |
kroddn | I 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 again | 10:04 |
kroddn | When are those scriptings planned? | 10:05 |
GeofftheMedio | AI 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 |
GeofftheMedio | they aren't yet... it's just something I'd like to do at some point | 10:06 |
kroddn | its quite a lot of python stuff | 10:11 |
kroddn | $ vdir /tmp/freeorion/application/python2.5/|wc --lines | 10:12 |
kroddn | 47 | 10:12 |
kroddn | 47 files | 10:12 |
GeofftheMedio | hmm. the core stuff, sys and pickle might have some dependencies. | 10:12 |
kroddn | how is that working on windows? | 10:14 |
kroddn | are you shipping a python dll with FO or do you have python2.5 installed? | 10:14 |
GeofftheMedio | python25.dll is installed in the main freeorion directory | 10:15 |
GeofftheMedio | it's the largest dll other than gigi | 10:15 |
kroddn | And this dll contains all the parts? | 10:16 |
GeofftheMedio | yep | 10:16 |
GeofftheMedio | about 2 MB | 10:16 |
kroddn | python dll on linux is 1.2MB | 10:16 |
kroddn | the modules are a lot more | 10:16 |
kroddn | 41MB | 10:17 |
GeofftheMedio | you're not shipping 41 MB of just python stuff, are you? | 10:18 |
kroddn | no | 10:18 |
kroddn | 4MB | 10:18 |
kroddn | i picked out that freeorionca needs | 10:18 |
kroddn | by try-and-fail :-) | 10:18 |
GeofftheMedio | hmm. I don't know how it works... as far as I know you don't need anything other than that dll. | 10:19 |
kroddn | its not what I would like to do forever, because its dirty | 10:19 |
GeofftheMedio | ok... I need to sleep for a bit. | 10:19 |
kroddn | have fun! | 10:19 |
kroddn | how late is it at your location? | 10:19 |
kroddn | is 4pm here | 10:19 |
GeofftheMedio | 7:19 AM | 10:19 |
kroddn | time for coffee | 10:19 |
kroddn | time for coffee too :-) | 10:19 |
GeofftheMedio | I wasn't planning on staying up all night... it just sorta happened that way | 10:20 |
GeofftheMedio | no... 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 #freeorion | 10:25 | |
*** GeoffTheMedio2 has joined #freeorion | 10:43 | |
*** GeofftheMedio has quit IRC | 10:56 | |
*** sebi__ has quit IRC | 11:40 | |
*** lizard_r has quit IRC | 11:41 | |
*** hagish has joined #freeorion | 11:47 | |
*** hagish has quit IRC | 12:09 | |
*** Raptor_85 has joined #freeorion | 12:57 | |
*** Raptor_85 has quit IRC | 13:03 | |
*** malumalu has quit IRC | 13:43 | |
*** Raptor_85 has joined #freeorion | 13:52 | |
*** Raptor_85 has left #freeorion | 14:06 | |
*** lizard_r has joined #freeorion | 15:59 | |
*** lizard_r has quit IRC | 16:54 | |
*** hagish has joined #freeorion | 17:12 | |
*** kroddnoMobil has joined #freeorion | 17:13 | |
*** ChanServ sets mode: +o kroddnoMobil | 17:21 | |
*** mithro has quit IRC | 18:38 | |
*** Raptor_85 has joined #freeorion | 18:55 | |
*** kroddnoMobil has quit IRC | 19:39 | |
*** Raptor_85 has quit IRC | 19:51 | |
*** GeoffTheMedio2 has quit IRC | 20:17 | |
*** GeofftheMedio has joined #freeorion | 20:18 | |
*** ChanServ sets mode: +o GeofftheMedio | 20:18 | |
*** tomgunner has joined #freeorion | 20:34 | |
*** hagish has quit IRC | 20:37 | |
*** STalKer-X has quit IRC | 23:39 | |
*** STalKer-X has joined #freeorion | 23:39 |
Generated by irclog2html.py 2.5 by Marius Gedminas - find it at mg.pov.lt!