GameAP v4.5

Eine neue Version der Plattform zur Verwaltung von Gameservern ist erschienen. Die meisten Änderungen sind technischer Natur und betreffen das Plugin-System: Über 1000 Dateien wurden geändert und mehr als 100 000 Codezeilen hinzugefügt.
Überarbeitetes Plugin-System #
Die meisten Änderungen gab es im Plugin-System: Neue Möglichkeiten sind hinzugekommen, bestehende wurden erweitert.
Neue Möglichkeiten für Plugins #
Plugins laufen in einer isolierten Umgebung und kommunizieren mit dem Panel ausschließlich über Funktionen, die das Panel (der Host) über eine interne API bereitstellt. Dieser Funktionsumfang ist gewachsen:
- Speicher für Zugangsdaten (Geheimnisse). Die Werte werden mit dem Panel-Schlüssel verschlüsselt (AES-256-GCM) und sind an ihren Besitzer gebunden: Ein Plugin kann die Geheimnisse eines anderen Plugins nicht lesen.
- SSH-Verbindungen. Gedacht für die Einrichtung neuer virtueller Server, auf denen GameAP Daemon noch nicht installiert ist.
Damit lassen sich dedizierte Server in Ihrer Infrastruktur automatisch hinzufügen und konfigurieren.
Das SSH-Modul ist standardmäßig deaktiviert; ein Administrator aktiviert es über die Umgebungsvariable
PLUGINS_SSH_ENABLED. - Erweiterte Dateioperationen auf dedizierten Servern: Große Dateien werden stückweise gelesen, und Dateien werden direkt an den Browser gestreamt, ohne in den Speicher des Plugins geladen zu werden.

Installieren und Aktualisieren von Plugins #
- Ein Plugin kann aus einer lokalen Datei aktualisiert werden. Vor der Installation zeigt das Panel die Beschreibung des Plugins und die angeforderten Berechtigungen an, ohne etwas zu installieren.
- Bei einem Update bleiben die Daten, Einstellungen und zuvor erteilten Berechtigungen des Plugins erhalten. Berechtigungen werden nie automatisch erweitert.
- Plugins, die sich beenden, werden automatisch neu gestartet.
- Läuft das Panel in mehreren Instanzen, wird der Zustand der Plugins automatisch zwischen ihnen synchronisiert.
Kompatibilität #
Die Abwärtskompatibilität wird automatisch geprüft: Plugins, die für frühere Panel-Versionen gebaut wurden, funktionieren auch in der neuen weiter.
Die Umgebungsvariablen PLUGIN_* wurden in PLUGINS_* umbenannt. Die alten Namen funktionieren vorerst weiterhin,
bei ihrer Verwendung wird jedoch eine Warnung ins Log geschrieben.
Mehr Stellen für Plugins in der Oberfläche #
Die Zahl der Stellen in der Oberfläche, an denen ein Plugin seine Komponente einbinden kann, ist von 6 auf 20 gestiegen: die Kopfzeile, die Seitenleiste, die Serverseite, die Serverliste, das Benutzerprofil und die Administrationsformulare.
Update des Dateimanagers #
Der Dateimanager hat viele große Änderungen und neue Funktionen erhalten.
Verlauf von Dateien und Verzeichnissen #
Das Panel merkt sich die besuchten Verzeichnisse und geöffneten Dateien. Der Verlauf wird nur in Ihrem Browser gespeichert und nirgendwohin übertragen. Er führt zwei Arten von Listen:
- Häufig verwendet. Die Dateien, die Sie am häufigsten bearbeiten.
- Zuletzt verwendet. Die Dateien und Verzeichnisse, die Sie zuletzt aufgerufen haben.

Suche im aktuellen Verzeichnis #
Sie können eine Datei oder ein Verzeichnis im gerade geöffneten Verzeichnis schnell finden. Es gibt mehrere Wege, eine Suche zu starten:
- Auf die Lupen-Schaltfläche in der Symbolleiste des Dateimanagers klicken
- STRG+F im Browser drücken
- Einfach anfangen, den Dateinamen einzutippen
Die Suche funktioniert auch dann, wenn Ihr Tastaturlayout nicht zum gesuchten Dateinamen passt. Wer zum Beispiel mit russischem Tastaturlayout „ыукмукюсап“ eingibt, findet die Datei „server.cfg“.

Archive erstellen und entpacken #
Sie können jetzt beliebige Dateien, Dateigruppen und Verzeichnisse archivieren. Die Archive werden im Serververzeichnis abgelegt. Nach dem Erstellen können sie heruntergeladen werden. Packen und Entpacken laufen auf dem dedizierten Server, das Panel zeigt den Fortschritt des Vorgangs an.

Archive können in den folgenden Formaten erstellt werden:
- zip
- tar
- gzip
- bz2
- xz
- zst
Sie können außerdem ein Archiv in das Verzeichnis Ihres Gameservers hochladen und dort entpacken.
Das Entpacken wird für alle oben genannten Formate sowie für die proprietären Formate unterstützt:
- 7zip
- rar
Prüfsummen von Dateien #
Sie können sich die Prüfsummen der ausgewählten Dateien anzeigen lassen. Die folgenden Algorithmen werden unterstützt:
- SHA256. Einer der am weitesten verbreiteten Algorithmen.
- MD5
- SHA1
- SHA512
- CRC32
- CRC64

Gameserver-Einstellungen #
Die Parameter von Spiel-Mods können jetzt Variablentypen, Validierungsregeln, eine Liste zulässiger Werte und weitere zusätzliche Optionen festlegen. Das erleichtert das Bearbeiten der Gameserver-Einstellungen: In den Einstellungen des Gameservers können Sie einen vordefinierten Wert auswählen.
Unterstützte Variablentypen: Zeichenkette, Zahl, Schalter, Auswahlliste, Passwort. Eine Variable kann Validierungsregeln, einen übersetzten Namen und eine übersetzte Beschreibung sowie das Kennzeichen „Nur für Administratoren“ haben. Beim Speichern des Formulars werden alle Feldfehler in einer einzigen Antwort zurückgegeben.

Spieldefinitionen können aus dem Pelican-Format importiert werden.
Dedizierte Server verfügen jetzt über einen beliebigen Satz von Metadaten in Form von Schlüssel-Wert-Paaren.
Versionen von GameAP und GameAP Daemon auf dedizierten Servern #
Die Startseite des Panels zeigt jetzt die aktuelle GameAP-Version an sowie, ob die GameAP-Daemon-Versionen auf den dedizierten Servern aktuell sind. So behalten Sie die Versionen der Plattform im Blick und können Updates rechtzeitig installieren.

Die Versionsinformationen werden höchstens einmal alle 6 Stunden abgefragt; außer der Anfrage selbst wird nichts nach außen gesendet.
Die Prüfung lässt sich mit der Umgebungsvariable UPDATE_CHECK_ENABLED=false deaktivieren.
In der Kommandozeile gibt es jetzt den Befehl gameap version.
SSO #
SSO (Single Sign-on) ermöglicht es einem Benutzer, aus einem externen System, etwa einem Abrechnungssystem oder der Website eines Hosters, ohne Passworteingabe ins Panel zu gelangen. Das externe System stellt ein einmaliges Anmelde-Ticket aus, und der Browser des Benutzers tauscht es gegen eine reguläre Sitzung ein. Das Ticket ist 60 Sekunden gültig und kann nur einmal verwendet werden. Für Administratoren bleibt die Zwei-Faktor-Verifizierung weiterhin verpflichtend.
Sicherheit der Zugriffstokens #
Die Regeln für Zugriffstokens, die in externen Integrationen verwendet werden, wurden verschärft:
- Administrative API-Endpunkte, die keine Token-Berechtigungen deklarieren, sind jetzt für Anfragen mit einem Token vollständig gesperrt. Zuvor prüften solche Endpunkte nur die Rolle des Token-Besitzers.
- Tokens dürfen keine administrativen Rollen vergeben und keine Passwörter oder Zwei-Faktor-Einstellungen ändern, unabhängig von den erteilten Berechtigungen.
Benutzernamen und E-Mail-Adressen werden jetzt in Kleinbuchstaben normalisiert.
Verwaltung des Benutzerzugriffs auf Server #
Zwei neue API-Endpunkte zum Erteilen und Entziehen des Zugriffs auf einen bestimmten Server wurden hinzugefügt:
PUT /api/users/{id}/servers/{server}weist den Server dem angegebenen Benutzer zu;DELETE /api/users/{id}/servers/{server}entfernt den Server vom Benutzer.
Das Zuweisen eines bereits zugewiesenen Servers ist kein Fehler. Beim Entfernen bleiben die für diesen Server erteilten Berechtigungen erhalten und gelten nach einer erneuten Zuweisung wieder. Das vereinfacht die Integration mit externen Systemen.
Die Oberfläche des Panels verwendet dieselben Endpunkte: Die Zuweisung wird sofort übernommen, ohne Schaltfläche „Speichern“. Sie gibt dem Benutzer Zugriff auf einen bestimmten Server und erlaubt es, Berechtigungen fein abgestuft zu erteilen; alles andere auf diesem Server bleibt für ihn unzugänglich.
Um einen Server zuzuweisen, öffnen Sie „Administration“ → „Benutzer“, wählen Sie einen Benutzer aus und klicken Sie auf „Bearbeiten“. Klicken Sie im Block „Server“ auf „Hinzufügen“ und wählen Sie den Server aus; ein Klick auf das Schloss-Symbol öffnet die Auswahl der Berechtigungen.

Neue Sprachen #
Spanisch und Deutsch werden jetzt unterstützt. Um die Sprache zu ändern, öffnen Sie das Profil und klicken Sie oben auf die Schaltfläche „Profil bearbeiten“. Ändern Sie im daraufhin geöffneten Dialogfenster das Feld „Sprache“.

Weitere kleinere Änderungen #
- Die Seitenleiste und die mobile Version verwenden jetzt eine gemeinsame Liste der Administrationsmenüpunkte.
- Die GameAP-Daemon-Aufgaben wurden aus dem allgemeinen Menü auf die Seite der dedizierten Server verschoben.
- Schaltflächen und Statussymbole wurden vereinheitlicht.
- Die Tests laufen jetzt parallel; interne Abhängigkeiten wurden aktualisiert.