Posted on 16 september 2024 · Updated on 22 september 2026
Valheim Dedicated Server opzetten (1.0): Windows, Linux & Docker
door Taylor G.
Valheim 1.0 kwam uit op 9 september 2026 en bracht de Deep North, versies voor PS5 en Switch 2, en crossplay tussen alle platforms. Het bracht ook een golf aan mensen die dezelfde vraag stellen als in 2021: hoe draai ik een Valheim dedicated server voor mijn vrienden?
Deze gids behandelt het hele verhaal op Windows, Linux (SteamCMD en Ubuntu) en Docker: de server installeren, elk launch argument, world modifiers vanaf de command line, poorten, crossplay join codes, adminlijsten, backups en de dingen die misgaan. Wil je de setup liever helemaal overslaan, dan doet Valheim server hosting van Host Havoc dit allemaal vanuit een control panel, maar de gids hieronder is voor mensen die het zelf willen draaien.
Systeemeisen voor een Valheim dedicated server
De server van Valheim is op papier licht en in de praktijk zwaarder. De hele geladen wereld zit in het RAM, en de server simuleert alles in de buurt van elke verbonden speler, dus een goed verkende wereld met 10 spelers heeft een stuk meer nodig dan een verse.
- CPU: minimaal 2 cores, 4 aanbevolen. Kloksnelheid is belangrijker dan het aantal cores. De hoofdsimulatie draait op één thread.
- RAM: 4 GB om te beginnen. Reken op 6 tot 8 GB zodra de wereld verkend is en je 6+ mensen tegelijk online hebt.
- Opslag: zo'n 1,5 GB voor de serverbestanden plus je wereld. Een
.db-bestand van een volwassen wereld is meestal 50 tot 200 MB, en backups vermenigvuldigen dat. - Netwerk: reken op ongeveer 1 Mbps upload per verbonden speler. Een volle server op een verbinding met 10 Mbps upstream merkt dat.
- OS: Windows 10/11, Windows Server, of een 64-bit Linux-distro met glibc 2.29 of nieuwer (Ubuntu 20.04+, Debian 11+).
- Geen GPU nodig. De server draait headless.
Een Steam-account heb je alleen nodig als je via de Steam-client installeert. SteamCMD gebruikt anonieme login.
Voordat je updatet: Valheim 1.0 en je bestaande wereld
Twee dingen om te weten als je al een wereld draait:
De Deep North wordt alleen gegenereerd in onverkende gebieden. Valheim legt het terrein vast in het wereldbestand zodra spelers in de buurt komen. Als niemand ver naar het noorden gevaren is, wordt de nieuwe biome prima gegenereerd in je bestaande wereld. Is iemand er wel geweest, dan blijft die regio de oude placeholder. Het advies van Iron Gate is om voor 1.0 een verse wereld te beginnen, en ze hebben gezegd dat ze niet kunnen garanderen dat oudere werelden elke wijziging oppikken.
Maak een backup voordat je updatet, niet erna. Stop de server, kopieer zowel het .db- als het .fwl-bestand van je wereld, en update dan pas. Zodra een zone op 1.0 geladen is, ligt die vast.
Houd er ook rekening mee dat er sinds de launch om de paar dagen hotfixes uitkomen. Steam updatet de clients van spelers automatisch, en een client kan niet joinen op een server met een andere versie, dus de server moet als eerste updaten.
Stap 1: Installeer de Valheim Dedicated Server
De dedicated server is een gratis tool op Steam (App ID 896660). Je kunt hem op twee manieren installeren.
Via de Steam-client (Windows): open je Library, zet het filter op Tools, zoek "Valheim Dedicated Server" en installeer die. Klik er met de rechtermuisknop op en kies Manage > Browse local files om de map te vinden.
Via SteamCMD (Windows of Linux): dit is de methode die werkt op een VPS zonder desktop. Installeer SteamCMD en draai dan:
steamcmd +force_install_dir /home/valheim/server +login anonymous +app_update 896660 validate +quit
Op Windows vervang je het pad door iets als C:\valheim_server. Hetzelfde commando updatet de server later ook, dus houd het bij de hand.
Linux dependencies: de server heeft libatomic1, libpulse0 en libpulse-dev nodig. Op Ubuntu of Debian:
sudo apt update && sudo apt install -y libatomic1 libpulse0 libpulse-dev
Als je distro ouder is dan glibc 2.29 (CentOS 7 en consorten), start de server niet. De installatie bevat een docker_start_server.sh-script voor precies dit geval, dat behandelen we in Stap 6.
Stap 2: Configureer het startscript
Er is geen configbestand. Alles wordt ingesteld met launch arguments in een startscript:
- Windows:
start_headless_server.bat - Linux:
start_server.sh
Kopieer het script voordat je het bewerkt. Steam overschrijft het origineel elke keer dat de server updatet, en dan ben je je instellingen kwijt. Een minimaal Windows-script ziet er zo uit:
@echo off
set SteamAppId=892970
valheim_server.exe -nographics -batchmode -name "Odin's Basement" -port 2456 -world "Midgard" -password "mjolnir42" -crossplay
En het Linux-equivalent (het standaard start_server.sh exporteert al LD_LIBRARY_PATH en SteamAppId, dus verander alleen de laatste regel):
./valheim_server.x86_64 -name "Odin's Basement" -port 2456 -world "Midgard" -password "mjolnir42" -crossplay
De wachtwoordregels zijn voor veel mensen een struikelblok: het wachtwoord moet minimaal vijf tekens lang zijn en mag nergens in de servernaam voorkomen. Anders weigert de server te starten. Het wachtwoord leeg laten werkt alleen met -public 0, en dat moet je niet doen op iets wat vanaf het internet bereikbaar is.
Launch arguments van de Valheim server
| Argument | Wat het doet | Standaard |
|---|---|---|
-name "..." | Naam die in de serverbrowser wordt getoond | geen, verplicht |
-port 2456 | Gamepoort. De server gebruikt ook poort+1 voor queries | 2456 |
-world "..." | Wereld om te laden. Wordt aangemaakt als die niet bestaat | geen, verplicht |
-password "..." | Wachtwoord om te joinen, 5+ tekens, geen deel van de naam | geen |
-savedir "path" | Waar werelden en permissielijsten worden opgeslagen | zie hieronder |
-public 0/1 | 1 toont de server in de browser, 0 verbergt hem (alleen joinen via IP) | 1 |
-crossplay | Gebruik de PlayFab-backend zodat Xbox, PS5 en Switch 2 kunnen joinen | uit |
-instanceid "..." | Uniek ID als je meerdere crossplay servers op één machine draait | geen |
-logFile "path" | Schrijf de log naar een bestand in plaats van naar de console | console |
-saveinterval 1800 | Seconden tussen world saves | 1800 |
-backups 4 | Aantal automatische backups om te bewaren | 4 |
-backupshort 7200 | Seconden tot de eerste backup | 7200 |
-backuplong 43200 | Seconden tussen de overige backups | 43200 |
-preset name | Pas een world modifier preset toe | geen |
-modifier key value | Stel één world modifier in (herhaalbaar) | geen |
-setkey name | Zet een world modifier checkbox aan (herhaalbaar) | geen |
De standaard save-map is %USERPROFILE%\AppData\LocalLow\IronGate\Valheim op Windows en ~/.config/unity3d/IronGate/Valheim op Linux. Werelden komen in een submap worlds_local. Zet -savedir op een server op iets expliciets, zodat je altijd weet waar de wereld staat.
Stap 3: World modifiers vanaf de command line
Sinds de Hildir's Request-update wordt de moeilijkheidsgraad per wereld ingesteld in plaats van per client, en de dedicated server biedt dezelfde opties als het World Modifiers-scherm in de game.
Presets stellen alles in één keer in: -preset gevolgd door normal, casual, easy, hard, hardcore, immersive of hammer.
Modifiers veranderen één instelling: -modifier gevolgd door een key en een waarde.
| Key | Waarden |
|---|---|
combat | veryeasy, easy, hard, veryhard |
deathpenalty | casual, veryeasy, easy, hard, hardcore |
resources | muchless, less, more, muchmore, most |
raids | none, muchless, less, more, muchmore |
portals | casual, hard, veryhard |
Keys zijn de checkboxes: -setkey gevolgd door nobuildcost, playerevents, passivemobs of nomap.
De volgorde is belangrijk. Een preset reset elke modifier, dus zet -preset vooraan en je -modifier- en -setkey-flags erachter. Een veelgebruikte setup voor een server met alleen vrienden, waar raids de bouwwerken niet moeten verstoren:
-preset normal -modifier raids none -modifier resources more -setkey passivemobs
De server schrijft deze bij het starten in de wereld, dus de laatste combinatie waarmee je gestart bent blijft staan, ook als je de flags later weghaalt.
Stap 4: Poorten, firewall en port forwarding
Valheim gebruikt twee UDP-poorten: de poort die je met -port instelt en de volgende erboven. Met de standaardwaarde betekent dat UDP 2456 en 2457. Oudere gidsen noemen ook 2458. Die werd jaren geleden door het query-systeem van Steam gebruikt en is sindsdien niet meer nodig.
Gebruik je de Steam-backend (geen -crossplay), dan moeten beide poorten vanaf je router naar het LAN-IP van de server geforward worden, en open staan in de firewall van het OS. Op Ubuntu:
sudo ufw allow 2456:2457/udp
Op Windows sta je valheim_server.exe toe op privé- en openbare netwerken zodra de firewall-prompt bij de eerste start verschijnt.
Gebruik je -crossplay, dan praat de server met spelers via een relay, dus er valt niets te forwarden. De poort wordt nog wel gebruikt om servers uit elkaar te houden als er meerdere één publiek IP delen.
Draai je op een VPS of een eigen dedicated bak? Dan heeft de provider meestal ook een firewall vóór de machine staan. Open de poorten daar ook.
Stap 5: Crossplay met Xbox, PS5 en Switch 2
Voeg -crossplay toe aan de launch-regel en de server registreert zich bij PlayFab in plaats van Steam. Zodra hij draait, print de log een regel als deze:
Session "Odin's Basement" with join code 978199 and IP 203.0.113.10:2456 is active with 0 player(s)
Consolespelers voeren die zescijferige join code in. PC-spelers kunnen de code of het IP en de poort gebruiken. Twee addertjes onder het gras:
- Op een crossplay server kun je niet joinen via het LAN-IP of
127.0.0.1. Iedereen gaat via de relay, jij ook. - De relay voegt een paar milliseconden latency toe ten opzichte van een directe Steam-verbinding. Niet veel, maar als je groep alleen op Steam speelt kun je crossplay uit laten.
Draai je meer dan één crossplay server op dezelfde machine, geef ze dan elk een andere -instanceid zodat PlayFab ze uit elkaar kan houden.
Console-patches komen soms een dag of twee na de PC-hotfix uit. Als één platform na een update ineens niet meer kan joinen, is dat meestal de reden.
Op een gehoste server is dit één checkbox. Zie hoe je crossplay inschakelt op een Valheim server van Host Havoc voor waar de join code verschijnt.
Stap 6: Start de server en houd hem draaiend
Start het script. De server is klaar zodra de console Game server connected print. Op de Steam-backend kan het een minuut of twee duren voordat hij in de serverlijst verschijnt; joinen via IP werkt meteen.
De server stoppen: druk op Ctrl+C in het consolevenster. Dat triggert een save. Het venster sluiten of het proces killen kan alles sinds de laatste autosave weggooien.
Linux met systemd: een unit-bestand houdt de server draaiend na een reboot en, belangrijker nog, stuurt het juiste signaal bij het afsluiten. Sla dit op als /etc/systemd/system/valheim.service:
[Unit]
Description=Valheim dedicated server
After=network-online.target
[Service]
User=valheim
WorkingDirectory=/home/valheim/server
ExecStart=/home/valheim/server/start_server_custom.sh
KillSignal=SIGINT
TimeoutStopSec=60
Restart=on-failure
[Install]
WantedBy=multi-user.target
KillSignal=SIGINT is de belangrijke regel. Het is hetzelfde als Ctrl+C, dus systemctl stop valheim slaat de wereld op voordat hij afsluit. Schakel hem in met sudo systemctl enable --now valheim.
Docker: de servermap bevat docker_start_server.sh. Draai ./docker_start_server.sh start_server_custom.sh en hij bouwt bij de eerste run een container met de juiste libraries, en start bij latere runs meteen. De wereld-data staat standaard in een Docker-volume met de naam valheim_server_data. Verander DOCKER_DATA_VOLUME in het script naar een normaal pad als je de bestanden ergens wilt hebben waar je ze kunt zien.
Admins, bans en whitelists
De permissies zijn drie tekstbestanden in de save-map, één speler-ID per regel:
adminlist.txt: wie admin-commando's mag gebruikenbannedlist.txt: wie geblokkeerd ispermittedlist.txt: een whitelist. Als er iemand in dit bestand staat, komt niemand anders er meer in.
ID's gebruiken het formaat Platform_ID, dus een Steam-speler ziet eruit als Steam_76561198000000000 en een Xbox-speler als Xbox_2535400000000000. Het ID van een verbonden speler lees je af uit de serverlog of uit het F2-paneel in de game. De bestanden worden live gelezen; geen restart nodig.
Admins openen de console met F5 (de client heeft -console nodig in de Steam launch options) en krijgen kick, ban, unban, banned en save. Voor de volledige lijst, zie ons overzicht van console commands voor Valheim.
Backups, saves en updates
De server slaat standaard elke 30 minuten automatisch op (-saveinterval). Daarnaast bewaart hij roterende backups: met de standaardinstellingen één van 2 uur oud en drie met 12 uur ertussen (-backups 4 -backupshort 7200 -backuplong 43200). Ze komen naast de wereld terecht in worlds_local.
Die backups staan op dezelfde schijf als de server, dus ze helpen niet als de schijf kapotgaat. Kopieer de wereldmap op een vast schema naar een andere plek. Een wereld bestaat uit precies twee bestanden, <name>.db en <name>.fwl, en die moeten als paar geback-upt en teruggezet worden.
Om te updaten stop je de server en draai je hetzelfde SteamCMD-commando uit Stap 1. De Steam-clientversie updatet zichzelf als je hem start.
Problemen oplossen
De server verschijnt niet in de browser. Check -public 1, check of beide UDP-poorten geforward en open zijn, en wacht een paar minuten. Probeer direct via IP te joinen. Werkt dat, dan zijn de poorten in orde en ligt het alleen aan de serverlijst.
"Incompatible version" bij het joinen. De server loopt achter op de clients. Update hem.
De server sluit meteen na het starten af. Bijna altijd het wachtwoord: te kort, of het zit in de servernaam. Check de log.
Crossplay-spelers kunnen niet verbinden maar Steam-spelers wel. Controleer of -crossplay echt in de launch-regel staat en of de log een join code toont. Als de log in plaats daarvan een Steam-achtige opstart laat zien, is de flag verloren gegaan toen Steam het script resette.
Iedereen werd gekickt nadat ik een vriend aan de permitted list toevoegde. Dat is precies wat dat bestand doet. Voeg iedereen toe of niemand.
Het RAM-gebruik loopt op tijdens een lange sessie. Normaal voor een verkende wereld. Een nachtelijke restart op een rustig uur houdt het in toom en is makkelijk in te plannen met systemd timers of Task Scheduler.
De wereld is na een crash terug in de tijd gegaan. Het proces is gekilld zonder save. Gebruik Ctrl+C of KillSignal=SIGINT, en zet zo nodig een backup uit worlds_local terug.
Of huur een Valheim server en sla het script over
Alles hierboven is in een avond te doen, en daarna is het aan jou om het te onderhouden: updaten bij elke hotfix, backups buiten de machine, een machine die aan blijft, en alles opvangen wat het internet op een open UDP-poort afvuurt.
Huur een Valheim server bij Host Havoc en dezelfde instellingen worden checkboxes. Crossplay, world modifiers, het wachtwoord en de wereldnaam stel je in vanuit het control panel, backups gaan automatisch, en BepInEx-mods installeer je met één klik. Servers staan binnen een paar minuten online in Noord-Amerika, Europa, Australië en Zuid-Amerika, en support reageert de klok rond. Heb je al een wereld, dan kun je die naar je server uploaden en verdergaan waar je gebleven was.
Veelgestelde vragen
Hoeveel RAM heeft een Valheim dedicated server nodig?
4 GB is genoeg voor een nieuwe wereld met een paar spelers. Reken op 8 GB voor een verkende wereld met 8 tot 10 mensen online. De server houdt de hele geladen wereld in het geheugen, dus het gebruik groeit naarmate de map verkend wordt.
Is de Valheim dedicated server gratis?
Ja. De servertool is gratis op Steam en via SteamCMD, en heeft geen exemplaar van de game of een ingelogd Steam-account nodig. Je betaalt voor de hardware en de verbinding.
Kunnen Xbox-, PS5- en Switch 2-spelers op mijn server joinen?
Ja, als de server met -crossplay draait. Hij gebruikt dan de PlayFab-backend en geeft een join code uit die consolespelers invoeren. Zonder de flag kunnen alleen Steam-spelers hem zien of joinen.
Moet ik poorten forwarden voor een crossplay server?
Nee. Crossplay servers verbinden via een relay. Bij servers op de Steam-backend moeten UDP 2456 en 2457 geforward zijn.
Verschijnt de Deep North in mijn bestaande wereld na 1.0?
Alleen in delen van de map die nog niemand verkend heeft. Als je groep al in het verre noorden is geweest, wordt dat gebied niet opnieuw gegenereerd. Iron Gate raadt een verse wereld aan voor 1.0.
Hoe maak ik mezelf admin op mijn Valheim server?
Zet je platform-ID (bijvoorbeeld Steam_7656...) op een eigen regel in adminlist.txt in de save-map. Het wordt zonder restart actief. Start daarna de game met -console en druk op F5.
Hoe host ik een Valheim server zonder dit allemaal op te zetten?
Gebruik een host. De Valheim server hosting van Host Havoc draait dezelfde dedicated server met crossplay, world modifiers en mods die je vanuit een panel beheert, en updatet hem bij elke patch.