It occurs quite often that players change their mind on the gamesettings in the same moment when the host clicks on start game.
This yields a Net Client error message and this is often reported as a bug.
There is no reason to have that error message and it should just be dropped.
Notice it is very unlikely that someone clicks on ready while the host has already finished loading the game, so that transition doesn't seem necessary.
Details
Details
- Reviewers
Imarok - Commits
- rP19404: Don't throw NetServer FSM errors if a client presses not-ready just before the…
- Trac Tickets
- #3199
- Add a LOGWARNING("TOO LATE\n"); to that new early return
- Start a networked gamesetup
- Join with a second client via global IP address
- Click twice on the ready button to stay ready
- Simulate 5 second ping on that connection using setlag 5000
- Notice the host starts the game 5 seconds sooner and shows that debug message while not showing the error message
function setlag() { for device in "eth0"; do sudo tc qdisc del dev $device root netem; if [ $1 -ne 0 ]; then sudo tc qdisc add dev $device root netem delay ${1}ms; fi done }
Diff Detail
Diff Detail
- Repository
- rP 0 A.D. Public Repository
- Lint
Automatic diff as part of commit; lint not applicable. - Unit
Automatic diff as part of commit; unit tests not applicable.
Event Timeline
Comment Actions
Build is green
Updating workspaces. Build (release)... Build (debug)... Running release tests... Running cxxtest tests (305 tests).................................................................................................................................................................................................................................................................................................................OK! Running debug tests... Running cxxtest tests (305 tests).................................................................................................................................................................................................................................................................................................................OK!
http://jw:8080/job/phabricator/692/ for more details.
Comment Actions
(An alternative approach might be not changing the Server but changing the clients to show a warning. Might give some indication that a player wanted to change something. But on the other side, do we care? We won't know what he wanted until he speaks up in the chat. That notification might have to be translated too.)
Comment Actions
As pointed out by Imarok, remove the first hunk which was pointless, unneeded with regards to fixing the problem and added a safety check for rejoining clients.
Comment Actions
Build is green
Updating workspaces. Build (release)... Build (debug)... Running release tests... Running cxxtest tests (305 tests).................................................................................................................................................................................................................................................................................................................OK! Running debug tests... Running cxxtest tests (305 tests).................................................................................................................................................................................................................................................................................................................OK!
http://jw:8080/job/phabricator/715/ for more details.