Page 2 of 2
Posted: 03 Jul 2006, 19:30
by Sean Mirrsen
I don't know anything about how the networking is done in Spring, but maybe the game would attempt to initialize a server when joining a game, and would leave it in suspended mode until a time comes when a new host would be needed. If the host left the normal way, it could send over the needed parameters to another client so it would become the server. If the host just crashed, the remaining players would each attempt to become a server (in order defined at game's start) and resume the game according to info received from other players.
Posted: 03 Jul 2006, 19:46
by Acidd_UK
Tobi wrote:
Also it could be a problem that certain people can host and others can't. Spring would need to know beforehand who can, because otherwise when changing hosts it can get stuck in waiting for timeouts for inconveniently long times.
If everyone tried connecting to everyone else at the same time, then you could effictively mask these timeouts in parallel - so if it timed out it would be because there was no suitable host. That is, the first player to be able to establish a connection to everyone would become the new host. You could then add a 15 second grace period so that several suitable hosts were found and the 'most suitable' then chosen (by cpu or whatever).
IMAGINE MUCH MORE
Posted: 04 Jul 2006, 09:58
by oldsergey
Imagine that everyone is hosts. Which means you click - send units and your command is translated not only to host, but also "directly" to all other players.
I use "directly"becouse if you can't connect some of players - you comunicate it - and just can send it via players which can connect them.
That illuminates problem of host leaving, that also eluminates heavy bandwich on host, that eluminates high pings -now we are sending information to host, then host send to other players which gratly increase pings.
All of it can change game dramaicly - less pings- more units, speadyy games.
Posted: 04 Jul 2006, 14:02
by Acidd_UK
If you had one player that couldn't directly connect to another, then there'd stil lbe the extra hop so it would be just as fast (network wise) as a server/host arrangement. Not to mention the nightmare n different game states...
Posted: 04 Jul 2006, 16:34
by Scikar
Comp1337 wrote:NECROPOST!
Oh come on, it was only on page 2.
Posted: 04 Jul 2006, 16:46
by hollowsoul
Has noone though what happens if host loses net connection or crashes out ?
I.e someone sends new order to host, host = gone before the new order is send to other client machines. Assuming ability for game to pause game & select a new host for match, there would still be a client desyned.
Need to code abiilty to resync first. Otherwise ability to choose a new host would really work (unless u get lucky) when host quits normally allowing other client to pause before host d/c (thus no player gettin desynced). And thus someone else can be a new host.
Short version, If a host gets d/c crashes most likey someone will be desynced. Need to get option to resync into game first.
And pretty sure dev's are aware of this. So if u can code help out, talking about a known problem doesnt accomplish much (IMO)
Posted: 04 Jul 2006, 21:56
by det
Forboding Angel wrote:this would be a bad idea, because many noobs who are good hosts would leave and some poor bastard with a 1.3 ghx with 256 megs of sdram would be left with the bill == not pretty.
Having a slow PC doesn't really matter as far as hosting goes. The same simulation is run on all the machines. If there is a slow player, it slows the game down for everyone reguardless of whether or not they are the host. Any extra computational resources spent hosting are insignificant compared to the game simulation.