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.
Need a server to try this on? Antihost offers Linux VPS plans with NVMe storage, full root access and a 14-day free trial.
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.
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
- 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.
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
-pmappings 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
- Provision a current Linux x86_64 VPS with a public address, persistent disk, and enough memory for your expected concurrent players.
- 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). - 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.
- 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.
Rank #2
- 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.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Once 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
- 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.
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.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →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
- 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
- Check
docker psand confirm the container is running rather than restarting. - Read
docker logs dstfor SteamCMD completion, token/authentication messages, and Master or Caves startup lines. - 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. - 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.
- 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.
- Announce a maintenance window and stop the running container cleanly.
- Copy or snapshot the mounted Klei directory while no shard is writing saves.
- Pull the selected image tag after reviewing its current release notes and port or entrypoint changes.
- Remove and recreate the container with the same bind mount, cluster path, token, environment variables, and UDP mappings.
- 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.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
- 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.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsPermission 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.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Quick Recap
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
DoNotStarveTogetherdirectory. server_token.txtstored 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.




