Open Hill-98 opened 5 months ago
I'm curious on the timing of the OpponentMatchTimeout messages. In Vanilla, server maintenance always takes many hours so no person would ever leave the client running for that long, but Cheyenne maintenance cycles can be significantly shorter, enough that leftover timers could still be running.
In a game, the client sends OpponentMatchTimeOut based on a timer task started upon receipt of each message. When a new message is received, the previous task is cancelled and a new one started. It may be possible that one of these is left over for whatever reason and randomly sends OpponentMatchTimeOut when the timer eventually expires.
Question time! Were affected players experiencing this bug...
You may not know the answer to all of these questions, but each answer you do provide allows me to form a working theory.
I'm not sure about the third question because I'm using Visual Studio's "Restart" button in a development environment.
The game client will send an
OpponentMatchTimeOut
message to the server under certain circumstances. But the timer didn't time out.I'm not sure under what circumstances the game will send it, but if the game client is on HOME and then the server is restarted, it will most likely keep sending
OpponentMatchTimeOut
in the next game.When I implemented the timer myself before, I completely ignored the processing of
OpponentMatchTimeOut
andOpponentOperationTimeOut
messages. Instead, I manually checked the remaining game time after each message was processed.