// FiveM

server.cfg uitgelegd: de regels die er echt toe doen

server.cfg uitgelegd: de regels die er echt toe doen

Open de map van een willekeurige FiveM-server en je vindt hem altijd: server.cfg. Het is het eerste bestand dat FXServer bij het opstarten inleest, en het bepaalt hoe je server heet, hoeveel spelers er tegelijk in kunnen en welke resources er draaien. Toch behandelen veel beginnende beheerders het als een magisch bestand waar je vooral vanaf moet blijven. Zonde, want wie server.cfg begrijpt, lost de helft van alle opstartproblemen zelf op. In dit artikel lopen we door de regels die er echt toe doen, en door de regels die er juist niet in thuishoren.

Hoe FXServer je server.cfg leest

server.cfg is geen programmeercode, maar een opdrachtenlijst. FXServer leest het bestand van boven naar beneden en voert elke regel een voor een uit. Dat klinkt triviaal, maar het verklaart meteen waarom volgorde belangrijk is: een script dat op een framework leunt, moet na dat framework gestart worden. Regels die met # beginnen zijn commentaar en worden overgeslagen. Gebruik dat ruimhartig om je bestand in blokken te verdelen, want na een jaar sleutelen is een ongestructureerde config een doolhof.

Draai je met txAdmin, zoals standaard bij de FiveM-servers van MC-Node, dan wijs je tijdens de setup een server.cfg aan en kun je hem daarna bewerken via de bestandsbeheerder of SFTP. Belangrijk om te onthouden: wijzigingen aan convars worden pas actief na een volledige herstart van de server. Alleen een resource herladen is niet genoeg.

De convars die er echt toe doen

Convars zijn de instellingen van je server. Dit is een gezonde basis:

# serverlijst en presentatie
sv_hostname "Mijn RP-stad | Nederlands | Whitelist"
sets sv_projectName "Mijn RP-stad"
sets sv_projectDesc "Nederlandse roleplay met eigen scripts"
sets tags "roleplay, nederlands, whitelist"
sets locale "nl-NL"

# techniek
sv_maxclients 48
set onesync on
  • sv_hostname is de naam in de serverlijst; sv_projectName en sv_projectDesc vullen de serverkaart eromheen. Wees concreet: "Nederlandse RP | Whitelist | 18+" trekt precies de juiste spelers aan, "Server123" niemand.
  • sets tags en sets locale bepalen hoe je gevonden wordt. Spelers filteren de serverlijst echt op taal en tags, dus zet locale op nl-NL als je op Nederlandse spelers mikt. Staat je server helemaal niet in de lijst, dan is de oorzaak meestal een licentie- of configprobleem.
  • sv_maxclients is het maximale aantal gelijktijdige spelers; standaard staat dit op 48. Zet het niet voor de sier op een hoog getal, maar kies iets dat past bij je pakket en je community.
  • set onesync on activeert OneSync, het moderne synchronisatiemodel van FXServer. Voor meer dan 48 slots is OneSync sowieso verplicht en gelden er extra voorwaarden vanuit Cfx.re. In de kennisbank lees je hoe je OneSync aanzet.

Let ook op het verschil tussen set, setr en sets. Met set blijft een waarde op de server, setr deelt hem met de game van je spelers en sets maakt hem publiek zichtbaar in de serverlijst. Alles wat je met sets instelt, kan dus iedereen lezen; zet er nooit iets in wat privé moet blijven.

En sv_licenseKey? Die hoort formeel ook in dit rijtje, maar als je txAdmin gebruikt vul je je licentiesleutel in tijdens de setup-wizard en beheert txAdmin hem verder voor je. Je hoeft hem dan niet zelf in server.cfg te zetten, en dat is meteen de veiligste plek.

ensure: je resources in de juiste volgorde

Het grootste deel van een gemiddelde server.cfg bestaat uit ensure-regels. ensure start een resource, en herstart hem als hij al draait. Je ziet ook weleens het oudere start; dat werkt, maar ensure is de robuustere gewoonte. De vuistregel voor de volgorde: fundering eerst, daarna pas wat erop bouwt.

# fundering: database en framework
ensure oxmysql
ensure es_extended

# daarna pas scripts die hierop leunen
ensure esx_garage
ensure mijn_jobscript

Start je een jobscript voordat je framework draait, dan crasht het script of blijft het eindeloos wachten, en krijg je een console vol rode meldingen. Sommige resources geven hun afhankelijkheden netjes op in hun fxmanifest.lua, maar reken daar niet blind op: een logische volgorde in server.cfg voorkomt negen van de tien opstartproblemen.

Dit hoort niet in je server.cfg

Minstens zo belangrijk is wat je weglaat:

  • Wachtwoorden en geheime sleutels. Denk aan een databasewachtwoord in een connection string of API-keys van externe diensten. Het probleem: server.cfg is precies het bestand dat mensen kopiëren en delen als ze ergens hulp vragen. Deel je config alleen met alle secrets eruit geknipt, en behandel het bestand alsof het ooit publiek wordt.
  • rcon_password, tenzij je rcon echt gebruikt. Met txAdmin heb je rcon zelden nodig, en een zwak rcon-wachtwoord is een open achterdeur naar je console. Laat de regel dan liever helemaal weg.
  • Dode regels. Ensures van resources die je allang hebt verwijderd, uitgecommentarieerde experimenten van maanden geleden: ruim ze op. Elke regel die je niet meer begrijpt, is toekomstige verwarring.

Veelgemaakte fouten

  • Dubbele ensures. Dezelfde resource twee keer starten gebeurt sneller dan je denkt, zeker als je een voorbeeldconfig bovenop je eigen regels hebt geplakt. Het breekt meestal niets, maar je console klaagt en debuggen wordt onnodig verwarrend.
  • Een ensure zonder resource. Je verwijdert een resource-map maar vergeet de regel. Resultaat: een "Couldn't find resource"-melding bij elke start. Onschuldig, maar het vervuilt je console waardoor je echte fouten over het hoofd ziet.
  • Namen die net niet kloppen. De ensure-naam moet exact overeenkomen met de mapnaam van de resource, inclusief hoofdletters en koppeltekens. Spaties in mapnamen zijn sowieso vragen om problemen.
  • Herstarten vergeten. Je past sv_maxclients aan, ziet niets veranderen en gaat verder zoeken, terwijl de wijziging simpelweg nog niet is ingeladen.

Bij vrijwel al deze fouten geldt: de live console van txAdmin vertelt je letterlijk wat er misgaat. Lees bij elke start even de eerste meldingen door; dat kost dertig seconden en bespaart je uren gokwerk.

Eerlijk: perfectie hoeft niet

Een server.cfg hoeft geen kunstwerk te zijn. Een goede config is een bestand met duidelijke blokken, een logische ensure-volgorde en geen geheimen erin. Begin klein, voeg per keer één resource toe en je weet altijd waar een probleem vandaan komt. Groeit je server, dan groeit je config vanzelf mee, en dan betaalt die nette basis zich dubbel uit.

Verder lezen

// ZELF PROBEREN
Je Minecraft-server binnen 60 seconden online
Bekijk de pakketten →