Set up basic deterministic lockstep

This commit is contained in:
Vladislav Khorev committed 2026-11-05 23:02:53 +06:00
1 parent 28c6e83eda
commit 23fef6f349
26 files changed
+1172 -239

No files matched your search

+5
View File
@@ -23,6 +23,9 @@ public:
void update(std::int64_t deltaMs) override;
void save(nlohmann::json& out) const override;
void load(const nlohmann::json& in) override;
void setLocalPlayerId(std::string playerId) {
localPlayerId_ = std::move(playerId);
}
void startCampaign(
const CampaignConfig& campaign, const std::string& zipFile,
bool createLocalPlayer, bool enableTestBot) override;
@@ -32,6 +35,7 @@ public:
private:
friend class LocalGameServerHost;
friend class RemoteGameServerHost;
friend class WebsocketGameClient;
// Host-only lifecycle operations. They never expose authoritative state and
// are intentionally absent from IGameServer.
@@ -49,6 +53,7 @@ private:
GameState state_;
std::string localPlayerId_ = "player";
std::string resourceZipFile_;
std::vector<std::string> networkPlayerSlots_;
std::int64_t battleZoneTestBotElapsedMs_ = 0;
bool battleZoneTestBotEnabled_ = false;
std::string pendingSimulationLocationId_;