// Private, backend-disabled experiment; never part of the published addon. modded class ArmaReforgerScripted { protected float m_ERRRegistrationProbeWait; protected bool m_ERRRegistrationProbeStarted; override void OnUpdate(BaseWorld world, float timeslice) { super.OnUpdate(world, timeslice); if (m_ERRRegistrationProbeStarted || !GetWorld() || !GetGameMode()) return; m_ERRRegistrationProbeWait += timeslice; if (m_ERRRegistrationProbeWait < 5 || GameStateTransitions.IsTransitionRequestedOrInProgress()) return; m_ERRRegistrationProbeStarted = true; DSConfig config = new DSConfig(); bool hasRunning = GetBackendApi().GetRunningDSConfig(config); PrintFormat("ERR REGISTRATION PROBE: runningConfig=%1 gameConfig=%2 current=%3", hasRunning, config.game != null, GetWorldFile()); config.bindAddress = "127.0.0.1"; config.bindPort = 2001; config.game = new DSGameConfig(); config.game.name = "Private registration probe"; config.game.scenarioId = "{C1E20667DCE324ED}Missions/ERR_Everon.conf"; config.game.maxPlayers = 1; config.game.visible = false; config.game.password = "isolated-test"; config.game.gameProperties = new DSGameProperties(); config.game.gameProperties.battlEye = false; config.game.mods = {}; foreach (string id : {"2528466DE220D91C", "70C981A53E02B64F"}) { DSMod mod = new DSMod(); mod.modId = id; config.game.mods.Insert(mod); } bool accepted = GameStateTransitions.RequestPublicServerTransition(config); PrintFormat("ERR REGISTRATION PROBE: publicTransitionFromGameplay=%1", accepted); if (!accepted) Print("ERR REGISTRATION PROBE COMPLETE: transition rejected"); } override bool OnGameStart() { PrintFormat("ERR REGISTRATION PROBE: worldStarted=%1", GetWorldFile()); return super.OnGameStart(); } }