#pragma once #include namespace FRG { struct CampaignConfig; struct LocationConfig; // Graphics-free administrative lifecycle used by local and standalone hosts. class IGameServerLifecycle { public: virtual ~IGameServerLifecycle() = default; virtual void startCampaign( const CampaignConfig& campaign, const std::string& zipFile, bool createLocalPlayer, bool enableTestBot) = 0; virtual bool prepareLocation(const LocationConfig& config) = 0; virtual void activateLocation(const std::string& locationId) = 0; }; } // namespace FRG