mirror of
https://gitea.wildfiregames.com/0ad/0ad
synced 2026-06-19 23:03:56 -07:00
Observers no longer lag the game for players. There is still some time to serialise the game when sending it to a joining observer, and depending on the chosen 'max lag' the game may stop while observers sufficiently catch up, but this impact too is reduced. - Make the NetServerTurnManager ignore players marked as 'observers' for the purpose of ending a turn, effectively making it possible for observers to lag without it affecting the players in any way. - Add a config option (network.observermaxlag) that specifies how many turns behind the live game observers are allowed to be. Default to 10 turns, or 2 seconds, to keep them 'largely live'. - The controller is not treated as an observer. - Implement a simple UI to show this delay & allow the game to speed up automatically to try and catch up. This can be deactivated via network.autocatchup. - Move network options to the renamed 'Network / Lobby' options page. - Do not debug_warn/crash when receiving commands from the past - instead warn and carry on, to avoid DOS and "coop play" issues. Refs #5903, Refs #4210 Differential Revision: https://code.wildfiregames.com/D3737 This was SVN commit r25156. |
||
|---|---|---|
| .. | ||
| CmpPtr.cpp | ||
| CmpPtr.h | ||
| Component.h | ||
| ComponentManager.cpp | ||
| ComponentManager.h | ||
| ComponentManagerSerialization.cpp | ||
| Components.h | ||
| ComponentTest.h | ||
| DynamicSubscription.cpp | ||
| DynamicSubscription.h | ||
| Entity.h | ||
| EntityMap.h | ||
| IComponent.cpp | ||
| IComponent.h | ||
| Interface.h | ||
| InterfaceScripted.h | ||
| LocalTurnManager.cpp | ||
| LocalTurnManager.h | ||
| Message.h | ||
| ParamNode.cpp | ||
| ParamNode.h | ||
| ReplayTurnManager.cpp | ||
| ReplayTurnManager.h | ||
| SimContext.cpp | ||
| SimContext.h | ||
| TurnManager.cpp | ||
| TurnManager.h | ||