Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix Now×
Skip to content
World desk10 min

How to Run a Don’t Starve Together Server in Docker on a VPS

Host a persistent Don’t Starve Together world with Docker on a Linux VPS. This guide covers resource sizing, UDP port mappings, Klei cluster files, Master and Caves shards, server tokens, safe updates, backups, and recovery.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The dependable way to host a public Don’t Starve Together (DST) world is to run the dedicated server in a Linux x86_64 Docker container on a VPS, publish the required UDP ports, and bind-mount Klei’s data directory to persistent storage. Start with one CPU core, 1 GiB of RAM plus roughly 60 MiB for each active player, and at least 4 GiB of free disk for a small server. The steps below cover cluster creation, port and shard configuration, authentication, upgrades, backups, and the failures that most often make a server invisible or reset its world.

What this setup does

A VPS gives your server a public IP address and an always-on Linux host. Docker supplies an isolated DST installation that can be replaced without deleting the world, provided the Klei directory is mounted outside the container. The container runs the dedicated server and Steam-related components; your host firewall, cloud firewall, and Docker’s UDP publishing rules make those services reachable.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A single Master shard is enough for an overworld-only game. A normal two-shard cluster adds a Caves server. Every server process on the same machine needs its own game port, and the external port numbers must match the internal numbers used by the image and the cluster configuration. A mismatched NAT mapping is a common reason for a server that appears in a list but cannot be joined or cannot transfer players between shards.

Resource and platform requirements

Requirement Practical starting point Why it matters
Operating system Linux on x86_64 The documented container targets this architecture; a different CPU architecture requires an image that explicitly supports it.
CPU 1 dedicated or shared core for a small world Simulation work, saves, and mod activity can require more headroom than the baseline.
Memory 1 GiB plus approximately 60 MiB per active user This is the image maintainer’s small-server guideline, not a guarantee for every player count or mod set.
Disk At least 4 GiB available initially The installation, cluster files, logs, and world data all consume persistent space; leave room for growth and backups.
Networking Public IPv4 address and configurable UDP firewall rules Players must reach the game and Steam-related ports from the Internet.
Software Docker Engine (and permission to run it) The image downloads or updates the dedicated-server files through the container’s startup process.

Treat the CPU, memory, and disk figures as a sizing baseline. More players, large worlds, caves, or heavily scripted mods can increase consumption. Monitor memory and CPU after real play sessions rather than assuming the minimum will remain sufficient.

#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter | 4Pack Type C Female to A Male Cable Converter for Apple Duo 17 16 15 14 Plus,iWatch Watch 12 11 10,iPad 9 8 Air,Airpods 5 4
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.

Ports to open before launching

DST’s default game server port is UDP 10999. The image’s documented two-shard example publishes four UDP ports:

Purpose in the example UDP ports Important condition
Master and Caves game servers 10999 and 11000 Use a different game port for each server in the cluster.
Additional Steam-related endpoints used by the image 12346 and 12347 Publish the pair exactly as the image documents for the release you install.

Klei’s settings documentation also lists UDP 8766 as the default Steam authentication port and 27016 as the default master-server port. Whether those defaults are exposed directly depends on the container project and its entrypoint. Follow the selected image’s current port list, and do not silently substitute a different range.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Open the same numbers in all three places:

  • The VPS provider’s network or security-group firewall.
  • The Linux host firewall, such as an enabled nftables, firewalld, or UFW policy.
  • Docker’s -p mappings and the server’s own configuration.

Keep the external and internal UDP numbers identical. Changing only the public side can break server discovery or the redirection from Master to Caves.

1. Prepare the VPS

  1. Provision a current Linux x86_64 VPS with a public address, persistent disk, and enough memory for your expected concurrent players.
  2. Install Docker Engine using the distribution’s supported method. Confirm that your administrative account can run docker ps (either directly or through the Docker group).
  3. Allow the required UDP ports in the provider firewall and on the operating system. Do not open broad TCP ranges when the server needs UDP.
  4. Create a host directory for Klei data. The documented layout uses ${HOME}/.klei/DoNotStarveTogether; substitute an absolute path if the container will run under a service account.

Keep the data directory on persistent VPS storage rather than a temporary disk. The container layer is disposable; the mounted directory is where your cluster, saves, logs, and token survive replacement.

2. Create and download a Klei cluster

Klei’s account Game Servers page creates the cluster settings and download archive. Sign in with the account that will own the server, create or configure a server, and download its settings. Extract the archive so the cluster directory is below your persistent DoNotStarveTogether directory, not in an unrelated home folder.

Klei’s Linux dedicated-server instructions use a cluster configuration directory and the dedicated-server script. The Docker image performs the installation and launch steps for you, but it still needs the cluster files in the path it expects. Check the extracted directory names before starting: a misplaced extra directory level can make the container start with an empty world.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Sale
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter | USB C Dongle with 90W Max Power Delivery, 3×5Gbps USB A Data Ports, for MacBook, Dell, and More (Charger Not Included)
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.

Keep a copy of the downloaded archive and the extracted configuration. It is useful when rebuilding a VPS, comparing settings after an edit, or recovering from an accidental deletion.

3. Mount the data directory and start the image

The image README’s example uses this bind mount and port layout:

docker run -v ${HOME}/.klei/DoNotStarveTogether:/data 
  -p 10999-11000:10999-11000/udp 
  -p 12346-12347:12346-12347/udp 
  -e "DST_SERVER_ARCH=amd64" 
  -it jamesits/dst-server:latest

This command is a documented example, not a promise that the image name or latest tag will remain unchanged. Verify the project’s current image and tag before using it in production. The important design is the read-write bind mount to /data, the explicit UDP ranges, and the x86_64 architecture variable.

Run the first launch in the foreground. You can watch SteamCMD installation, configuration parsing, shard startup, and permission errors directly. Stop with Ctrl+C only after you have captured any error text that needs investigation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Once the foreground run is healthy, recreate it in detached mode with a stable name and restart policy. For example, adapt the documented command as follows:

docker run -d 
  --name dst 
  --restart unless-stopped 
  -v ${HOME}/.klei/DoNotStarveTogether:/data 
  -p 10999-11000:10999-11000/udp 
  -p 12346-12347:12346-12347/udp 
  -e "DST_SERVER_ARCH=amd64" 
  jamesits/dst-server:latest

Use docker logs -f dst to follow a detached container and docker ps to confirm that it remains running. If the container exits repeatedly, inspect the first error rather than adding a restart loop that hides it.

Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter | 85W Max PD, 2 USB 3.0 & 1 USBC Data Ports, SD/TF Card Reader, for Laptops/Mac and Other Type C Devices (Charger Not Included)
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.

4. Configure Master and Caves shards

Overworld-only cluster

For a single-server world, configure the Master shard and assign its game port, commonly UDP 10999. Publish that port and make sure the cluster’s token and settings are in the mounted directory.

Master plus Caves

For a Caves-enabled cluster, assign separate ports—for example, 10999 for Master and 11000 for Caves—and expose both. The image’s additional UDP pair must also be published when required by that image. A Caves process that starts locally but cannot be reached externally will cause shard transfer failures.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Klei requires a unique server port for every server on one machine. Do not assign 10999 to both shards, and do not reuse a port for a second cluster unless that cluster is on another host with a separate public address.

Relevant command-line settings

Klei documents options including -persistent_storage_root, -conf_dir, -cluster, -port, -players, -steam_master_server_port, and -steam_authentication_port. The documented valid range for -players is 1–64. The Docker image normally supplies the storage and cluster arguments through its entrypoint, so only override them when the project’s current instructions explain the resulting directory layout.

Klei also states that disabling data collection restricts a server to offline mode. Do not use that setting for an Internet-facing public server; it prevents the normal online service path players expect.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

5. Add the server token securely

The dedicated server needs the token generated for the Klei account. Download or copy server_token.txt from the account workflow and place the file in the persisted Klei directory expected by your selected image. Some projects require the file itself to be copied into the mounted folder rather than merely placing its contents in an environment variable.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray | Data transfer & Fast charging for MacBook, iPhone 17/16/15, iPad, Samsung Galaxy, Apple Watch
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
  • Use restrictive host permissions so ordinary users cannot read the token.
  • Do not paste the token into a public issue, startup log, or chat message.
  • After changing the token, restart the container and check logs for authentication success or a clear failure.

Token paths and startup behavior are image-specific. Confirm the current project instructions if the container reports that the token is missing even though the file exists.

6. Verify the first startup

  1. Check docker ps and confirm the container is running rather than restarting.
  2. Read docker logs dst for SteamCMD completion, token/authentication messages, and Master or Caves startup lines.
  3. Inspect the host mount while the server is running. New cluster files, logs, and save data should appear under the directory you mounted to /data.
  4. From a separate Internet connection, search for the server and attempt a join. Testing from the same VPS or home LAN can give a misleading result.
  5. If you enabled Caves, enter a sinkhole and confirm that the transition completes; this exercises the secondary port rather than only the Master listing.

Never treat a running container alone as proof of reachability. A process can be healthy while a cloud firewall silently drops every inbound UDP packet.

Keeping worlds safe during updates

World persistence comes from the bind mount, not from the container image. Before replacing an image, stop the container and back up the complete DoNotStarveTogether directory, including cluster configuration, save data, logs, and token files. A filesystem snapshot or an archive copied to storage outside the VPS gives you a recovery point if an update or manual edit damages the cluster.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Announce a maintenance window and stop the running container cleanly.
  2. Copy or snapshot the mounted Klei directory while no shard is writing saves.
  3. Pull the selected image tag after reviewing its current release notes and port or entrypoint changes.
  4. Remove and recreate the container with the same bind mount, cluster path, token, environment variables, and UDP mappings.
  5. Read the logs and join the existing world before deleting the backup.

Replacing a container should not reset the world when the same host directory is mounted read-write. A reset almost always means the new container used a different host path, mounted the wrong directory level, or could not write to the mount and generated a fresh configuration elsewhere.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshooting by symptom

The server is invisible

  • Confirm the container is running and the Master process is listening on its configured port.
  • Check the VPS provider firewall, host firewall, and Docker’s UDP mappings independently.
  • Verify that the public port numbers equal the internal game ports; do not rely on an arbitrary NAT translation.
  • Check the image’s required Steam-related UDP ports, not just 10999.

Players see the server but cannot join

Recheck the token, authentication messages, and every externally reachable UDP path. A listing can exist even when the subsequent connection is blocked. Test from a different network and inspect whether the cloud firewall permits UDP rather than only TCP.

Caves cannot be entered

Give Caves its own server port, expose that port in Docker and both firewalls, and ensure the cluster’s shard configuration points to the same number. Shard redirection fails when the secondary port is inaccessible or translated to a different external number.

Best Value
Sale
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display | 85W Max PD, 1 Powered USB-C 5Gbps & 2 Powered USB-A 3.0 5Gbps Data Ports, for MacBook Pro, MacBook Air, Dell and More (Black)
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.

The world appears to reset after an update

Compare the old and new container definitions. The host directory must be mounted read-write to /data, and the new container must use the same cluster directory. Inspect the mount contents and restore the last backup if the original files were overwritten.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Permission or SteamCMD write errors

The container user must be able to create and modify files in the mounted directory. Correct ownership and permissions on the host path, then restart the container. Also check free disk space; a full volume can look like a permission or installation failure.

LAN discovery does not work

Klei documents LAN visibility when the server port is within UDP 10998–11018. That range affects LAN listing; Internet players still need the appropriate public UDP paths and online authentication.

Operational and security practices

  • Use a dedicated Linux account or service context for the data directory and limit read access to the token.
  • Allow only the documented UDP ports; keep SSH restricted to your administration network where practical.
  • Record the exact image tag, port mappings, cluster name, and host data path so a rebuild is repeatable.
  • Watch disk usage and log growth. A small 4 GiB allocation leaves little room for multiple backups or long-running logs.
  • Test a restore periodically on a temporary container or VPS. A backup that has never been restored is only an assumption.
  • Prefer a pinned, reviewed image tag for production and schedule updates deliberately rather than pulling an unreviewed floating tag during play.

Choosing a VPS for this workload

Compare providers on the characteristics that affect DST directly rather than on CPU labels alone:

Decision factor Questions to ask
CPU and memory headroom Is one core shared or dedicated, and can the plan be resized when active players or mods increase?
Persistent storage Is the disk persistent, and are snapshots or independent backups available?
Public networking Do you receive a public IPv4 address, and are inbound UDP ports permitted without a special request?
Multiple ports Can the firewall expose Master, Caves, and the image’s Steam-related ports simultaneously?
Maintenance control Can you choose when to reboot, replace a container, or change an image tag?
Recovery options Can you restore the VPS or attached disk independently of the running container?

A low-cost plan that blocks inbound UDP or offers no persistent backup is unsuitable even if its advertised CPU and RAM meet the baseline.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Final deployment checklist

  • Linux x86_64 VPS with Docker and a public IP.
  • At least one CPU core, 1 GiB RAM plus about 60 MiB per active user, and 4 GiB free disk as a starting point.
  • Klei cluster archive extracted below the persistent DoNotStarveTogether directory.
  • server_token.txt stored privately where the selected image expects it.
  • Master and (if used) Caves assigned unique game ports.
  • Every required UDP port allowed by the provider firewall, host firewall, and Docker mapping.
  • External and internal port numbers kept identical.
  • Foreground launch tested before enabling detached mode and automatic restarts.
  • A backup made before every image replacement and a verified path to restore it.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.