Diese Anleitung behandelt Ressourcenentwicklung, Datenbankeinrichtung, Admin-Tools, Spielerverwaltung, Fahrzeug- und Waffenverwaltung sowie Fehlerbehebung für Ihren alt:V Server auf Legion Hosting. Für die erste Servereinrichtung, server.toml-Konfiguration und Verbindungsanweisungen siehe alt:V Server-Einrichtungsanleitung.
Admin-Einrichtung
alt:V verfügt über kein integriertes Admin-System. Admin-Funktionalität wird durch Ressourcen (Skripte) implementiert, die Sie erstellen oder installieren. Die meisten Spielmodi implementieren ihr eigenes Admin-System mit Berechtigungsstufen, Rollen und Admin-Befehlen.
Gängige Admin-Ansätze
- Datenbankbasierte Rollen: Die meisten Roleplay- und Spielmodus-Frameworks speichern Admin-Rollen in einer Datenbank. Admins erhalten Rollen (z.B. Moderator, Admin, Superadmin), die verschiedene Berechtigungsstufen gewähren.
- Konfigurationsbasierte Admins: Einfachere Setups können eine Konfigurationsdatei verwenden, die Admin-Steam-IDs oder alt:V-IDs mit ihren Berechtigungsstufen auflistet.
- Konsolenbefehle: Die GPanel-Serverkonsole hat immer vollen Zugriff. Sie können serverseitige Skripte schreiben, die Konsoleneingaben für Admin-Operationen akzeptieren.
Eine Admin-Ressource einrichten
- Wählen oder entwickeln Sie eine Admin-Ressource, die zu Ihrem Spielmodus passt.
- Laden Sie die Ressource in das
resources/-Verzeichnis über den Files-Tab oder SFTP hoch. - Fügen Sie den Ressourcennamen zum
resources-Array inserver.tomlhinzu. - Konfigurieren Sie die Admin-Ressource (setzen Sie Ihre Admin-Steam/alt:V-IDs, Berechtigungsstufen usw.).
- Starten Sie den Server neu.
Ressourcen-System
Ressourcen sind die grundlegenden Bausteine von alt:V-Servern. Jede Ressource ist ein eigenständiges Modul, das serverseitigen Code, clientseitigen Code oder beides enthalten kann. Ressourcen werden in JavaScript, TypeScript oder C# geschrieben.
Ressourcenstruktur
resources/
my-resource/
resource.toml <-- Resource configuration (required)
server/
index.js <-- Server-side entry point
utils.js <-- Additional server-side files
client/
index.js <-- Client-side entry point (runs in player's GTA V)
shared/
config.js <-- Shared code accessible by both server and client
resource.toml-Konfiguration
type = "js"
main = "server/index.js"
client-main = "client/index.js"
client-files = ["client/*"]
deps = ["chat"]
Felder: type (js oder csharp), main (serverseitiger Einstiegspunkt), client-main (clientseitiger Einstiegspunkt, läuft im GTA V des Spielers), client-files (Dateien, die an den Client gesendet werden, unterstützt Globs), deps (andere Ressourcen, die zuerst geladen werden müssen).
Ressourcen installieren
Um eine vorgefertigte Ressource auf Ihrem Server zu installieren:
- Laden Sie die Ressourcendateien herunter (typischerweise ein Ordner mit
resource.tomlund Skriptdateien). - Stoppen Sie Ihren Server in GPanel.
- Laden Sie den Ressourcenordner in
resources/über den Files-Tab oder SFTP hoch. - Fügen Sie den Ressourcenordnernamen zum
resources-Array inserver.tomlhinzu:
resources = ["existing-resource", "new-resource"]
- Wenn die Ressource Abhängigkeiten hat, stellen Sie sicher, dass diese ebenfalls installiert und aufgelistet sind.
- Konfigurieren Sie die Ressource gemäß ihrer Dokumentation (Konfigurationsdateien, Datenbankeinrichtung usw.).
- Starten Sie den Server. Überprüfen Sie die Konsole auf Nachrichten zum Laden der Ressourcen und eventuelle Fehler.
Eine Ressource entfernen
- Stoppen Sie Ihren Server.
- Entfernen Sie den Ressourcennamen aus dem
resources-Array inserver.toml. - Löschen Sie optional den Ressourcenordner aus
resources/. - Starten Sie den Server.
deps-Feld in anderen Ressourcen, bevor Sie eine entfernen.
Datenbankeinrichtung
Die meisten alt:V-Spielmodi benötigen eine Datenbank, um Spielerdaten, Fahrzeuge, Inventare und andere persistente Informationen zu speichern. Die zwei gängigsten Datenbanksysteme für alt:V sind MongoDB und MySQL/MariaDB.
MongoDB
MongoDB ist eine NoSQL-Dokumentendatenbank, die häufig mit JavaScript/TypeScript-Ressourcen verwendet wird. Nutzen Sie einen verwalteten Dienst wie MongoDB Atlas (kostenlose Stufe verfügbar) oder eine selbst gehostete Instanz. Holen Sie sich Ihren Verbindungsstring (z.B. mongodb+srv://user:[email protected]/mydb) und konfigurieren Sie ihn in der Konfigurationsdatei Ihrer Ressource. Node.js-Ressourcen verwenden das mongodb npm-Paket.
MySQL / MariaDB
MySQL wird häufig mit C#-Ressourcen und einigen JavaScript-Frameworks verwendet. Beziehen Sie eine Datenbank von einem verwalteten Dienst oder einer selbst gehosteten Instanz, konfigurieren Sie Ihre Ressourcen mit den Verbindungsdetails (Host, Port, Benutzername, Passwort, Datenbankname) und führen Sie alle erforderlichen SQL-Migrationsskripte aus.
Spielerverwaltung
Die Spielerverwaltung in alt:V erfolgt über Ihre Ressourcen. Häufige Operationen umfassen:
Spieler identifizieren
alt:V stellt mehrere Identifikatoren für jeden verbundenen Spieler bereit:
| Identifikator | Beschreibung |
|---|---|
player.id |
Eine temporäre numerische ID, die für die aktuelle Sitzung zugewiesen wird. Ändert sich bei erneuter Verbindung. |
player.socialID |
Die Rockstar Social Club ID des Spielers. Bleibt über Sitzungen hinweg bestehen. |
player.hwidHash |
Ein Hardware-Identifikator-Hash. Nützlich für die Durchsetzung von Sperren. |
player.ip |
Die IP-Adresse des Spielers. |
Kicken und Bannen
Implementieren Sie Kick- und Bann-Funktionalität in Ihren Ressourcen:
import alt from "alt-server";
// Kick a player
player.kick("Reason for kick");
// Ban check on connect (store bans in database)
alt.on("playerConnect", (player) => {
if (isPlayerBanned(player.socialID)) {
player.kick("You are banned from this server.");
}
});
socialID und hwidHash für zuverlässige Durchsetzung.
Fahrzeug- und Waffenverwaltung
Fahrzeuge und Waffen werden über serverseitige Skripte verwaltet. alt:V gibt Ihnen volle Kontrolle über das Spawnen, Modifizieren und Entfernen von Fahrzeugen und Waffen.
Fahrzeuge spawnen
import alt from "alt-server";
// Spawn a vehicle at a position
const vehicle = new alt.Vehicle(
"sultan", // Vehicle model name
0, 0, 72, // Position (x, y, z)
0, 0, 0 // Rotation (rx, ry, rz)
);
vehicle.numberPlateText = "LEGION";
Waffen geben
// Give a weapon to a player
player.giveWeapon(alt.hash("weapon_pistol"), 100, true);
// Remove all weapons
player.removeAllWeapons();
Fahrzeug-Persistenz
Standardmäßig existieren Fahrzeuge nur im Serverspeicher und gehen bei einem Neustart verloren. Um Fahrzeuge über Neustarts hinweg zu erhalten, speichern Sie deren Daten (Modell, Position, Modifikationen, Besitzer) in einer Datenbank und erstellen Sie sie beim Serverstart neu.
Fehlerbehebung
Ressourcen werden nicht geladen
- Überprüfen Sie, ob der Ressourcenname in
server.tomlgenau mit dem Ordnernamen inresources/übereinstimmt. - Stellen Sie sicher, dass die Ressource eine gültige
resource.toml-Datei mit korrektentype- undmain-Feldern hat. - Überprüfen Sie die Konsole auf Fehlermeldungen beim Laden der Ressource. Syntaxfehler in Skripten verhindern den Start der Ressource.
- Stellen Sie sicher, dass alle in
depsaufgelisteten Abhängigkeiten installiert und geladen sind. - Überprüfen Sie, ob das korrekte Modul in
server.tomlgeladen ist (js-modulefür JavaScript,csharp-modulefür C#).
Spieler können sich nicht verbinden
- Stellen Sie sicher, dass der Server läuft und in GPanel als online angezeigt wird.
- Überprüfen Sie, dass Spieler den alt:V Launcher verwenden, nicht den regulären GTA V Launcher.
- Stellen Sie sicher, dass der alt:V-Server-Branch mit dem der Spieler übereinstimmt (release, rc oder dev). Nicht übereinstimmende Branches verhindern Verbindungen.
- Falls passwortgeschützt, überprüfen Sie, ob Spieler das korrekte Passwort eingeben.
- Lassen Sie Spieler die direkte Verbindung mit IP und Port versuchen. Siehe Server-IP und Port finden.
Serverabstürze
- Überprüfen Sie die Konsole auf Fehlermeldungen vor dem Absturz.
- Fehlerhafte Ressourcen sind die häufigste Ursache für Abstürze. Deaktivieren Sie kürzlich hinzugefügte Ressourcen, um das Problem einzugrenzen.
- Stellen Sie sicher, dass Ihre Serverdateien aktuell sind. Lösen Sie bei Bedarf eine Neuinstallation über den Startup-Tab aus.
- Speicherlecks in Ressourcen können dazu führen, dass dem Server über die Zeit der RAM ausgeht. Überwachen Sie die GPanel-Ressourcengraphen auf stetig steigenden Speicherverbrauch.
Datenbank- und Sprachprobleme
- Überprüfen Sie Datenbank-Anmeldedaten und Verbindungsstrings. Für MongoDB Atlas fügen Sie die IP Ihres Servers in den Netzwerkzugriffseinstellungen zur Whitelist hinzu.
- Überprüfen Sie die Konsole auf Datenbankverbindungs-Fehlermeldungen.
- Voice-Chat erfordert den
[voice]-Abschnitt inserver.tomlplus Ressourcen, die die Voice-Channel-Logik implementieren. Die Konfiguration allein richtet nur die Infrastruktur ein.
Leistungsprobleme
- Profilieren Sie Ihre Ressourcen auf aufwendige Operationen (schwere Schleifen, synchrone Datenbankaufrufe, übermäßige Entity-Erstellung).
- Verwenden Sie
alt.setIntervalundalt.setTimeoutsparsam. Aufwendige Operationen pro Tick sind der häufigste Leistungskiller. - Überwachen Sie die GPanel-Ressourcengraphen für CPU- und RAM-Auslastung.
- Erwägen Sie ein Upgrade Ihres Serverplans für hohe Spielerzahlen. Eröffnen Sie ein Support-Ticket, um Optionen zu besprechen.
Verwandte Artikel
- alt:V Server-Einrichtungsanleitung — Ersteinrichtung, server.toml-Konfiguration, Voice-Chat und Verbindungsanweisungen
- Server-IP und Port finden
- Dateien via SFTP hochladen
- Server-Startanleitung — Allgemeine Anleitung zum Starten eines beliebigen Gameservers auf Legion Hosting
Weitere Hilfe benötigt?
Wenn Sie Probleme haben, die in dieser Anleitung nicht behandelt werden, steht Ihnen unser Support-Team zur Verfügung. Eröffnen Sie ein Ticket unter legionhosting.net/submitticket.php mit Ihren Serverdetails, einer Beschreibung des Problems und relevanten Fehlermeldungen aus der GPanel-Konsole.