*** tpb has joined #freeorion | 00:00 | |
*** mithro has quit IRC | 01:15 | |
*** kroddnoMobil has joined #freeorion | 01:59 | |
kroddnoMobil | GeofftheMedio: 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 |
---|---|---|
kroddnoMobil | Another 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 OSs | 02:30 |
kroddnoMobil | accu will fail, iÄll be back later | 02:39 |
*** kroddnoMobil has quit IRC | 02:39 | |
*** kroddnoMobil has joined #freeorion | 02:55 | |
*** kroddnoMobil has quit IRC | 03:57 | |
*** schmichael has quit IRC | 03:57 | |
*** GeofftheMedio has quit IRC | 03:57 | |
*** hagish has joined #freeorion | 03:57 | |
*** kroddnoMobil has joined #freeorion | 03:58 | |
*** GeofftheMedio has joined #freeorion | 03:58 | |
*** schmichael has joined #freeorion | 03:58 | |
GeofftheMedio | kroddn: the server process already is dedicated... | 04:45 |
GeofftheMedio | launching a single player game starts up a separate server process which communicates with the client and AIs | 04:45 |
GeofftheMedio | you can also pre-start the server binary and run the client with --force-external-server | 04:46 |
GeofftheMedio | freeorion 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 know | 04:47 |
*** GeoffTheMedio2 has joined #freeorion | 05:07 | |
*** ChanServ sets mode: +o GeoffTheMedio2 | 05:07 | |
GeoffTheMedio2 | if you have something in particular you'd want to add to the server, it could be useful, though | 05:09 |
*** GeofftheMedio has quit IRC | 05:19 | |
*** hagish has quit IRC | 05:36 | |
kroddnoMobil | GeoffTheMedio2: 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 play | 05:41 |
kroddnoMobil | and of course you have no possibility to configure anything | 05:42 |
GeoffTheMedio2 | ah, well that might be something to add then | 05:42 |
GeoffTheMedio2 | I think --force-dedicated-server only works for starting single player games, where the host is at localhost | 05:42 |
GeoffTheMedio2 | for multiplayer games, I don't know if pre-running the server would work or not... | 05:43 |
GeoffTheMedio2 | I suppose it would also be useful if the server had an interface while the game was running | 05:43 |
GeoffTheMedio2 | I 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 do | 05:45 |
GeoffTheMedio2 | to make it possible to run a server that accepts incoming multiplayer connections and is launched separately from the client | 05:46 |
GeoffTheMedio2 | you could perhaps make a new client type - game admin - that isn't a player, and acts as host, and provides an interface to the server | 05:47 |
kroddnoMobil | the "Host player" is currently the player, if I understood the code right | 05:48 |
GeoffTheMedio2 | not "the" player... there can be multiplayer games where one player is the host and the other isn't | 05:48 |
GeoffTheMedio2 | probably it's enough to make the server accept incoming new game connections after it's started | 05:49 |
kroddnoMobil | yes, but that nothing else then "the" player starts a freeoriond | 05:49 |
GeoffTheMedio2 | unless 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 client | 05:51 |
GeoffTheMedio2 | or rather, even if the *server* isn't on the same machine as the host player's client | 05:52 |
GeoffTheMedio2 | if 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 it | 05:54 |
GeoffTheMedio2 | anyway, 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 |
GeoffTheMedio2 | since it does accept incoming HostSPGame messages... | 05:59 |
GeoffTheMedio2 | have a look in humanclientapp.cpp | 06:00 |
GeoffTheMedio2 | in NewSinglePlayerGame and MultiplayerGame | 06:00 |
GeoffTheMedio2 | for single player, it checks if the --force-external-server option is set, but it doesn't for MP | 06:01 |
GeoffTheMedio2 | might be able to do something about that | 06:01 |
GeoffTheMedio2 | oh, wait... it does check that in MultiplayerGame ... it's hidden a bit lower after the connect dialog is created | 06:02 |
GeoffTheMedio2 | hmm... ok, so I just got a multiplayer external server to work | 06:08 |
GeoffTheMedio2 | started freeoriond in one console window | 06:08 |
GeoffTheMedio2 | started freeorion --force-external-server in another, and started an MP game as host | 06:08 |
GeoffTheMedio2 | started freeorion in another window, and joined an mp game at localhost | 06:09 |
GeoffTheMedio2 | everything proceeded as normal | 06:09 |
*** mithro has joined #freeorion | 06:23 | |
*** mithro has quit IRC | 06:36 | |
*** mithro has joined #freeorion | 06:37 | |
*** GeofftheMedio has joined #freeorion | 09:09 | |
*** GeoffTheMedio2 has quit IRC | 09:21 | |
kroddnoMobil | GeofftheMedio: what does the "host" player technically do? | 10:13 |
kroddnoMobil | Is it only the settings he will be able to configure, or does he do more? | 10:13 |
GeofftheMedio | creates 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 |
kroddnoMobil | The last time i tried to run freeoriond on a server it would not work because it complained about a missing display :-( | 10:14 |
GeofftheMedio | hmm... can you tell it to redirect stdout and stderr to /dev/null or somesuch? | 10:14 |
GeofftheMedio | it doesn't use any "display" besides text | 10:15 |
kroddnoMobil | okay, 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 server | 10:15 |
GeofftheMedio | on the console | 10:15 |
kroddnoMobil | I know that he does not use a display, but it checks for it and crashes if not found | 10:15 |
kroddnoMobil | Maybe my static version will work, because it now does not any more depend on libGL | 10:15 |
GeofftheMedio | english tip: where you're using "he" you want "it" | 10:16 |
kroddnoMobil | jo jo | 10:17 |
kroddnoMobil | YOU used the "he" :-) | 10:17 |
GeofftheMedio | I wonder why it's checking for a display... and what's making it do that | 10:17 |
GeofftheMedio | if I did, it was probablya typo of "the" | 10:17 |
kroddnoMobil | thats the problem with all those dependencies linked into | 10:17 |
GeofftheMedio | do you link each binary with only the dependencies it needs, or do you link all the dependencies to all three binaries? | 10:18 |
kroddnoMobil | but as i said, maybe THIS problem has gone | 10:18 |
kroddnoMobil | Of course i only link with the needed ones | 10:18 |
kroddnoMobil | as i link them statically :-) | 10:18 |
GeofftheMedio | btw, if you have an internet-accessible server with a freeoriond process running, I'd like to try connecting to it | 10:18 |
*** ChanServ sets mode: +o GeofftheMedio | 10:19 | |
kroddnoMobil | hm | 10:19 |
kroddnoMobil | i'll have to change the firewall | 10:19 |
kroddnoMobil | which oort is it? | 10:19 |
kroddnoMobil | /tmp/freeorion/application$ ./freeoriond | 10:20 |
kroddnoMobil | terminate 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 error | 10:20 |
kroddnoMobil | Aborted | 10:20 |
kroddnoMobil | does not work :-( | 10:20 |
kroddnoMobil | freeoriond does not have ANY dependencies :-) - wow, i got it linked 100% statically *g* | 10:20 |
GeofftheMedio | I think it's 12345 or 12346 ... sec | 10:21 |
kroddnoMobil | we will try that after i get freeoriond up to run without a display | 10:21 |
GeofftheMedio | discovery port is 12345 and message port is 12346 | 10:21 |
GeofftheMedio | can you trace to that error? | 10:22 |
kroddnoMobil | not now, I am on business travel :-) | 10:22 |
GeofftheMedio | hmm | 10:22 |
kroddnoMobil | okay, the problem is not the display | 10:23 |
kroddnoMobil | my OS on the root server is to old to run it | 10:23 |
GeofftheMedio | is that going to be difficult or impossible to fix? | 10:24 |
kroddnoMobil | lol | 10:24 |
kroddnoMobil | another root server sais: | 10:24 |
kroddnoMobil | FATAL: kernel too old | 10:24 |
kroddnoMobil | Speicherzugriffsfehler | 10:24 |
kroddnoMobil | GeofftheMedio: its impossible as long as i do not upgrade my server to debian lenny | 10:25 |
GeofftheMedio | Memory access error | 10:25 |
kroddnoMobil | but i could run it at home and do some port forwardings in my router | 10:25 |
GeofftheMedio | why do you prefer the older os on your server...? | 10:25 |
kroddnoMobil | Its a virtual server, i cannot upgrade | 10:26 |
GeofftheMedio | I don't know what that means | 10:26 |
kroddnoMobil | the other server i don't want to upgrade to an unstable version | 10:26 |
GeofftheMedio | mkay | 10:26 |
kroddnoMobil | It means that its not real hardware, but a virtual machine running some special kernel which is provided by the hoster | 10:27 |
kroddnoMobil | freeoriond runs fine at home | 10:27 |
GeofftheMedio | okay | 10:27 |
GeofftheMedio | so anyway... | 10:27 |
kroddnoMobil | wait | 10:28 |
GeofftheMedio | the host player "owns" the game, I think... can save controls the game settings at start | 10:28 |
GeofftheMedio | but otherwise is a regular player | 10:28 |
GeofftheMedio | I didn't write any of the networking stuff, so I'm not entirely sure about this | 10:28 |
kroddnoMobil | i'll be home in 8 hours, if you are online then, whe easily can give it a try :-) | 10:30 |
GeofftheMedio | I might be asleep or out. we'll see. | 10:30 |
kroddnoMobil | i can start freeoriond over ssh, but for now I am not able to configure my firewall to forward the ports accordingly | 10:31 |
GeofftheMedio | makes sense. | 10:31 |
*** malumalu has joined #freeorion | 10:32 | |
GeofftheMedio | did you still want to talk about potential server changes? | 10:34 |
kroddnoMobil | I did manage to get connected to my router over ssh :-) | 10:37 |
GeofftheMedio | congratulations? | 10:38 |
kroddnoMobil | Yeah | 10:38 |
kroddnoMobil | in some minutes you can connect to my freeoriond | 10:38 |
GeofftheMedio | ip? | 10:38 |
kroddnoMobil | mom | 10:39 |
*** hagish has joined #freeorion | 10:44 | |
kroddnoMobil | okay, to complicated :-( | 10:47 |
kroddnoMobil | for some reasons, port forwarding does not work | 10:48 |
kroddnoMobil | forget this for now | 10:48 |
GeofftheMedio | can do | 10:48 |
kroddnoMobil | cu | 11:48 |
kroddnoMobil | maybe until tonight :-) | 11:48 |
GeofftheMedio | bye | 11:48 |
*** kroddnoMobil has quit IRC | 11:49 | |
*** mithro has quit IRC | 12:38 | |
*** GeofftheMedio has quit IRC | 16:06 | |
*** GeofftheMedio has joined #freeorion | 17:31 | |
*** ChanServ sets mode: +o GeofftheMedio | 17:31 | |
*** malumalu has quit IRC | 18:26 | |
*** GeoffTheMedio2 has joined #freeorion | 19:13 | |
*** GeofftheMedio has quit IRC | 19:25 | |
*** mithro has joined #freeorion | 20:07 | |
*** mithro has quit IRC | 20:12 | |
*** mithro_ has joined #freeorion | 20:13 | |
*** hagish has quit IRC | 20:20 | |
*** ChanServ sets mode: +o GeoffTheMedio2 | 22:10 | |
*** mithro_ has quit IRC | 22:26 | |
*** mithro has joined #freeorion | 23:11 | |
*** STalKer-X has quit IRC | 23:41 | |
*** STalKer-X has joined #freeorion | 23:41 |
Generated by irclog2html.py 2.5 by Marius Gedminas - find it at mg.pov.lt!