Closed dripton closed 12 years ago
stresstest ran 69 games in a row without a crash last night, and it's still running. So I think the problem is fixed.
Nope. It crashed after 90 games. Maybe my fixes made it rarer, or maybe I just got lucky.
Maybe 8fa14500235a10944650c3124cd447707a7c65f1 is the fix.
Ran 118 stress tests in a row without hitting this. Calling it fixed, again.
I think it's fixed as of 0593c95ffe1d0d9b401b48852ea7ec3d8c4b713f
At the end of a battle, sometimes a client disagrees with the server about the number of points the winner gained from the battle. This can result in disagreements about whether the winner can acquire an angel, which can result in hangs if the server is waiting for an Acquire or DoNotAcquire and the client isn't sending it.
I really don't like the CanAcquire and AddPoints actions, or the Game.master flag. It should be possible for the client side to independently compute how many points it earns and whether the winner can acquire angels, without being led by the nose. The only complication is that the client can't compute half points for a dead player's other legions until it knows their contents. But the server can send RevealLegion for all of the dead player's legions, and then the client can proceed with awarding half points.