Panel: German/English, redesigned sidebar, in-game admins page, Steam Web API key link, RAR/7z save upload (SharpCompress), responsive cards; upload errors return 400; tests

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-27 19:40:46 +02:00
co-authored by Claude Opus 5.5
parent c74c48dfc8
commit 8df6cbcafc
12 changed files with 700 additions and 58 deletions
+12 -1
View File
@@ -1097,6 +1097,17 @@ public sealed class GameServer
public object PanelBans() => config.BannedSteamIds.ToList();
/// <summary>Ingame-Admins (SteamID64) mit Namen, falls gerade online.</summary>
public object PanelAdmins() => new
{
steamVerification = steam.Enabled,
admins = config.Admins.Select(id =>
{
var online = clients.Values.FirstOrDefault(c => c.State == ClientState.Joined && c.SteamId == id);
return new { steamId = id, name = online?.Name, online = online != null };
}).ToList()
};
// ---------------------------------------------------------------- Stopp / Neustart (der Host startet neu oder wartet)
/// <summary>Nach dem Ende von Run() den Server neu aufbauen (Einstellungen, Lizenz, Spielstand neu laden).</summary>
@@ -1149,7 +1160,7 @@ public sealed class GameServer
/// </summary>
public string ImportSaveZip(byte[] zip, string by)
{
string error = SaveStore.ExtractZip(zip, out var found);
string error = SaveStore.ExtractArchive(zip, out var found);
if (error != null) return error;
try
{