#pragma once class IGameServerInstance { public: virtual ~IGameServerInstance() = default; // lifetime control virtual bool Initialize() = 0; virtual void Shutdown() = 0; virtual bool IsListening() = 0; virtual bool IsRunning() = 0; // update the server logic virtual void Update() = 0; };