Short answer. You can host a Don't Starve Together server yourself for free: download the dedicated server (Steam app 343050) with SteamCMD and an anonymous login, get a free server token from your Klei account, and run two server processes, one for the surface and one for the caves, each on its own UDP port. Or rent a Don't Starve Together server and skip the networking.
Players find your server in the in-game server browser by its cluster name. Checked on 5 November 2026, accurate for the game's newest update, Hotfix 761239 (30 October 2026).
This guide uses what our panel sets up on every Don't Starve Together server: our install script, our start command and the files it writes. The rest comes from Valve's SteamCMD documentation and Klei's own dedicated server guides. To go straight to the rental route, see Option 2.
What you need
The server software: "Don't Starve Together Dedicated Server", Steam app 343050. It downloads with an anonymous login, so no Steam account is needed to install it.
A Klei server token: free, created in your Klei account at https://accounts.klei.com/account/game/servers?game=DontStarveTogether. The server will not load a world without one.
A machine that stays on: a spare PC, a home server or a cloud virtual machine. This guide uses 64-bit Linux, which is what we run. We have not tested Windows, so we do not give Windows steps.
RAM and CPU: we do not have a developer figure for dedicated servers to quote, so we give none. Running the caves doubles the number of server processes.
Network: two UDP ports reachable from the internet: one for the surface and one for the caves. This guide uses 10999 for the surface (Klei's default) and 11000 for the caves. The link between the two shards stays on the machine itself.
The game: every player needs the PC version of Don't Starve Together on Steam. Klei says dedicated servers are not supported for the Xbox and PlayStation versions.
The server software is free. You pay for the machine, power and bandwidth, not the software.
Option 1: host it yourself
The SteamCMD steps follow Valve's SteamCMD page. The folders, flags and file keys are the ones our panel sets up, checked against Klei's dedicated server settings guide.
Linux (Debian or Ubuntu)
Install the library SteamCMD needs.
sudo apt-get install lib32gcc-s1
We have not verified any other system libraries for the game itself, so if the server will not start, read its log for the missing library.
Create a steam user and switch to it. Valve warns against running SteamCMD as root.
sudo useradd -m steam
sudo -iu steam
Install SteamCMD as that user.
mkdir ~/Steam && cd ~/Steam
curl -sqL "https://client-update.steamstatic.com/installer/steamcmd_linux.tar.gz" | tar zxvf -
The first line lets a fresh SteamCMD update itself before the real download. Our install script does the same and retries up to three times, because Steam sometimes answers "Missing configuration" while SteamCMD still ends with "success" and no game files. Check that /home/steam/dst-server/steamapps/appmanifest_343050.acf exists. If it does not, run the download again.
Link the Steam client libraries into the .steam folder of the home directory of the user that runs the server, as Valve's SteamCMD page describes.
Our install script copies the same two files into the server folder instead, because it runs the server with HOME set to that folder.
Create a token and put it in place. Create a server token at the Klei address above and save it in cluster_token.txt. With the start command below, the folder is /home/steam/dst-server/DoNotStarveTogether/config/server/.
game_mode is survival, endless or wilderness. Klei's settings guide says cluster_key is required when shard_enabled is true (it is the password the caves use to join the surface), that each shard on one machine needs its own server_port, and that the two [STEAM] ports must also differ for each server on the same machine. They are internal, so you do not open them. The same guide lists every other key, such as a password, PvP and pausing when empty, with its default.
Start both shards. The caves shard is started in the background, and the surface shard in the foreground. This is the command our panel runs, with the port and player values filled in:
The -cluster server flag is why the files live in a folder called server. The server is up when the log prints Server Started on port:, which is the line our panel waits for.
Open the ports. Allow UDP 10999 and UDP 11000 on the machine's firewall (with ufw: sudo ufw allow 10999/udp and sudo ufw allow 11000/udp), then forward both as UDP on your router. Do not open 11001: it is only the link between the shards on the same machine.
Join. In the game, open the server browser and search for your cluster name.
Mods when you self-host
Our panel writes mods/dedicated_server_mods_setup.lua in the server folder (here ~/dst-server/mods/) with one line per mod, ServerModSetup("1234567890"), using the Steam Workshop item number. It also writes a modoverrides.lua in each shard folder, config/server/Master and config/server/Caves, inside a return { } block with one line per mod: ["workshop-1234567890"] = { enabled = true },. Doing the same by hand gives you the same result, but the mod must be enabled in both the Master and Caves folders.
Option 2: host it on PlayNHost
Renting removes the firewall, port forwarding and caves setup. Both shards, both ports and the cluster files are set up for you.
Pick a plan. Open the Don't Starve Together server hosting page and compare the plans (WOODIE, WES and MAXWELL at the time of writing, for 6, 12 and 25 players). Press Create Server on WOODIE or WES, or Customize Plan on MAXWELL, and finish the order. Prices change, so check them on that page.
Create your Klei token. Sign in to your Klei account at https://accounts.klei.com/account/game/servers?game=DontStarveTogether, create a server token (it is free) and copy it.
Open your server at panel.playnhost.com. You get a "server ready" email when the install is done. Without a token the server does not start the game: the Console shows a message that Don't Starve Together will not start without a Klei server token, with the address to create one.
Open Settings and fill the fields.
Server Token: paste the token you created.
Cluster Name: the name players search for in the server browser.
Cluster Description: the text shown with it.
Game mode: survival, endless or wilderness.
Steam Workshop Mods (optional): Workshop item numbers separated by commas, with no spaces, for example 1234567890,2345678901.
Auto-update server (under Show advanced): off unless you switch it on. When on, the server checks Steam for a new build each time it starts.
Start the server. Press Start (or Restart if it is already running) and watch the Console. The panel counts the server as running when the log prints Server Started on port:.
Join. Open the in-game server browser and search for your Cluster Name.
What the panel does for you
Caves on every plan. The start command runs the surface and the caves as two processes. The caves use their own port, shown as Caves Port, which is set when the server is created. When the surface shard stops, the start command sends a shutdown to the caves.
Token file. At every start the panel writes your Server Token into DoNotStarveTogether/config/server/cluster_token.txt.
Cluster files. At every start the panel writes game_mode, max_players, cluster_name and cluster_description into cluster.ini, sets up the link between the two shards on the server itself, and writes each shard's port. Change these in Settings: hand edits to those keys are replaced at the next start.
Player count. It follows your plan and is not a field you edit.
Mods for both worlds. At every start the panel rebuilds mods/dedicated_server_mods_setup.lua and the modoverrides.lua of both Master and Caves from Steam Workshop Mods. Mods you add by editing those files by hand are replaced, so add them in Settings. The file only enables each mod, so it cannot hold per-mod option values.
Install checks. The install retries the SteamCMD download and treats the app manifest, not the exit code, as proof that the files arrived.
Backups. If your plan includes backups, take one from Backups before changing files by hand.
Self-hosting or renting: an honest comparison
Cost. Self-hosted: the software is free, and you pay for hardware, power and bandwidth, or a cloud virtual machine. Rented: a monthly fee set by plan. See the current plans.
Availability. Self-hosted: as reliable as your machine, power and home internet, and it must stay on when your friends play. Rented: runs on the host's hardware, not your PC.
Network exposure. Self-hosted: players connect to your public IP, and you look after the firewall and router for two ports. Rented: your home IP is not involved.
Skill needed. Self-hosted: command line, port forwarding, editing .ini files, running two shards. Very doable, and a good way to learn. Rented: a web panel with form fields.
Updates. Self-hosted: stop, run the SteamCMD command again, start. Rented: switch Auto-update server on (under Show advanced in Settings), then press Restart after a patch to pick it up.
Self-hosting suits you if a machine already runs all day and you are comfortable with networking. Renting suits you if you would rather not look after hardware.
Common problems and fixes
The server never loads a world
Cause: there is no Klei server token. In our tests, neither shard starts without one. On PlayNHost the Console says so.
Fix: create a token at the Klei address above and put it in Server Token under Settings (or in cluster_token.txt if you self-host), then start again.
The download finishes but there are no game files
Cause: Steam answered "Missing configuration" and SteamCMD still reported success.
Fix: check that steamapps/appmanifest_343050.acf exists. If not, run the SteamCMD download again.
Your changes to cluster.ini or the mod files disappear (PlayNHost)
Cause: the key is one the panel writes at every start, or it is the mod list.
Fix: change the name, description, game mode and mods in Settings.
Mods start in the surface but not in the caves (self-hosted)
Cause: the mod is enabled in only one shard's modoverrides.lua.
Fix: add the same ["workshop-ID"] = { enabled = true } entry to both the Master and Caves files.
FAQ
Can I host a Don't Starve Together server for free?
Yes. The dedicated server is free and downloads with an anonymous login, and the Klei server token is free too. You still pay for the machine, power and internet, and it must stay on while people play.
Do I need to own the game to run the server?
Not to install it. Players need the game to join. You do need a Klei account to create the server token.
Does the server include the caves?
On PlayNHost, yes, on every plan. Self-hosted, you run a second shard called Caves, as in the steps above.
Which ports does it use?
UDP, one port per shard. Klei's default is 10999, and each shard on the same machine needs its own port, so this guide uses 10999 for the surface and 11000 for the caves. The link between the two shards (11001 in our setup) stays on the machine. On PlayNHost both ports are assigned with your server, and the caves port is shown as Caves Port in Settings.
How many players can join?
Our plans are 6, 12 and 25 players.
Can I add Steam Workshop mods?
Yes. On PlayNHost, enter the Workshop item numbers in Steam Workshop Mods under Settings. The panel enables them in both worlds.
We use cookies to keep the site working, to understand how it is used, and to measure our marketing. You can accept all, accept essential cookies only, or choose per category.We use cookies to keep the site working, to understand how it is used, and to measure our marketing. They are on by default here. You can switch off anything you do not want.Read our privacy policy