How to Set Up a Valheim Dedicated Server: 12 Steps, Crossplay [2026]

Valheim hit version 1.0 on September 9, 2026, at 12:55 UTC, closing out five years of Early Access with the Deep North biome, a pile of endgame content, and something server admins had been asking for since 2021: native support for PlayStation 5 and Nintendo Switch 2, with full crossplay across every platform Iron Gate ships. That last part is the wrinkle. A dedicated server built the old way, PC-only, no crossplay flag, quietly locks out every console player who wants in. This guide walks through standing up a Valheim dedicated server from a bare Windows or Linux box, wiring in crossplay so PC, Xbox, PS5, and Switch 2 players can all land in the same world, and hardening it enough that you’re not rebuilding it after the first crash. Twelve steps, roughly 90 minutes if you’re doing it for the first time, less if you’ve run a SteamCMD-based server before.

We’ll cover both paths: self-hosting on your own hardware or a cheap VPS, and pointing the same instructions at a rented slot from a managed host. Either way, the underlying binary and launch flags are identical, because Valheim’s dedicated server is just a SteamCMD app with a handful of command-line switches. Read the full rundown of what shipped in Valheim 1.0 if you want the platform and pricing context before you start building.

Google · Preferred Sources

Don't miss new tech stories on Google

Add Tech Insider once in the Google app and our stories appear in your news suggestions.

Add Now

Why Valheim 1.0 Changes the Dedicated Server Setup

Before 1.0, Valheim dedicated servers were a PC-and-Xbox affair. Console crossplay existed since 2022 for Xbox specifically, but PS5 and Switch 2 simply weren’t in the picture because the game hadn’t shipped there. With the September 9 release, Iron Gate Studio and publisher Coffee Stain Publishing put the full release out simultaneously on PC (Steam, Microsoft Store, Linux, Mac, and Humble Store), Xbox One, Xbox Series X|S, PlayStation 5, and Nintendo Switch 2, with crossplay enabled across the entire list. That’s six distinct platform targets landing on one game world, which means a dedicated server now has to answer to more traffic types than it did a month earlier.

Two things matter for admins here. First, crossplay on a dedicated server routes through a PlayFab-backed matchmaking layer rather than a raw Steam handshake, which is why the server needs an explicit -crossplay launch flag rather than picking it up automatically. Second, the headline content addition, the Deep North, is the final major biome in Valheim’s original roadmap, closing out progression that started when the game entered Early Access back in 2021. None of that changes your server’s port requirements or hardware floor dramatically, but it does mean more concurrent players from more device types, which is the whole reason to get the setup right the first time instead of patching it together after your friends on PS5 can’t connect.

Migrating an Existing Pre-1.0 World to the New Update

If you were already running a Valheim server through Early Access, the good news is that the 1.0 update patches in place rather than forcing a fresh world. Update your server files with the same app_update 896660 command from Steps 2 or 3, restart, and your existing world loads with the new content layered on top, including access to the Deep North once your characters meet whatever in-game progression gate applies. Iron Gate’s 1.0 release coverage confirms the Deep North caps off the biome progression that’s been building since the game left Early Access behind after five years.

Back up your world folder before running the update regardless, the same way you’d back up before any major patch. Copy the entire worlds_local directory somewhere safe first. World saves themselves haven’t changed format in a way that breaks old worlds, but a bad patch, a disk hiccup, or a mistyped path during the update is cheap insurance against losing months of base-building. If you’re adding crossplay to a server that’s been PC-only since Early Access, this is also the moment to add the -crossplay flag to your existing launch script, since nothing about migrating the world itself turns crossplay on automatically.

Prerequisites: Software, Accounts, and Server Specs

You don’t need much to get started, but skipping any of this list is the single biggest reason first-time server setups stall out. Here’s what to have ready before Step 1.

  • A Windows 10/11 machine or a Linux box (Ubuntu 22.04/24.04, Debian 12, or similar with GLIBC 2.29 or newer) that can stay powered on and connected for as long as you want the server up.
  • Admin/root access to install software and edit firewall or router settings.
  • SteamCMD, Valve’s command-line Steam client, which is free and downloads the actual Valheim dedicated server files. Grab it from Valve’s official SteamCMD documentation.
  • A copy of Valheim itself is not required to run the dedicated server binary. SteamCMD pulls App ID 896660, the standalone dedicated server tool, which is free regardless of whether you own the game.
  • Router access if you’re self-hosting behind home internet, specifically the ability to forward UDP ports.
  • At least one Steam account for the initial anonymous SteamCMD login (no purchase needed, anonymous login works for this specific app).
  • 15-20 GB of free disk space at minimum, more if you’re planning mods or a long-lived world with regular backups.

On the hardware side, Iron Gate’s own guidance for the dedicated server tool starts low, but real-world guides from hosting providers consistently recommend running well above the stated minimum once you factor in a full 10-player session with crossplay traffic. Here’s how the specs scale by group size, pulled from current 2026 hosting and requirement guides.

TierPlayersCPURAMStorage
Bare minimum1-42 cores, any modern x642 GB2-5 GB
Recommended5-104 cores @ 3.0 GHz+4-8 GB10-20 GB SSD
High population / modded10-204-6 cores @ 3.5 GHz+8-16 GB20-40 GB NVMe

Upload bandwidth matters more than raw download speed for a self-hosted server, since every packet describing world state goes out from your connection. Somewhere around 15 Mbps of upload comfortably handles a 5-10 player session; if your home internet caps upload lower than that, a rented VPS is going to be the better call regardless of how strong your CPU is.

Step 1: Self-Host or Rent — Picking Your Server Path

Every instruction in this guide works identically whether you’re running the server on a machine sitting next to your router or on a rented Linux VPS from a provider like DigitalOcean, Vultr, or AWS Lightsail. The difference is who manages the box and how much you pay for it. Self-hosting is free beyond electricity and whatever hardware you already own, but it ties your server’s uptime to your home internet and exposes your home IP address unless you route through a reverse proxy or VPN. Renting a small VPS, generally in the $5-$20/month range for the specs above, keeps the server running 24/7 independent of your PC and gives you a clean public IP, at the cost of a monthly bill. Our DigitalOcean vs Vultr vs Lightsail comparison breaks down IOPS and pricing if you’re leaning toward the VPS route.

There’s a third option: managed game hosts that install and patch Valheim for you through a web panel, no SteamCMD or terminal required. That trades control and cost for convenience. If that sounds more your speed, skip ahead to the Apex Hosting vs Shockbyte vs Nodecraft pricing comparison instead of following the manual steps below, since these providers handle Steps 2 through 8 internally. Everyone else, keep reading, this guide assumes you’re doing the install yourself.

Step 2: Install SteamCMD on Windows

Create a folder for SteamCMD, something simple like C:\steamcmd, and download the Windows client zip from Valve’s SteamCMD page. Extract it into that folder, then run steamcmd.exe once by itself. It auto-updates and drops you at a Steam> prompt, at which point you can close it. That first run matters, it pulls the base SteamCMD files before you try to install anything on top of them.

Rather than installing Valheim’s server files by typing commands interactively, save yourself the repetition by putting the install command into a batch file. Create a text file named install-valheim.bat in your SteamCMD folder with the following:

@echo off
steamcmd.exe +force_install_dir "C:\ValheimServer" +login anonymous +app_update 896660 validate +quit

Double-click it. SteamCMD logs in anonymously (no password needed for this specific app), downloads roughly a few gigabytes of server files, and validates the install. Re-running this same batch file later is also how you patch the server after Iron Gate ships an update, so keep it around rather than deleting it once the install finishes.

Step 3: Install SteamCMD on Linux

On Debian or Ubuntu, SteamCMD lives in the multiverse repository and needs 32-bit compatibility libraries, since parts of the Steam runtime are still 32-bit even on a 64-bit host. Run these commands in order:

sudo dpkg --add-architecture i386
sudo add-apt-repository -y multiverse
sudo apt update
sudo apt install -y steamcmd libpulse0 libatomic1 libc6-i386
sudo useradd -m -s /bin/bash valheim
sudo -iu valheim

That last pair of lines creates a dedicated non-root user for the server and switches into it, which keeps a compromised or crashing server process from touching the rest of your system. Once you’re logged in as that user, pull the dedicated server files the same way Windows does, just with the Linux platform type forced explicitly:

steamcmd +@sSteamCmdForcePlatformType linux \
  +force_install_dir /home/valheim/server \
  +login anonymous \
  +app_update 896660 validate \
  +quit

One catch worth flagging up front: Valheim’s server binary needs GLIBC 2.29 or newer. If you’re on an older distro, like Ubuntu 18.04 or Debian 10, the server fails to launch with a cryptic linker error rather than a clear version message. The fix on old distros is to run the server inside a Docker container built on a newer base image instead of fighting your host OS’s package versions.

Step 4: Download the Valheim Dedicated Server (App ID 896660)

If you followed Steps 2 or 3, this already happened, the app_update 896660 command in both batch scripts is the actual download step. It’s worth understanding what that app ID represents, though: 896660 is a separate, free Steam app from the retail game, which lives at Steam App ID 892970. You can install the dedicated server tool on a machine that has never had Valheim purchased or launched on it, which is exactly why SteamCMD’s anonymous login works here without a paid account attached.

Expect the download to land somewhere in the low single-digit gigabytes. Once it finishes, check your install directory. On Windows you should see valheim_server.exe; on Linux, valheim_server.x86_64. Both sit alongside a handful of supporting DLLs or shared objects and a valheim_server_Data folder. If that folder and executable are missing after SteamCMD reports success, re-run the update command with validate included, exactly as shown above, since that flag forces SteamCMD to re-check every file against Valve’s manifest rather than trusting a partial download.

Step 5: Write Your Server Launch Script

The dedicated server binary takes its configuration entirely from command-line flags, there’s no separate config file to edit for the basics. The flags you need for a crossplay-enabled 1.0 server are -name, -port, -world, -password, -public, and the one that didn’t exist in the earliest versions of the game, -crossplay. Save the following as start-valheim.sh on Linux, or the Windows equivalent shown after it:

#!/bin/bash
export templdpath=$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=./linux64:$LD_LIBRARY_PATH
export SteamAppId=892970

./valheim_server.x86_64 \
  -name "Deep North Outpost" \
  -port 2456 \
  -world "MyWorld" \
  -password "ChangeThisPassword" \
  -public 1 \
  -crossplay \
  -saveinterval 1800 \
  -backups 4 \
  -backupshort 3600 \
  -backuplong 43200

export LD_LIBRARY_PATH=$templdpath

On Windows, drop the export lines and Unix line endings, and use a batch file instead:

@echo off
set SteamAppId=892970
valheim_server.exe -name "Deep North Outpost" -port 2456 -world "MyWorld" -password "ChangeThisPassword" -public 1 -crossplay -saveinterval 1800 -backups 4 -backupshort 3600 -backuplong 43200
pause

A few notes on the values. The password field needs to be at least five characters or the server silently refuses connections without a clear error, so don’t leave it short for testing. The world name is arbitrary text you pick, it’s what creates or loads a save under that name in your server’s save folder, so keep it consistent between restarts unless you deliberately want a fresh map. The -saveinterval, -backups, -backupshort, and -backuplong flags are all in seconds and control Valheim’s built-in autosave and rolling backup system, which we’ll lean on again in Step 10.

Step 6: Forward the Right Ports on Your Router

Valheim’s dedicated server talks over UDP, not TCP, and it needs a three-port block starting at whatever base port you set with -port. The default base is 2456, which means you’re forwarding 2456 through 2458. If you’re self-hosting behind a home router, log into its admin panel, find the port forwarding section, sometimes labeled “virtual server” or “NAT forwarding” depending on the manufacturer, and add the following rules pointing at your server machine’s LAN IP.

PortProtocolPurpose
2456UDPBase game port (connections and world sync)
2457UDPSecondary game traffic
2458UDPQuery/server browser traffic

If you’re on a rented VPS, most providers open these automatically or expose a firewall panel where you add the same three UDP ports, no router involved. Either way, give your server machine a static local IP or a DHCP reservation before forwarding anything, otherwise your router’s lease can hand that IP to a different device after a reboot and quietly break the forward without any obvious error on the server side.

Step 7: Turn On Crossplay for PC, PS5, and Switch 2

This is the step that didn’t exist before Valheim 1.0’s September 9 launch. The -crossplay flag in your launch script, already included in Step 5’s example, is what actually opens the server to non-PC platforms, routing connections through Valheim’s PlayFab-backed matchmaking layer instead of a Steam-only handshake. Without it, the server still runs fine, it just quietly stays invisible to Xbox, PS5, and Switch 2 players trying to join by server name or code.

On Linux specifically, crossplay support pulls in a couple of runtime dependencies beyond the base SteamCMD install, namely libpulse0 and libatomic1, both of which you already installed back in Step 3. If you skipped ahead and are only now adding crossplay to an existing server, go back and run that apt install line before restarting with the new flag, since a missing dependency here tends to show up as the server hanging on startup rather than throwing a clear crossplay-specific error.

There’s no separate crossplay password or matchmaking code to configure beyond the flag itself. Players on any supported platform join the same way they always have, by server name, direct IP and port, or an in-game server browser entry, once the flag is live and the server has fully booted.

Step 8: Start the Server and Read the Log Output

Run your launch script, ./start-valheim.sh on Linux, or double-click the batch file on Windows. A healthy first boot takes a couple of minutes, since it’s generating a fresh world if this is a new world name, then loading networking and Steam integration on top of that. You’re looking for output roughly like this before you try connecting:

Session "Deep North Outpost" with join code ... and IP 0.0.0.0:2456 is active with 0 player(s)
World "MyWorld" generation took 00:01:42.311
Game server connected
Zonesystem Start znr:0
Ready for connections

“Ready for connections” is your green light. If the log stops well before that line and the process just closes, jump to the troubleshooting section below, that pattern almost always traces back to a missing Linux dependency, a world name conflict, or the GLIBC version mismatch covered in Step 3. Leave the terminal or console window open while testing, closing it kills the server process on both platforms unless you’ve already wrapped it in a service, which is Step 10.

Step 9: Connect From PC, PS5, and Switch 2

On PC, launch Valheim, choose Start Game, and either search the in-game server list by name, if you set -public 1, or use the direct IP connect option with your server’s public IP and the base port. Enter the password from your launch script when prompted.

On PS5 and Switch 2, both new to Valheim as of 1.0, the flow mirrors what Xbox players have used since the game added console crossplay in 2022: open the multiplayer or server browser menu from the main screen, search by server name, and enter the same password. Because crossplay routes through PlayFab rather than a platform-specific network layer, console players don’t need anything extra installed or enabled on their end beyond having crossplay turned on in their own platform’s account settings, which is typically on by default.

One gotcha that trips up a lot of first-time hosts: if you and a friend are testing from the same home network as the server itself, connecting via the public IP often fails or times out due to NAT loopback, also called NAT hairpinning, which plenty of consumer routers don’t support. The fix is simple, connect using the server machine’s local LAN IP instead of its public IP when you’re on the same network, and reserve the public IP for genuinely remote players.

Step 10: Automate Backups and Run It as a Service

Valheim’s own -backups, -backupshort, and -backuplong flags from Step 5 handle in-place rolling saves, but those live on the same disk as your active world, which doesn’t help if that disk fails. Add a second, external backup layer with a small cron job that copies the save folder to a separate location on a schedule. On Linux, the world files live under ~/.config/unity3d/IronGate/Valheim/worlds_local/ for the user running the server. A basic daily backup script looks like this:

#!/bin/bash
SRC="/home/valheim/.config/unity3d/IronGate/Valheim/worlds_local"
DEST="/home/valheim/backups/$(date +%F)"
mkdir -p "$DEST"
cp -r "$SRC"/* "$DEST"/
find /home/valheim/backups/* -maxdepth 0 -type d -mtime +14 -exec rm -rf {} \;

That last line prunes anything older than 14 days so backups don’t quietly fill your disk over months of running. Add it to cron with crontab -e and a line like 0 4 * * * /home/valheim/backup-valheim.sh to run it daily at 4am.

For keeping the server itself running through reboots and crashes, wrap it in a systemd service instead of relying on a terminal staying open. Create /etc/systemd/system/valheim.service:

[Unit]
Description=Valheim Dedicated Server
After=network.target

[Service]
Type=simple
User=valheim
WorkingDirectory=/home/valheim/server
ExecStart=/home/valheim/server/start-valheim.sh
Restart=on-failure
RestartSec=15

[Install]
WantedBy=multi-user.target

Enable and start it with sudo systemctl enable --now valheim. From here on, the server survives reboots and automatically restarts if it crashes, and you can check on it any time with systemctl status valheim or watch live logs with journalctl -u valheim -f. On Windows, the equivalent is Task Scheduler set to run your batch file at startup with “run whether user is logged on or not” checked, or a dedicated service wrapper tool like NSSM if you want restart-on-crash behavior matching systemd’s.

Step 11: Add Mods Without Breaking Crossplay

BepInEx and Valheim Plus, the two most common modding frameworks for Valheim, remain relevant after 1.0. Neither the release notes nor Iron Gate’s public statements point to mods being removed or blocked outright, but every major update, and 1.0 is about as major as they come, tends to break mod compatibility temporarily until each mod’s author pushes a compatible update. Treat any mod you were running pre-1.0 as unverified until you’ve confirmed it against the current build, rather than assuming it still works.

The bigger issue for a crossplay server specifically: PS5 and Switch 2 players have no way to install PC-side mods like BepInEx plugins. If your server relies on mods that change core game data, expect console players joining via crossplay to either fail connection checks or see broken or missing content, since their client is running unmodified 1.0 code against a server expecting modified assets. If crossplay across all six platforms is the priority, keep the server vanilla, or limit mods strictly to server-side conveniences, like extended build limits or admin tools, that don’t require a matching client-side install. If mods are the priority, expect to run a PC/Xbox-only server and accept that PS5 and Switch 2 players can’t join that particular world.

Step 12: Set Up Admin, Ban, and Permission Lists

Three plain-text files control who can do what on your server, all living in the same folder as your world save: adminlist.txt, bannedlist.txt, and permittedlist.txt. Each takes one Steam ID, or platform-equivalent ID for console players, per line. Admins listed in adminlist.txt get access to server console commands like kicking players or adjusting world settings mid-session; anyone in bannedlist.txt is refused connection outright; and if you’re running a private server with -public 0, permittedlist.txt acts as a whitelist limiting connections to only the IDs listed.

These files aren’t created automatically, you need to make them yourself in the world’s save folder before the server reads them on next restart. Find a player’s Steam ID from their Steam profile URL, or for console players, from the platform ID shown in their in-game crossplay friend list. Restart the server after editing any of these three files for the changes to take effect, live-editing while the server runs doesn’t get picked up until the next boot.

Common Pitfalls When Setting Up a Valheim Dedicated Server

Most failed setups trace back to one of a handful of repeat offenders. Check this list before you start troubleshooting deeper.

  • Forgetting the crossplay flag. The server runs fine without -crossplay, which is exactly why this mistake is so easy to miss, nothing errors, console players just can’t find the server.
  • Password shorter than five characters. The server silently rejects connections rather than throwing a clear error about password length.
  • Forwarding TCP instead of UDP. Valheim’s game traffic is UDP only. TCP forwarding rules do nothing and won’t fix connection failures.
  • Running the server on a dynamic local IP. If your router reassigns your server’s LAN IP after a reboot, your port forward silently points at the wrong device until you notice players can’t connect.
  • Skipping the Linux 32-bit and crossplay dependencies. A server that installs and boots fine can still fail crossplay specifically if libpulse0 or libatomic1 weren’t installed alongside SteamCMD.

Troubleshooting Guide

Working through a stuck setup usually means matching your symptom to one of these known causes.

SymptomLikely CauseFix
Server visible but connection times outPorts 2456-2458 UDP not forwarded, or forwarded as TCPRecheck router rules, confirm UDP protocol and correct LAN IP
PC players connect, console players can’t find the serverMissing -crossplay flagAdd the flag to your launch script and restart
Server process exits immediately on Linux with no clear errorGLIBC version below 2.29Run the server in a Docker container with a newer base image
Server hangs indefinitely on startup with crossplay enabledMissing libpulse0 or libatomic1 on LinuxInstall both packages via apt and restart
“World not found” or wrong world loads-world value doesn’t match an existing save name exactly, including caseCheck the exact save name in your worlds folder and match it precisely
World appears corrupted or won’t load after a crashServer was killed mid-save rather than shut down cleanlyRestore from the most recent auto-backup in the backups subfolder
Same-network players can’t connect via public IP, remote players canNAT loopback/hairpinning unsupported by your routerHave local players connect using the server’s LAN IP instead of the public IP
Login fails during SteamCMD app_updateAnonymous login rate-limited or interrupted mid-downloadRe-run the same install command with validate, it resumes rather than restarting
Server runs but disappears from the public server listQuery port 2458 blocked while game ports remain openConfirm all three ports in the 2456-2458 range are forwarded, not just the base port

Monitoring Server Health and Player Activity

A server that boots cleanly on day one can still drift into trouble weeks later, usually memory creep or a disk quietly filling up with logs and backups. If you went the systemd route in Step 10, journalctl -u valheim --since "1 hour ago" gives you a fast read on whether the process has been crash-looping without you noticing, since Restart=on-failure will keep bringing it back up silently in the background. Pair that with a basic disk check, df -h, run weekly at minimum, since the 14-day backup pruning in Step 10’s script assumes you’re not also piling up separate manual copies elsewhere on the same volume.

For player activity, Valheim’s own console log is still the most reliable source, connection and disconnection events print with timestamps as they happen, which is useful for spotting a player repeatedly failing to connect, a sign that usually points back to their own NAT or firewall rather than anything wrong with your server. If you’re running a public server with strangers able to join, keep an eye on that log for repeated failed join attempts from unfamiliar IDs before they succeed, since that pattern can indicate password-guessing rather than a normal connection hiccup.

Advanced Tips: Performance Tuning and World Management

Once the basics are stable, a few adjustments squeeze more headroom out of the same hardware. Lower your -saveinterval value on a server with a shaky connection or unreliable power, since a shorter interval means less progress lost if the process dies unexpectedly, at the cost of slightly more disk I/O. For a server that’s mostly idle overnight, consider a cron job that stops and restarts the service during low-traffic hours, since Valheim’s world simulation and memory usage both creep upward the longer a single session runs without a clean restart.

If you’re hosting on a VPS rather than home hardware, pick a region genuinely close to where most of your players are. Valheim’s netcode is forgiving of moderate latency for building and exploring, but combat and boss fights get noticeably worse above roughly 100-120ms round trip, which matters more now that PS5 and Switch 2 players might be joining from a different region than your PC-hosting crew.

World size is worth planning for ahead of time rather than discovering the hard way. Valheim worlds grow on disk as players explore further from spawn, since terrain and structure data get written permanently once generated. A world that starts at a few hundred megabytes can grow past several gigabytes after months of active exploration across a large group, which is the practical reason the storage column in the hardware table above climbs as high as 40 GB for a high-population server rather than staying flat. Check your world file size every few weeks with a quick du -sh on the save folder, and resize your disk allocation before you’re actually out of room, not after.

For larger groups pushing past 10 concurrent players, splitting responsibilities helps more than just throwing RAM at the problem: run backups on a separate lightweight cron schedule rather than relying solely on the in-game backup flags, and consider a dedicated management panel like Pterodactyl if you’re juggling a Valheim server alongside other game servers on the same box, since it handles start, stop, and restart scheduling through a web UI instead of SSH sessions.

The Complete Working Project: Full Server Kit

Putting every step above together, here’s the full Linux setup as one sequence, ready to copy into a fresh Ubuntu or Debian VPS. Adjust the world name, server name, and password before running.

# 1. System prep
sudo dpkg --add-architecture i386
sudo add-apt-repository -y multiverse
sudo apt update
sudo apt install -y steamcmd libpulse0 libatomic1 libc6-i386 cron

# 2. Dedicated user
sudo useradd -m -s /bin/bash valheim
sudo -iu valheim

# 3. Install the server
steamcmd +@sSteamCmdForcePlatformType linux \
  +force_install_dir /home/valheim/server \
  +login anonymous \
  +app_update 896660 validate \
  +quit

# 4. Launch script
cat > /home/valheim/server/start-valheim.sh << 'EOF'
#!/bin/bash
export templdpath=$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=./linux64:$LD_LIBRARY_PATH
export SteamAppId=892970
./valheim_server.x86_64 -name "Deep North Outpost" -port 2456 -world "MyWorld" \
  -password "ChangeThisPassword" -public 1 -crossplay \
  -saveinterval 1800 -backups 4 -backupshort 3600 -backuplong 43200
export LD_LIBRARY_PATH=$templdpath
EOF
chmod +x /home/valheim/server/start-valheim.sh

# 5. Backup script
mkdir -p /home/valheim/backups
cat > /home/valheim/backup-valheim.sh << 'EOF'
#!/bin/bash
SRC="/home/valheim/.config/unity3d/IronGate/Valheim/worlds_local"
DEST="/home/valheim/backups/$(date +%F)"
mkdir -p "$DEST"
cp -r "$SRC"/* "$DEST"/
find /home/valheim/backups/* -maxdepth 0 -type d -mtime +14 -exec rm -rf {} \;
EOF
chmod +x /home/valheim/backup-valheim.sh
(crontab -l 2>/dev/null; echo "0 4 * * * /home/valheim/backup-valheim.sh") | crontab -

# 6. systemd service (run as root/sudo, after exiting the valheim user shell)
exit
sudo tee /etc/systemd/system/valheim.service << 'EOF'
[Unit]
Description=Valheim Dedicated Server
After=network.target

[Service]
Type=simple
User=valheim
WorkingDirectory=/home/valheim/server
ExecStart=/home/valheim/server/start-valheim.sh
Restart=on-failure
RestartSec=15

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now valheim
sudo systemctl status valheim

Don't forget the router or VPS firewall step outside this script, forward UDP 2456-2458 to this machine before testing a connection. Once systemctl status valheim shows active (running) and your logs show "Ready for connections," you've got a working, crossplay-enabled, self-restarting, auto-backed-up Valheim 1.0 server.

Frequently Asked Questions

Do I need to own Valheim to run a dedicated server?
No. The dedicated server tool is Steam App ID 896660, a separate free download from the retail game, App ID 892970. SteamCMD's anonymous login covers it without a purchase attached to any account.

Can PS5 and Switch 2 players join a server hosted on PC or Linux?
Yes, as long as the -crossplay flag is set in your launch script. Crossplay routes through a PlayFab-backed connection layer rather than a platform-specific one, so the host platform doesn't matter to a joining console player.

What ports does Valheim's dedicated server actually need?
Three consecutive UDP ports starting at your configured base port, 2456-2458 by default. All three need to be forwarded, not just the base one, or the server drops off the public browser list even while direct connections might still work.

Will my old BepInEx or Valheim Plus mods still work after the 1.0 update?
Not automatically. Major updates like 1.0 routinely break mod compatibility until each mod's author ships an updated build. Test mods individually against the current version before trusting them on a live server, and remember that console crossplay players can't run PC-side mods at all.

How much does it cost to run a Valheim dedicated server?
Self-hosting on hardware you already own costs nothing beyond electricity. A rented VPS with specs matching the "recommended" tier above typically runs in the $5-$20/month range depending on provider and region; see our Valheim hosting price comparison for managed alternatives that handle the SteamCMD steps for you.

Why does my server disappear from the in-game browser but direct-connect still works?
That's almost always the query port, 2458 by default, not being forwarded even though the base game port is. The server is reachable directly but can't register itself with the public listing service.

Can I run Valheim and another game server, like Palworld, on the same machine?
Yes, as long as each uses distinct port ranges and you have enough combined RAM and CPU headroom for both. Our Palworld cloud server setup guide uses a similar SteamCMD-based pattern if you're building out a multi-game box.

What's the actual release date and time for Valheim 1.0?
September 9, 2026, at 12:55 UTC, according to Iron Gate's own release announcement, ending just over five years of Early Access that began in 2021.

Do I need to keep the dedicated server tool separate from my personal Steam library?
Yes, and this is by design. The Valheim Dedicated Server tool on Steam installs into whatever folder you point SteamCMD's force_install_dir flag at, entirely separate from a normal Valheim install. Keeping it in its own directory, as shown throughout this guide, avoids file conflicts if the same machine ever needs to run a regular client copy of the game too.

My world save file keeps growing. Is that normal?
Yes. Valheim writes terrain and structure data permanently as players explore, so the save file grows with exploration rather than staying a fixed size. A few months of active play across a group of 8-10 can push a world past several gigabytes, which is why the storage recommendations above scale up for high-population servers rather than assuming a flat, small footprint.

Related Coverage

Sofia Lindström

Sofia Lindström

Editor-in-Chief

Sofia Lindström is the Editor-in-Chief at Tech Insider, where she leads editorial strategy and oversees coverage across AI, cybersecurity, and enterprise technology. With over a decade in Swedish tech journalism, she previously served as technology editor at Dagens Industri and covered the Nordic startup ecosystem for Breakit. Sofia holds an MSc in Media Technology from KTH Royal Institute of Technology and is a frequent speaker at Web Summit and Slush. She is passionate about making complex technology accessible to business leaders.

View all articles