Peer to peer rather than server-based connection
Moderator: Moderators
Peer to peer rather than server-based connection
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.
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.
- clericvash
- Posts: 1394
- Joined: 05 Oct 2004, 01:05
Re: Peer to peer rather than server-based connection
Aside from having to greatly rework Spring's network code, P2P connections would have the added disadvantage of every player requiring NAT traversal.

I do believe you just invented the autohostCaydr 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.

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.
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.
- very_bad_soldier
- Posts: 1397
- Joined: 20 Feb 2007, 01:10
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.
In addition this would have the advantage to get a real dedicated server application.
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).
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).
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.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?
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.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.
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.
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).
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).
"and auto-quit when it's over", the important bit, is not accomplished by alt-tab afaik.zwzsg wrote: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.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.
-
- Posts: 1
- Joined: 03 Jul 2007, 10:46