Files
EscapistsReintroduced/docs/evidence/telemetry-dedicated-name-2026-11-01/native-probe.c
T
2026-11-01 19:49:47 +01:00

35 lines
1.4 KiB
C

#ifdef WORKBENCH
modded class ERR_GameMode
{
protected override void StartScenario() {}
protected override void EOnInit(IEntity owner)
{
super.EOnInit(owner);
if (!SCR_Global.IsEditMode()) GetGame().GetCallqueue().CallLater(ServerNameProbe, 8000, false);
}
void ServerNameProbe()
{
if (ERR_TelemetryServerName.Resolve(" Manual name ") != "Manual name") { Print("ERR SMOKE FAIL: server name override", LogLevel.ERROR); return; }
string expected;
BackendApi backend = GetGame().GetBackendApi();
SCR_DSConfig dedicated = new SCR_DSConfig();
bool runningConfig = backend && backend.GetRunningDSConfig(dedicated);
if (runningConfig && dedicated.game) expected = dedicated.game.name;
expected.TrimInPlace();
ServerConfig config = ServerLobbyApi.GetServerConfig();
if (expected.IsEmpty() && config) expected = config.GetName();
expected.TrimInPlace();
if (expected.IsEmpty())
{
ServerInfo info = GetGame().GetServerInfo();
if (info) expected = info.GetName();
expected.TrimInPlace();
}
if (expected.Length() > 120) expected = expected.Substring(0, 120);
if (ERR_TelemetryServerName.Resolve("") != expected) { Print("ERR SMOKE FAIL: native server metadata resolution", LogLevel.ERROR); return; }
PrintFormat("ERR SMOKE PASS: native server-name API and override; runningDedicatedConfig=%1 serverConfigPresent=%2 resolvedLength=%3", runningConfig, config != null, expected.Length());
Print("ERR SMOKE COMPLETE: server-name");
}
}
#endif