License: running server keeps running until the next restart
The configurable LicenseGraceHours setting is gone. If the master is down or rejects the key, a running server now only warns and keeps running until the next restart; a (re)start still works up to 72 h after the last confirmation. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+2
-10
@@ -171,14 +171,6 @@ public sealed class ServerHost
|
||||
Server = null;
|
||||
|
||||
if (server.ExitRequested) break;
|
||||
if (server.LicenseStopReason != null)
|
||||
{
|
||||
// Lizenz zu lange nicht bestätigt: regelmäßig neu versuchen - startet von selbst, sobald der Master wieder bestätigt
|
||||
SetState(HostState.Error, server.LicenseStopReason);
|
||||
startRequested = true;
|
||||
startAt = DateTime.UtcNow + LicenseRetryDelay;
|
||||
continue;
|
||||
}
|
||||
if (server.RestartRequested)
|
||||
{
|
||||
GameServer.Log("Restarting the server ...");
|
||||
@@ -269,14 +261,14 @@ public sealed class ServerHost
|
||||
else
|
||||
{
|
||||
// Master nicht erreichbar oder lehnt ab: mit der letzten Bestätigung starten, solange sie frisch genug ist
|
||||
var grace = TimeSpan.FromHours(Math.Clamp(Config.LicenseGraceHours, 1, 24 * 30));
|
||||
var grace = LicenseCache.Grace;
|
||||
var cached = LicenseCache.Load(dataDir, Config.LicenseKey);
|
||||
string problem = key.Unreachable ? $"Master server not reachable ({key.Error})" : "License key rejected: " + (key.Error ?? "unknown key");
|
||||
if (cached != null && DateTime.UtcNow - cached.LastConfirmedUtc < grace)
|
||||
{
|
||||
var left = grace - (DateTime.UtcNow - cached.LastConfirmedUtc);
|
||||
GameServer.Log($"WARNING: {problem} - starting with the license confirmed {LicenseCache.Span(DateTime.UtcNow - cached.LastConfirmedUtc)} ago " +
|
||||
$"(owner {cached.Owner}). The server keeps running for {LicenseCache.Span(left)} unless the master confirms it again.");
|
||||
$"(owner {cached.Owner}). The server keeps running until the next restart; a restart works for {LicenseCache.Span(left)} more.");
|
||||
owner = cached.Owner ?? "?";
|
||||
confirmed = cached.LastConfirmedUtc;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user