server.cfg erklärt: die Zeilen, auf die es wirklich ankommt
Öffne den Ordner eines beliebigen FiveM-Servers und du findest sie immer: die server.cfg. Sie ist die erste Datei, die FXServer beim Start einliest, und sie bestimmt, wie dein Server heißt, wie viele Spieler gleichzeitig drauf können und welche Resources laufen. Trotzdem behandeln viele frische Admins sie wie eine magische Datei, von der man besser die Finger lässt. Schade, denn wer die server.cfg versteht, löst die Hälfte aller Startprobleme selbst. In diesem Artikel gehen wir die Zeilen durch, auf die es wirklich ankommt, und die Zeilen, die dort gerade nicht hingehören.
Wie FXServer deine server.cfg liest
Die server.cfg ist kein Programmcode, sondern eine Befehlsliste. FXServer liest die Datei von oben nach unten und führt jede Zeile einzeln aus. Das klingt banal, erklärt aber sofort, warum die Reihenfolge wichtig ist: Ein Script, das auf einem Framework aufbaut, muss nach diesem Framework gestartet werden. Zeilen, die mit # beginnen, sind Kommentare und werden übersprungen. Nutze das großzügig, um deine Datei in Blöcke zu gliedern, denn nach einem Jahr Herumschrauben ist eine unstrukturierte Config ein Labyrinth.
Läufst du mit txAdmin, wie es bei den FiveM-Servern von MC-Node Standard ist, wählst du beim Setup eine server.cfg aus und kannst sie danach über den Dateimanager oder SFTP bearbeiten. Wichtig zu wissen: Änderungen an Convars werden erst nach einem kompletten Neustart des Servers aktiv. Nur eine Resource neu zu laden reicht nicht.
Die Convars, auf die es wirklich ankommt
Convars sind die Einstellungen deines Servers. Das hier ist eine gesunde Basis:
# Serverliste und Präsentation
sv_hostname "Meine RP-Stadt | Deutsch | Whitelist"
sets sv_projectName "Meine RP-Stadt"
sets sv_projectDesc "Deutsches Roleplay mit eigenen Scripts"
sets tags "roleplay, deutsch, whitelist"
sets locale "de-DE"
# Technik
sv_maxclients 48
set onesync onsv_hostnameist der Name in der Serverliste;sv_projectNameundsv_projectDescfüllen die Serverkarte drumherum. Sei konkret: "Deutsches RP | Whitelist | 18+" zieht genau die richtigen Spieler an, "Server123" niemanden.sets tagsundsets localebestimmen, wie man dich findet. Spieler filtern die Serverliste wirklich nach Sprache und Tags, also setzlocaleaufde-DE, wenn du deutsche Spieler ansprechen willst. Taucht dein Server gar nicht in der Liste auf, liegt das meistens an einem Lizenz- oder Config-Problem.sv_maxclientsist die maximale Anzahl gleichzeitiger Spieler; standardmäßig sind das 48. Dreh den Wert nicht zum Angeben hoch, sondern wähl etwas, das zu deinem Paket und deiner Community passt.set onesync onaktiviert OneSync, das moderne Synchronisationsmodell von FXServer. Für mehr als 48 Slots ist OneSync ohnehin Pflicht, und es gelten zusätzliche Bedingungen von Cfx.re. In der Knowledgebase liest du, wie du OneSync aktivierst.
Achte auch auf den Unterschied zwischen set, setr und sets. Mit set bleibt ein Wert auf dem Server, setr teilt ihn mit dem Game deiner Spieler und sets macht ihn öffentlich in der Serverliste sichtbar. Alles, was du mit sets setzt, kann also jeder lesen; schreib dort niemals etwas rein, das privat bleiben soll.
Und sv_licenseKey? Der gehört formal auch in diese Reihe, aber wenn du txAdmin nutzt, gibst du deinen Lizenzschlüssel im Setup-Wizard ein und txAdmin verwaltet ihn ab dann für dich. Du musst ihn dann nicht selbst in die server.cfg schreiben, und das ist gleichzeitig der sicherste Ort dafür.
ensure: deine Resources in der richtigen Reihenfolge
Der größte Teil einer durchschnittlichen server.cfg besteht aus ensure-Zeilen. ensure startet eine Resource, und startet sie neu, falls sie schon läuft. Gelegentlich siehst du auch das ältere start; das funktioniert, aber ensure ist die robustere Gewohnheit. Die Faustregel für die Reihenfolge: erst das Fundament, dann das, was darauf aufbaut.
# Fundament: Datenbank und Framework
ensure oxmysql
ensure es_extended
# erst danach die Scripts, die darauf aufbauen
ensure esx_garage
ensure mein_jobscriptStartest du ein Jobscript, bevor dein Framework läuft, crasht das Script oder wartet endlos, und du bekommst eine Konsole voller roter Meldungen. Manche Resources geben ihre Abhängigkeiten sauber in ihrer fxmanifest.lua an, aber verlass dich darauf nicht blind: Eine logische Reihenfolge in der server.cfg verhindert neun von zehn Startproblemen.
Das gehört nicht in deine server.cfg
Mindestens genauso wichtig ist, was du weglässt:
- Passwörter und geheime Schlüssel. Denk an ein Datenbankpasswort in einem Connection String oder API-Keys externer Dienste. Das Problem: Die server.cfg ist genau die Datei, die Leute kopieren und teilen, wenn sie irgendwo um Hilfe bitten. Teile deine Config nur mit allen herausgeschnittenen Secrets, und behandle die Datei so, als würde sie irgendwann öffentlich.
rcon_password, außer du nutzt rcon wirklich. Mit txAdmin brauchst du rcon selten, und ein schwaches rcon-Passwort ist eine offene Hintertür zu deiner Konsole. Lass die Zeile dann lieber ganz weg.- Tote Zeilen. Ensures von Resources, die du längst entfernt hast, auskommentierte Experimente von vor Monaten: räum sie auf. Jede Zeile, die du nicht mehr verstehst, ist zukünftige Verwirrung.
Häufige Fehler
- Doppelte Ensures. Dieselbe Resource zweimal zu starten passiert schneller, als du denkst, vor allem wenn du eine Beispiel-Config über deine eigenen Zeilen geklebt hast. Es macht meistens nichts kaputt, aber deine Konsole meckert und das Debuggen wird unnötig verwirrend.
- Ein ensure ohne Resource. Du löschst einen Resource-Ordner, vergisst aber die Zeile. Ergebnis: eine "Couldn't find resource"-Meldung bei jedem Start. Harmlos, aber sie verschmutzt deine Konsole, sodass du echte Fehler übersiehst.
- Namen, die fast stimmen. Der ensure-Name muss exakt mit dem Ordnernamen der Resource übereinstimmen, inklusive Groß- und Kleinschreibung und Bindestrichen. Leerzeichen in Ordnernamen sind ohnehin eine Einladung für Probleme.
- Neustart vergessen. Du änderst
sv_maxclients, siehst keine Veränderung und suchst weiter, während die Änderung schlicht noch nicht geladen wurde.
Für fast alle diese Fehler gilt: Die Live-Konsole von txAdmin sagt dir wortwörtlich, was schiefläuft. Lies bei jedem Start kurz die ersten Meldungen durch; das kostet dreißig Sekunden und erspart dir Stunden Raterei.
Ehrlich gesagt: Perfektion muss nicht sein
Eine server.cfg muss kein Kunstwerk sein. Eine gute Config ist eine Datei mit klaren Blöcken, einer logischen ensure-Reihenfolge und ohne Geheimnisse darin. Fang klein an, füge pro Schritt eine Resource hinzu, und du weißt immer, woher ein Problem kommt. Wächst dein Server, wächst deine Config automatisch mit, und dann zahlt sich die saubere Basis doppelt aus.