Een Rust-server stel je op twee plekken in: met startparameters en met het bestand server.cfg. We leggen uit wat waar thuishoort, wat elke gangbare instelling doet en welke waarde je kiest. Daarna komen de kaartgrootte en de seed, een eigen kaart en hoe je de server met de juiste tags in de serverlijst krijgt.
Wat je nodig hebt
- Een Rust-server en toegang tot de bestanden ervan
- De mogelijkheid om de startparameters aan te passen (op je eigen VPS het startscript, bij hosting de opstartinstellingen)
- Ongeveer 25 minuten
Rust bij StormHost
Rust-servers zijn bij ons in voorbereiding. Deze handleiding geldt ook voor een Rust-server op je eigen VPS (installatiestappen).
Wat je waar instelt#
| Plek | Wat hoort er thuis | Wie past het aan |
|---|---|---|
Startparameters (+server.port 28015 …) | Poorten, RCON, de identiteit van de server, de kaart (type, seed, grootte of de URL van een eigen kaart), eventueel het aantal slots. Dingen die al bij het starten bekend moeten zijn. | Jij (bij hosting via de opstartinstellingen). |
server/ | Al het andere: naam, beschrijving, afbeeldingen, tags, slots, spelregels. | Jij. De server wijzigt het nooit. |
server/ | Waarden die de server zelf opslaat (bij het afsluiten of met het commando server.writecfg). | De server. Pas het niet aan. |
server/ | Admins en moderators. Zie Admin en RCON. | De server en jij. |
De identiteit (server.identity) is de naam van de map waarin de server de wereld, de configuratie en de spelers opslaat. Zo kunnen er met dezelfde spelbestanden meerdere servers draaien. Als je de identiteit wijzigt, begint de server met een nieuwe, lege wereld in een andere map. De standaardidentiteit is my_server_identity.
In server.cfg schrijf je variabelen zonder de + ervoor en elk op een eigen regel. In de startparameters schrijf je ze met + achter elkaar op één regel.
Elke instelling maar op één plek
De wiki van Facepunch vermeldt dat server.cfg voorrang heeft op parameters van de opdrachtregel, de documentatie van Oxide beweert het tegenovergestelde. Stel elke variabele maar op één plek in, zodat je niet van het toeval afhangt. Facepunch raadt aan om alleen het hoognodige (poorten, RCON) in de startparameters te zetten en de rest in server.cfg.
Variabelen die je in de console wijzigt terwijl de server draait, gelden alleen tot de herstart (tenzij de server ze zelf opslaat in serverauto.cfg). Wat blijvend moet gelden, zet je in server.cfg.
Startparameters#
Een voorbeeld voor Linux (op Windows is de regel hetzelfde, alleen heet het programma RustDedicated.exe):
./RustDedicated -batchmode \
+server.identity "rust" \
+server.port 28015 \
+server.queryport 28017 \
+server.level "Procedural Map" \
+server.seed 12345 \
+server.worldsize 3000 \
+server.maxplayers 50 \
+rcon.port 28016 \
+rcon.password "<STRONG_PASSWORD>" \
+rcon.web 1 \
+app.port 28082 \
-logfile "rust.log"De backslash aan het einde van een regel geeft alleen aan dat het commando op de volgende regel verdergaat.
| Parameter | Wat hij doet | Aanbevolen waarde | Wanneer wijzigen |
|---|---|---|---|
-batchmode | Start de server zonder grafisch venster. | altijd | – |
+server.identity | De naam van de map met de wereld en de configuratie (server/<IDENTITY>/). | een korte naam zonder spaties, bijv. rust | Alleen als je een nieuwe wereld in een nieuwe map wilt of meerdere servers. |
+server.port | De poort waarmee spelers verbinding maken. UDP. | 28015 | Als er meerdere servers op één IP draaien of je hoster je een andere poort heeft toegewezen. |
+server.queryport | De poort voor de query's van de serverlijst (Steam). Staat hij niet open in de firewall, dan zie je de server niet in de lijst. UDP. Mag niet dezelfde zijn als server.port. | 28017 | Samen met server.port. Stel je hem niet in, dan is hij 1 hoger dan de hoogste van de poorten van het spel en RCON. |
+server.level | Het type kaart. | "Procedural Map" | Wordt bij een eigen kaart niet gebruikt (je stelt server.levelurl in). |
+server.seed | Het getal waaruit de kaart wordt gegenereerd. Dezelfde seed en grootte = dezelfde kaart. | een willekeurig getal 0–2147483647 | Bij een wipe, als je een nieuwe kaart wilt. |
+server.worldsize | De kaartgrootte (lengte van een zijde in meters). | 2000–4500 afhankelijk van het aantal spelers (tabel hieronder) | Zie het hoofdstuk Kaartgrootte en seed. |
+server.maxplayers | Het aantal slots. | afhankelijk van de prestaties van de server | Meer spelers = hogere eisen aan de processor. |
+rcon.port | De poort van de console op afstand. TCP. | 28016 | Zie Admin en RCON. |
+rcon.password | Het wachtwoord van de console op afstand. | een sterk willekeurig wachtwoord | Altijd wijzigen. |
+rcon.web | WebSocket-RCON (1) in plaats van het verouderde Source RCON. | 1 | – |
+app.port | De poort voor de mobiele app Rust+. TCP, moet minstens 10000 zijn. +app.port 1- schakelt Rust+ uit. Stel je hem niet in, dan is hij 67 hoger dan de hoogste van de poorten van het spel en RCON (met RCON op 28016 dus 28083), daarom vermelden we hem uitdrukkelijk. De gebruikte poort toont het commando app.info. | 28082 | Als je Rust+ niet wilt of de poort botst. |
-logfile | Het bestand waarin de uitvoer van de console wordt weggeschreven. | "rust.log" | – |
+server.levelurl | Het adres waar een eigen kaart te downloaden is (in plaats van server.level, seed en worldsize). | – | Zie het hoofdstuk Eigen kaart. |
Vervang <STRONG_PASSWORD> door je eigen wachtwoord (zonder de punthaken), bij voorkeur alleen met letters en cijfers.
Bij gamehosting wijst de aanbieder de poorten toe. Bij ons zie je ze in je klantaccount op het tabblad Netwerk, bij een andere hoster in het serverbeheer daar. De overige parameters stel je in bij de opstartinstellingen van de server.
server.cfg#
Maak het bestand server.cfg aan in de map server/<IDENTITY>/cfg/ (als het niet bestaat). De server leest het bij het starten.
server.hostname "[EU] Mijn Rust-server | Monthly | Vanilla"
server.description "Een Europese Rust-server. Wipe elke eerste donderdag van de maand. Discord: example.cz/discord"
server.url "https://example.cz"
server.headerimage "https://example.cz/rust/header.png"
server.logoimage "https://example.cz/rust/logo.png"
server.tags monthly,vanilla,EU
server.saveinterval 600
server.idlekick 30
decay.scale 1| Instelling | Wat ze doet | Aanbevolen waarde | Wanneer wijzigen |
|---|---|---|---|
server.hostname | De naam van de server in de serverlijst. | Kort en treffend, met het land en het wiperitme | Altijd mogelijk, wordt van kracht na een herstart. |
server.description | De beschrijving in de details van de server (regels, wipe, link naar Discord). | Een paar zinnen | Altijd mogelijk. |
server.url | Een link naar de website van de server in de details. | je eigen website, of leeg | Heb je geen website, laat de regel dan weg. |
server.headerimage | Een directe link naar de afbeelding in de header van de serverdetails (PNG of JPG). | Een afbeelding die openbaar bereikbaar is zonder in te loggen | De afbeelding wordt niet geladen als de link niet rechtstreeks naar het bestand verwijst. |
server.logoimage | Een directe link naar het logo van de server (de serverlijst en de app Rust+). | PNG of JPG van 256 × 256 px | Het logo wordt in een cirkel getoond, de hoeken worden afgesneden – zet het motief in het midden. |
server.tags | Tags om te filteren in de serverlijst, gescheiden door komma's. | Wiperitme + moeilijkheidsgraad + regio, bijv. monthly,vanilla,EU | Zie het hoofdstuk De server in de serverlijst. |
server.maxplayers | Het aantal slots (als je het niet in de startparameters hebt staan). | afhankelijk van de prestaties | – |
server.saveinterval | Hoe vaak de server de wereld automatisch opslaat, in seconden. | 600 (standaard, 10 minuten) | Een korter interval = minder verlies bij een crash, maar vaker een korte belasting tijdens het opslaan. |
server.idlekick | Na hoeveel minuten inactiviteit de server een speler loskoppelt, 0 schakelt het uit. | 30 (standaard) | Korter op een volle server, zodat er slots vrijkomen. |
server.pve | PvE-modus: spelers kunnen elkaar geen schade toebrengen. De server krijgt de tag PvE. | false (standaard) | Voor een zuivere PvE-server. |
decay.scale | De vermenigvuldiger voor het verval van bouwwerken. 1 = normaal, 0 = geen verval. | 1 | Een lagere waarde op servers met weinig spelers. Met 0 stapelen verlaten bouwwerken zich op en belasten ze de server. |
relationshipmanager. | De maximale teamgrootte. | de standaardwaarde van het spel | Stel voor “solo/duo/trio”-servers 1, 2 of 3 in. |
server.favoritesEndpoint | Het domein waaronder spelers de server bij hun favorieten opslaan. | je eigen domein (A-record) | Alleen als je DNS-records voor de server hebt (zie hieronder). |
De huidige waarde van een variabele vraag je op door in de console alleen de naam ervan te typen (bijvoorbeeld server.maxplayers). Variabelen waarvan je de naam niet meer weet, vind je met het commando find, bijvoorbeeld find decay.
Afmetingen van de header
Voor server.headerimage gebruikt de community meestal een afbeelding van 512 × 256 px.
Kaartgrootte en seed#
- Bereik van de grootte: Facepunch noemt voor
server.worldsizeeen bereik van 1000 tot 6000. De standaardwaarde van het spel is 4500. - Geheugen: volgens Facepunch heeft een server met een standaardkaart ongeveer 12 GB vrij RAM nodig en een kaart van 6000 meer. Een grotere kaart = meer geheugen, meer schijfruimte en langer genereren bij het starten.
- Richtlijn voor je keuze (hangt af van de stijl van de server):
| Spelers tegelijk | Kaartgrootte |
|---|---|
| tot 50 | 2000–3000 |
| 50–150 | 3000–4000 |
| 150 en meer | 4000–4500 |
- De seed is een willekeurig getal van 0 tot 2147483647. Dezelfde seed met dezelfde grootte geeft altijd dezelfde kaart, zodat je een favoriete kaart opnieuw kunt gebruiken. Communitywebsites met kaarten van Rust tonen een voorbeeld van de kaart op basis van seed en grootte.
- Sommige onderdelen hebben een grotere kaart nodig – de bovengrondse spoorlijn wordt volgens de wiki van Facepunch bijvoorbeeld pas vanaf grootte 4250 gegenereerd.
- Een wijziging van de seed of de grootte heeft alleen effect op een nieuwe wereld. Op een draaiende wereld zorgt een nieuwe kaart voor een mismatch, wijzig ze daarom alleen bij een wipe (handleiding).
Voor gevorderden: het genereren van de kaart kun je aanpassen met een instellingenbestand (+world.configfile), bijvoorbeeld om paden of bepaalde monumenten uit te schakelen. Hoe dat gaat, beschrijft de wiki van Facepunch (opent in een nieuw venster).
Eigen kaart#
Eigen kaarten worden in editors gemaakt (de meest gebruikte is RustEdit) als een .map-bestand.
Upload het
.map-bestand naar een website die het via een directe link aanbiedt en die onafgebroken bereikbaar is. Spelers downloaden de kaart van dit adres, niet van de server.Controleer de link: als je hem in een browser opent, moet het bestand meteen gaan downloaden en mag er geen pagina verschijnen.
Verwijder
+server.seed,+server.worldsizeen+server.leveluit de startparameters.Voeg de parameter met de link toe:
text +server.levelurl "https://example.cz/mapy/mojemapa-v1.map"Vereist de kaart de extensie RustEdit (eigen elektrische circuits, routes van schepen en de tank, NPC's), installeer die dan volgens de instructies van de maker van de kaart als extensie van het framework (extensies en afhankelijkheden).
Start de server.
Elke versie van de kaart heeft een nieuwe bestandsnaam nodig
Spelers hebben de gedownloade kaart op hun computer staan. Als je een aangepaste kaart onder dezelfde naam uploadt, laadt het spel bij hen de oude en eindigt de verbinding met een mismatchfout. Geef de kaart bij elke wijziging een nieuwe naam (bijvoorbeeld mojemapa-v2.map).
Links die niet werken: een link naar een bericht in Discord, gedeelde mappen die een pagina tonen, Dropbox zonder dl=1 aan het einde. Wat wel werkt, is bijvoorbeeld een release op GitHub of een eigen webserver.
Prestaties#
- De kaartgrootte en het aantal spelers hebben de grootste invloed op de prestaties. Verhoog ze niet verder dan de server aankan.
- Het aantal bouwwerken en voorwerpen (entiteiten) groeit met de tijd. Het verval (
decay.scale) helpt om verlaten bouwwerken op te ruimen. - Plugins: de uitvoer van
oxide.pluginstoont bij elke plugin de totale tijd die hij in hooks heeft doorgebracht. Een plugin met een duidelijk hogere tijd dan de andere is een kandidaat om te vervangen. Carbon heeft een ingebouwde profiler. - De huidige prestaties van de server vraag je op met het commando
server.fps(frames per seconde van de server). Een duidelijke en blijvende daling betekent dat de server overbelast is. - Laat
server.tickrateen vergelijkbare variabelen op hun standaardwaarden staan, tenzij je precies weet waarom je ze wijzigt.
De server in de serverlijst#
Om de server zichtbaar te maken in de lijst:
- Open de querypoort (
server.queryport, UDP) in de firewall. Zonder die poort verschijnt de server niet in de lijst, ook al kun je er rechtstreeks verbinding mee maken. - Stel tags in in
server.cfg, bijvoorbeeldserver.tags monthly,vanilla,EU. In de lijst worden er hoogstens vier getoond. - Wacht na het starten een paar minuten tot de server in de lijst verschijnt.
Tags volgens de wiki van Facepunch:
| Groep | Tags | Opmerking |
|---|---|---|
| Wiperitme | monthly, biweekly, weekly | Slechts één. Bepaalt ook het aftellen tot de wipe in het spel, zie Wipe. |
| Moeilijkheidsgraad | vanilla, hardcore, softcore | Slechts één. |
| Regio | EU, NA, SA, WA, EA, OC, AF | Voor Nederland EU. |
| Overig | pve, roleplay, creative, minigame, training, battlefield, broyale, builds | Afhankelijk van het type server. |
Combineer geen tags uit dezelfde groep (bijvoorbeeld monthly en weekly): de lijst toont er maar één en de server wordt dan bij het filteren niet gevonden. De tags Modded, Oxide en Carbon voegt het framework zelf toe. De tag PvE wordt ook ingesteld door server.pve true.
Het land van de server wordt bepaald aan de hand van het IP-adres via de dienst MaxMind. Staat het verkeerd in de lijst, dien dan een correctie in via het formulier van MaxMind (GeoIP Data Correction).
Verbinden via een domein: Rust kan een server via DNS vinden. Je hebt een A-record nodig met het IP-adres van de server en een SRV-record voor de dienst _rust en het protocol _udp met de poort van het spel. Stel het domein daarna ook in bij server.favoritesEndpoint. De recordtypen worden uitgelegd in DNS-records uitgelegd.
Als iets niet werkt#
Wijzigingen in server.cfg hebben geen effect#
- Het bestand staat in een andere identiteitsmap dan de map die de server gebruikt. Controleer
+server.identityin de startparameters en het padserver/.<IDENTITY>/ cfg/ server. cfg - Het bestand heet in werkelijkheid
server.cfg.txt(Windows verbergt extensies). - Je hebt dezelfde variabele ook in de startparameters staan. Laat haar maar op één plek staan.
- De server is sinds de wijziging niet opnieuw gestart.
server.cfgwordt bij het starten gelezen. Terwijl de server draait, kun je de waarde ook in de console invoeren.
De server is niet zichtbaar in de serverlijst#
- De querypoort is niet toegestaan in de firewall (UDP), of hij is dezelfde als de poort van het spel.
- Je zoekt op het verkeerde tabblad: een server met een framework staat onder Modded.
- Tags uit dezelfde groep sluiten elkaar uit.
- De server draait nog maar een paar minuten. Wacht even.
Spelers melden Couldn't Download Level#
Het spel kon de eigen kaart niet downloaden. Controleer of server.levelurl een directe link is en of de website met de kaart bereikbaar is. Facepunch raadt spelers aan om in de console F1 de regel “Download map file…” te openen en de kaart handmatig te downloaden naar de map maps van het spel.
De fout World cache version mismatch of World File Outdated#
De speler heeft een oudere versie van de kaart met dezelfde naam gedownload. Geef de kaart een nieuwe naam en wijzig server.levelurl.
De server loopt vast bij het laden van een eigen kaart#
De kaart heeft niet genoeg oceaan voor de route van het vrachtschip. Volgens de wiki van Facepunch helpt het om +cargoship.event_enabled false +baseboat.generate_paths false +ai. aan de startparameters toe te voegen (dat schakelt het vrachtschip en de patrouilleroutes op zee uit), of de kaart aan te passen.
De afbeelding in de header of het logo wordt niet getoond#
De link verwijst niet rechtstreeks naar het afbeeldingsbestand, de afbeelding is niet openbaar bereikbaar, of ze heeft een ongeschikt formaat. Open de link in een privévenster van je browser: je moet alleen de afbeelding zelf te zien krijgen.
Samenvatting
- Poorten, RCON, de identiteit en de kaart horen in de startparameters, de rest in
server/.<IDENTITY>/ cfg/ server. cfg - Stel elke variabele maar op één plek in en pas
serverauto.cfgniet aan. - Kaartgrootte 1000–6000: een grotere kaart heeft meer RAM nodig. Wijzig de seed en de grootte alleen bij een wipe.
- Eigen kaart: een directe link in
server.levelurlen een nieuwe bestandsnaam voor elke versie. - Voor de serverlijst heb je een open querypoort (UDP) nodig en tags die niet met elkaar botsen.
Meer bronnen#
- Facepunch: Creating a server (opent in een nieuw venster)
- Facepunch: tags in de serverlijst (opent in een nieuw venster)
- Facepunch: een eigen kaart hosten (opent in een nieuw venster)
- Facepunch: veelvoorkomende fouten bij eigen kaarten (opent in een nieuw venster)
- Facepunch: servericoon (opent in een nieuw venster)
- Facepunch: DNS-records voor een server (opent in een nieuw venster)