Friday, 2009-01-23

*** tpb has joined #freeorion00:00
*** mithro has quit IRC01:15
*** kroddnoMobil has joined #freeorion01:59
kroddnoMobilGeofftheMedio: maybe it could be a good work on FreeOrion code for me to implement some command line parameters for freeorionD to support a dedicated server. What do you think about that?02:29
kroddnoMobilAnother question: do you know how data-transfer over TCP is implemented? Is it plain text or binary serialization? The latter would lead to incompatibility between different OSs02:30
kroddnoMobilaccu will fail, iÄll be back later02:39
*** kroddnoMobil has quit IRC02:39
*** kroddnoMobil has joined #freeorion02:55
*** kroddnoMobil has quit IRC03:57
*** schmichael has quit IRC03:57
*** GeofftheMedio has quit IRC03:57
*** hagish has joined #freeorion03:57
*** kroddnoMobil has joined #freeorion03:58
*** GeofftheMedio has joined #freeorion03:58
*** schmichael has joined #freeorion03:58
GeofftheMediokroddn: the server process already is dedicated...04:45
GeofftheMediolaunching a single player game starts up a separate server process which communicates with the client and AIs04:45
GeofftheMedioyou can also pre-start the server binary and run the client with --force-external-server04:46
GeofftheMediofreeorion uses boost-serialization to transfer universe / gamestate information.  this has plaintext and binary options, either of which should be platform independent, as far as I know04:47
*** GeoffTheMedio2 has joined #freeorion05:07
*** ChanServ sets mode: +o GeoffTheMedio205:07
GeoffTheMedio2if you have something in particular you'd want to add to the server, it could be useful, though05:09
*** GeofftheMedio has quit IRC05:19
*** hagish has quit IRC05:36
kroddnoMobilGeoffTheMedio2: i'll check that. In the past it was not possible to start a "dedicated" server on another host then the one you want to play05:41
kroddnoMobiland of course you have no possibility to configure anything05:42
GeoffTheMedio2ah, well that might be something to add then05:42
GeoffTheMedio2I think --force-dedicated-server only works for starting single player games, where the host is at localhost05:42
GeoffTheMedio2for multiplayer games, I don't know if pre-running the server would work or not...05:43
GeoffTheMedio2I suppose it would also be useful if the server had an interface while the game was running05:43
GeoffTheMedio2I think the networking is set up to have a host player right now, and I don't know if it'd be easy to make it possible to have no host player, which is probably what you'd need to do05:45
GeoffTheMedio2to make it possible to run a server that accepts incoming multiplayer connections and is launched separately from the client05:46
GeoffTheMedio2you could perhaps make a new client type - game admin - that isn't a player, and acts as host, and provides an interface to the server05:47
kroddnoMobilthe "Host player" is currently the player, if I understood the code right05:48
GeoffTheMedio2not "the" player... there can be multiplayer games where one player is the host and the other isn't05:48
GeoffTheMedio2probably it's enough to make the server accept incoming new game connections after it's started05:49
kroddnoMobilyes, but that nothing else then "the" player starts a freeoriond05:49
GeoffTheMedio2unless we add an administrator or observer type of client - either of which would be useful to have - then there will probably need to be a "host" player who "owns" the game in multiplayer, even if the host isn't on the same machine as that player's client05:51
GeoffTheMedio2or rather, even if the *server* isn't on the same machine as the host player's client05:52
GeoffTheMedio2if we ever want to have a dedicated freeorion server, we might need a separate program to accept incoming player lobby connections, and then spawn server processes to play the games.  that way, a single physical machine could have multiple server processes running on it05:54
GeoffTheMedio2anyway, I'd start with making the server accept incoming HostMPGame messages if launched from the command line.  I'm not sure why it doesn't now.05:57
GeoffTheMedio2since it does accept incoming HostSPGame messages...05:59
GeoffTheMedio2have a look in humanclientapp.cpp06:00
GeoffTheMedio2in NewSinglePlayerGame and MultiplayerGame06:00
GeoffTheMedio2for single player, it checks if the --force-external-server option is set, but it doesn't for MP06:01
GeoffTheMedio2might be able to do something about that06:01
GeoffTheMedio2oh, wait... it does check that in MultiplayerGame ... it's hidden a bit lower after the connect dialog is created06:02
GeoffTheMedio2hmm... ok, so I just got a multiplayer external server to work06:08
GeoffTheMedio2started freeoriond in one console window06:08
GeoffTheMedio2started freeorion --force-external-server in another, and started an MP game as host06:08
GeoffTheMedio2started freeorion in another window, and joined an mp game at localhost06:09
GeoffTheMedio2everything proceeded as normal06:09
*** mithro has joined #freeorion06:23
*** mithro has quit IRC06:36
*** mithro has joined #freeorion06:37
*** GeofftheMedio has joined #freeorion09:09
*** GeoffTheMedio2 has quit IRC09:21
kroddnoMobilGeofftheMedio: what does the "host" player technically do?10:13
kroddnoMobilIs it only the settings he will be able to configure, or does he do more?10:13
GeofftheMediocreates the multiplayer lobby, sets the game settings in the lobby.  There might be a restriction that the host is the only one who can save the game.10:14
kroddnoMobilThe last time i tried to run freeoriond on a server it would not work because it complained about a missing display :-(10:14
GeofftheMediohmm... can you tell it to redirect stdout and stderr to /dev/null or somesuch?10:14
GeofftheMedioit doesn't use any "display" besides text10:15
kroddnoMobilokay, if that is all he does I want to write something that does this in a "dedicated server", so that one can run one or more dedi on a root server10:15
GeofftheMedioon the console10:15
kroddnoMobilI know that he does not use a display, but it checks for it and crashes if not found10:15
kroddnoMobilMaybe my static version will work, because it now does not any more depend on libGL10:15
GeofftheMedioenglish tip: where you're using "he" you want "it"10:16
kroddnoMobiljo jo10:17
kroddnoMobilYOU used the "he" :-)10:17
GeofftheMedioI wonder why it's checking for a display... and what's making it do that10:17
GeofftheMedioif I did, it was probablya typo of "the"10:17
kroddnoMobilthats the problem with all those dependencies linked into10:17
GeofftheMediodo you link each binary with only the dependencies it needs, or do you link all the dependencies to all three binaries?10:18
kroddnoMobilbut as i said, maybe THIS problem has gone10:18
kroddnoMobilOf course i only link with the needed ones10:18
kroddnoMobilas i link them statically :-)10:18
GeofftheMediobtw, if you have an internet-accessible server with a freeoriond process running, I'd like to try connecting to it10:18
*** ChanServ sets mode: +o GeofftheMedio10:19
kroddnoMobilhm10:19
kroddnoMobili'll have to change the firewall10:19
kroddnoMobilwhich oort is it?10:19
kroddnoMobil/tmp/freeorion/application$ ./freeoriond10:20
kroddnoMobilterminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::system::system_error> >'10:20
kroddnoMobil  what():  eventfd_select_interrupter: API error10:20
kroddnoMobilAborted10:20
kroddnoMobildoes not work :-(10:20
kroddnoMobilfreeoriond does not have ANY dependencies :-) - wow, i got it linked 100% statically *g*10:20
GeofftheMedioI think it's 12345 or 12346 ... sec10:21
kroddnoMobilwe will try that after i get freeoriond up to run without a display10:21
GeofftheMediodiscovery port is 12345 and message port is 1234610:21
GeofftheMediocan you trace to that error?10:22
kroddnoMobilnot now, I am on business travel :-)10:22
GeofftheMediohmm10:22
kroddnoMobilokay, the problem is not the display10:23
kroddnoMobilmy OS on the root server is to old to run it10:23
GeofftheMediois that going to be difficult or impossible to fix?10:24
kroddnoMobillol10:24
kroddnoMobilanother root server sais:10:24
kroddnoMobilFATAL: kernel too old10:24
kroddnoMobilSpeicherzugriffsfehler10:24
kroddnoMobilGeofftheMedio: its impossible as long as i do not upgrade my server to debian lenny10:25
GeofftheMedioMemory access error10:25
kroddnoMobilbut i could run it at home and do some port forwardings in my router10:25
GeofftheMediowhy do you prefer the older os on your server...?10:25
kroddnoMobilIts a virtual server, i cannot upgrade10:26
GeofftheMedioI don't know what that means10:26
kroddnoMobilthe other server i don't want to upgrade to an unstable version10:26
GeofftheMediomkay10:26
kroddnoMobilIt means that its not real hardware, but a virtual machine running some special kernel which is provided by the hoster10:27
kroddnoMobilfreeoriond runs fine at home10:27
GeofftheMediookay10:27
GeofftheMedioso anyway...10:27
kroddnoMobilwait10:28
GeofftheMediothe host player "owns" the game, I think... can save controls the game settings at start10:28
GeofftheMediobut otherwise is a regular player10:28
GeofftheMedioI didn't write any of the networking stuff, so I'm not entirely sure about this10:28
kroddnoMobili'll be home in 8 hours, if you are online then, whe easily can give it a try :-)10:30
GeofftheMedioI might be asleep or out.  we'll see.10:30
kroddnoMobili can start freeoriond over ssh, but for now I am not able to configure my firewall to forward the ports accordingly10:31
GeofftheMediomakes sense.10:31
*** malumalu has joined #freeorion10:32
GeofftheMediodid you still want to talk about potential server changes?10:34
kroddnoMobilI did manage to get connected to my router over ssh :-)10:37
GeofftheMediocongratulations?10:38
kroddnoMobilYeah10:38
kroddnoMobilin some minutes you can connect to my freeoriond10:38
GeofftheMedioip?10:38
kroddnoMobilmom10:39
*** hagish has joined #freeorion10:44
kroddnoMobilokay, to complicated :-(10:47
kroddnoMobilfor some reasons, port forwarding does not work10:48
kroddnoMobilforget this for now10:48
GeofftheMediocan do10:48
kroddnoMobilcu11:48
kroddnoMobilmaybe until tonight :-)11:48
GeofftheMediobye11:48
*** kroddnoMobil has quit IRC11:49
*** mithro has quit IRC12:38
*** GeofftheMedio has quit IRC16:06
*** GeofftheMedio has joined #freeorion17:31
*** ChanServ sets mode: +o GeofftheMedio17:31
*** malumalu has quit IRC18:26
*** GeoffTheMedio2 has joined #freeorion19:13
*** GeofftheMedio has quit IRC19:25
*** mithro has joined #freeorion20:07
*** mithro has quit IRC20:12
*** mithro_ has joined #freeorion20:13
*** hagish has quit IRC20:20
*** ChanServ sets mode: +o GeoffTheMedio222:10
*** mithro_ has quit IRC22:26
*** mithro has joined #freeorion23:11
*** STalKer-X has quit IRC23:41
*** STalKer-X has joined #freeorion23:41

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