Network Play: Ping Feature
Moderator: Forum Moderators
Forum rules
Before posting a new idea, you must read the following:
Before posting a new idea, you must read the following:
-
- Posts: 57
- Joined: February 26th, 2005, 9:26 am
Network Play: Ping Feature
I think we should have a 'ping' feature, where any player can ping another network player (through the game server) to check if that computer is still connected to the game server. Sometimes we don't know if someone stops moving because he/she is away or because the network is down on their side.
I'm posting this here because I think that this is a "server development", but it might be better off in the Ideas forum.
I have checked the Wiki over here http://www.wesnoth.org/wiki/CommandMode but have found no command to ping another player.
I'm posting this here because I think that this is a "server development", but it might be better off in the Ideas forum.
I have checked the Wiki over here http://www.wesnoth.org/wiki/CommandMode but have found no command to ping another player.
- irrevenant
- Moderator Emeritus
- Posts: 3692
- Joined: August 15th, 2005, 7:57 am
- Location: I'm all around you.
Does Wesnoth keep track of connect status? If so, (or even if it doesn't!) it seems like it would be easier all round for Wesnoth to automatically report when a dropout occurs. eg. "Network unable to connect to player Irrevenant".
(and presumably) "Network connection to player Irrevenant has resumed".
That way:
(a) The player doesn't have to know about and use the 'ping' function.
(b) The developers don't have add and maintain a ping option and associated parameters.
(c) It 'just works' which is a good UI principle in general.
(and presumably) "Network connection to player Irrevenant has resumed".
That way:
(a) The player doesn't have to know about and use the 'ping' function.
(b) The developers don't have add and maintain a ping option and associated parameters.
(c) It 'just works' which is a good UI principle in general.
Want to post a Wesnoth idea? Great! Read these:
Frequently Posted Ideas Thread
Giving your idea the best chance of acceptance
Frequently Posted Ideas Thread
Giving your idea the best chance of acceptance
The server already tells the host about players that disconnected and/or left the game.
In newer versions it also gives a server message informing everyone in the game. Afaik none of the currently running official servers do that though. You're informed the same way about kicks and bans btw.
Nevertheless a 'heartbeat' feature (periodical ping) is probably a good idea and has been talked about before but not implemented yet.
In newer versions it also gives a server message informing everyone in the game. Afaik none of the currently running official servers do that though. You're informed the same way about kicks and bans btw.
Nevertheless a 'heartbeat' feature (periodical ping) is probably a good idea and has been talked about before but not implemented yet.
"If gameplay requires it, they can be made to live on Venus." -- scott
The main problem is the structure of the network code lacking a 'heartbeat'. This means the server only knows a client has disconnected abnormally when it actually times out, which can take many minutes.
A big portion of the problem is the way our modal dialogs work. If you're in a network game, and you open a dialog box, the game won't process or respond to any incoming network traffic until you close the dialog box. This means that if we had a ping feature it wouldn't be terribly useful now, because the response might be delayed indefinitely simply because the remote player is in a dialog box of some kind.
Resolving this has been on our 'to do' list since before 1.0. Any coders who want to do it (and have the technical skills to do it...it's a little complicated) are welcome to try.
David
A big portion of the problem is the way our modal dialogs work. If you're in a network game, and you open a dialog box, the game won't process or respond to any incoming network traffic until you close the dialog box. This means that if we had a ping feature it wouldn't be terribly useful now, because the response might be delayed indefinitely simply because the remote player is in a dialog box of some kind.
Resolving this has been on our 'to do' list since before 1.0. Any coders who want to do it (and have the technical skills to do it...it's a little complicated) are welcome to try.
David
“At Gambling, the deadly sin is to mistake bad play for bad luck.” -- Ian Fleming