Page 1 of 1
Peer to peer rather than server-based connection
Posted: 24 Jun 2007, 18:27
by Caydr
Do you think something like this would be in the cards in the future? It'd eliminate that problem where the idiot host that gets himself killed decides he doesn't want to wait around and just leaves.
Hosting a game seems to bring with it an added chance of winning - nobody in a large game would be smart to rush the host, for instance, unless they're a very reputable person with more than one computer.
If peer-to-peer connections aren't possible, does the game work well when minimized, if only for hosting purposes? A host might be more willing to let the game run if he can hit a button that says "Minimize game and auto-quit when it's over", something like that. This would be especially good since I imagine that doing nothing but communicating, no rendering, would allow the host to run his computer at around 90% efficiency or so, even while playing another game.
If I was hosting a game, I'm a decent enough person that I'd let it continue to run if I got taken out, but it would be at least a nice courtesy if the server could get back to doing something more enjoyable. Even if a good deal of his computing power is gone, that still lets him play GalCiv or something with low end requirements.
Posted: 24 Jun 2007, 18:44
by clericvash
I liked the system i beleive empire earth had, if host dropped it would just try each play to use as host, it would be a lot better!
Re: Peer to peer rather than server-based connection
Posted: 24 Jun 2007, 18:47
by Peet
Aside from having to greatly rework Spring's network code, P2P connections would have the added disadvantage of
every player requiring NAT traversal.
Caydr wrote:If peer-to-peer connections aren't possible, does the game work well when minimized, if only for hosting purposes? A host might be more willing to let the game run if he can hit a button that says "Minimize game and auto-quit when it's over", something like that. This would be especially good since I imagine that doing nothing but communicating, no rendering, would allow the host to run his computer at around 90% efficiency or so, even while playing another game.
I do believe you just invented the autohost

Posted: 24 Jun 2007, 18:59
by Caydr
AFAIK you cannot run a dedicated host as well as run a seperate instance of Spring on the same computer, the ports conflict and stuff. That's just what I heard. Is that wrong?
In any case, the ability to go from "playing" to "dedicated hosting" with the push of a button when you're the host and you die would probably increase the number of successfully completed games IMO. If you can just minimize it, that's good, but remember many people wouldn't know a minimize button from a close button, and wouldn't know how to minimize something that's fullscreen.
Posted: 24 Jun 2007, 19:20
by very_bad_soldier
I think it would be more straightforward to correctly part the server-code from the client-code to get two independent applications. So the server-app is a very lightweight app which continues to run even if the host quits its client.
In addition this would have the advantage to get a real dedicated server application.
Posted: 24 Jun 2007, 19:26
by Caydr
That sounds good.
Posted: 24 Jun 2007, 19:50
by Tobi
P2P isn't going to happen any time soon if it's up to me, but very_bad_soldier is right to the point, that is the kind of stuff I'd like to get done some time, but unfortunately I lack the time to make real progress on that kind of stuff...
Then the dedicated server would be extremely lightweight (the server isn't really much more then a multicast deamon with some speed calculations and spoofing checks): You could probably easily run 50 of them on each UF server wrt bandwidth and CPU (there may be scheduling latencies with so many active processes on a single core CPU though).
Posted: 24 Jun 2007, 20:30
by Peet
Caydr wrote:AFAIK you cannot run a dedicated host as well as run a seperate instance of Spring on the same computer, the ports conflict and stuff. That's just what I heard. Is that wrong?
Quite incorrect...properly configured springies can be run parallel, a friend of mine ran 3 and was still able to play spring with all of them running. There can be issues with playing in your own autohost however.
Posted: 25 Jun 2007, 13:51
by zwzsg
A host might be more willing to let the game run if he can hit a button that says "Minimize game and auto-quit when it's over", something like that.
Alt-Tab works well enough for me. It happened to me quite a few time to have even forgotten a minimised Spring until I tried to launch a new Spring. I was hoping that people who play Spring are nerd enough to know the standard Windows commands.
I remember a thread where you said you had some issue with alt-tab, but if so just ask to get it fixed not to have it all reinvented with a new button. Plus, standard shortcuts > custom buttons.
If the networking system of Spring was changed into P2P, that would be a major downgrade, since everybody behind routers, that is, the vast majority of players, would suddendly be unable to play any game anymore.
Posted: 25 Jun 2007, 17:08
by Licho
I used to run 2 springies and play on them or host from tas client on the same PC without problems. Biggest problem for me was CPU load (single core 2500 amd).
Just make sure springie is using different port than tas client if you want to run springie and host another game from tas client.
T1 deadeye and sir click a lot used to do the same (running springies and playing on them).
Posted: 25 Jun 2007, 21:46
by vraa
I run windowed mode, I do not run into any issues regarding alt+tabbing.
Posted: 25 Jun 2007, 21:57
by Caydr
zwzsg wrote:A host might be more willing to let the game run if he can hit a button that says "Minimize game and auto-quit when it's over", something like that.
Alt-Tab works well enough for me. It happened to me quite a few time to have even forgotten a minimised Spring until I tried to launch a new Spring. I was hoping that people who play Spring are nerd enough to know the standard Windows commands.
"and auto-quit when it's over", the important bit, is not accomplished by alt-tab afaik.
Posted: 03 Jul 2007, 10:52
by uranium235
Having shift+esc as an instant quit for the host is a terrible idea, because I see new hosts making that mistake when they want to resign (I made the same mistake when I was new).
Anyway, sometimes I take out the host first because if he quits I count it as a win. :D