{"id":15127639,"url":"https://github.com/mathielo/dst-dedicated-server","last_synced_at":"2025-04-06T16:13:59.076Z","repository":{"id":45233257,"uuid":"109582393","full_name":"mathielo/dst-dedicated-server","owner":"mathielo","description":"Don't Starve Together dedicated server guide for all platforms (Linux, Mac, Windows) with Docker. Extensive documentation covering mods installation, server config and performance, world generation and setting up admins.","archived":false,"fork":false,"pushed_at":"2022-11-11T07:50:10.000Z","size":1368,"stargazers_count":309,"open_issues_count":10,"forks_count":61,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-03-30T15:08:16.396Z","etag":null,"topics":["admin","caves","cluster","dedicated-server","docker","docker-container","dont-starve","dont-starve-together","dst","game","game-server","linux","mac","master","mod","mods","windows"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mathielo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-05T13:35:47.000Z","updated_at":"2025-03-20T18:33:23.000Z","dependencies_parsed_at":"2022-07-16T14:30:50.199Z","dependency_job_id":null,"html_url":"https://github.com/mathielo/dst-dedicated-server","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathielo%2Fdst-dedicated-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathielo%2Fdst-dedicated-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathielo%2Fdst-dedicated-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathielo%2Fdst-dedicated-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mathielo","download_url":"https://codeload.github.com/mathielo/dst-dedicated-server/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247509237,"owners_count":20950232,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["admin","caves","cluster","dedicated-server","docker","docker-container","dont-starve","dont-starve-together","dst","game","game-server","linux","mac","master","mod","mods","windows"],"created_at":"2024-09-26T02:05:10.793Z","updated_at":"2025-04-06T16:13:59.042Z","avatar_url":"https://github.com/mathielo.png","language":"Lua","readme":"# Don't Starve Together - Dedicated Server\n\n[![Automated Docker Builds](https://img.shields.io/docker/automated/mathielo/dst-dedicated-server.svg)](https://cloud.docker.com/repository/docker/mathielo/dst-dedicated-server)\n[![Docker Build State](https://img.shields.io/docker/build/mathielo/dst-dedicated-server.svg)](https://cloud.docker.com/repository/docker/mathielo/dst-dedicated-server)\n[![Docker Image Pulls](https://img.shields.io/docker/pulls/mathielo/dst-dedicated-server.svg)](https://cloud.docker.com/repository/docker/mathielo/dst-dedicated-server)\n[![License: MIT]( https://img.shields.io/github/license/mathielo/dst-dedicated-server.svg)](https://github.com/mathielo/dst-dedicated-server/blob/master/LICENSE.md)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-round)](http://makeapullrequest.com)\n\nDST Dedicated Server Guide for all platforms (Linux, Mac, Windows) with Docker.\n\nThe purpose of this project is to have DST servers up and running with the **bare minimum** necessary setup.\n\n## README in other languages\n\n* [README in Chinese](README.zh_CN.md)\n\n## Installation\n\nAny OS that [supports Docker](https://docs.docker.com/engine/installation/#supported-platforms) can run the dedicated server.\n\n\u003e:bulb: Linux is the _recommended_ OS to host the containers for better performance gains\n\nThis project was deployed and tested using **Debian 9**. Instructions will be focused on Linux - but it should be easy to adapt to any other OS.\n\n### Installation Overview\n\n#### Essentials\n\nThese are the minimum required steps to have a server running:\n\n* Prepare the host\n  * [Install Git](#prepare-the-host)\n  * [Install Docker](#install-docker)\n* Setup the server\n  * [Server files](#prepare-the-dedicated-server) (clone this repository)\n  * [Generate `cluster_token.txt`](#generate-cluster_tokentxt)\n* [Manage the server](docs/ManagingTheServer.md) (how to start, save and stop)\n* [Basic settings setup](#the-server) (server name, password, etc.)\n\n#### Optionals\n\nEnhance your server by customizing it to your liking!\n\n* Customize your server\n  * [Tweak server settings](#the-server) (game mode, max players, Steam Group, description, etc.)\n  * [World Settings](#the-world) (World Size, Seasons, Difficulty, etc)\n  * [Install Mods](DSTClusterConfig/mods)\n  * [Set Admins, Bans and Whitelisted Players](docs/AdminBanWhitelist.md)\n* How to optimize your [DST Server Performance](docs/ServerPerformance.md)\n\n---\n\n# Prepare the Host\n\nRead about [server performance](./docs/ServerPerformance.md) for useful tips to make the best use of your resources! That might also help you to [pick a host](./ServerPerformance.md#picking-a-host) machine if you're unsure about it.\n\n## Install Git\n\n    sudo apt-get install git\n\n## Install Docker\n\n### Linux\n\nFollow the official docs to install Docker on Linux. At first glance it might seem complicated, but the instructions are very detailed and thorough:\n\n\u003e :cop: Make sure you have your own [_sudoer user_](https://www.digitalocean.com/community/tutorials/how-to-create-a-sudo-user-on-ubuntu-quickstart) and perform all the steps logged as it. Running everything as `root` user will probably render you permissions issues down the road.\n\n* [Docker Engine CE](https://docs.docker.com/engine/installation/linux/docker-ce/debian/#set-up-the-repository)\n* [Docker Compose](https://docs.docker.com/compose/install/#install-compose)\n* **IMPORTANT:** Read through and follow the :point_right: [post-installation steps for Linux](https://docs.docker.com/engine/installation/linux/linux-postinstall/) :point_left:\n  * Enable your user to manage `docker` without the need of `sudo`\n  * Configure Docker to start on boot\n\n### Mac OS / Windows\n\nYou only need the [Docker desktop standalone](https://docs.docker.com/engine/installation/#desktop) as it has everything you need, no extra steps required.\n\n# Prepare the dedicated server\n\nClone this repository in your home folder:\n\n    cd ~ \u0026\u0026 git clone https://github.com/mathielo/dst-dedicated-server.git\n\n\u003e :cop: Do **not** `sudo git clone` or your might run into permission issues :angel:\n\nSee more info in [Managing the Server](./docs/ManagingTheServer.md).\n\n## Generate `cluster_token.txt`\n\n:warning: The cluster token is stored in the `DSTClusterConfig/cluster_token.txt` file and without it **your server won't run**.\n\nCheck the [detailed instructions to generate a cluster token](./docs/ClusterToken.md). After you get it, make sure to **delete everything** from this file and leave only your cluster token there, without any spaces or anything else.\n\nYou can easily do that replacing `InsertYourTokenHere` in the following command and executing it in your server:\n\n    echo 'InsertYourTokenHere' \u003e ~/dst-dedicated-server/DSTClusterConfig/cluster_token.txt\n\n:closed_lock_with_key: The account that generates the token automatically gains admin access in-game, meaning you can rollback, regenerate the world or use console commands while playing.\n\n:rainbow: Done! You are ready to start your server and play!\n\n# Manage the Server\n\nYou should now have everything you **need** to start playing! See the full docs on how to [manage your server](./docs/ManagingTheServer.md) to learn how to **start**, **save** the game and **stop** the server.\n\nKeep on reading to learn how to :point_down: [customize the server](#customizing-the-server--world) :point_down: and [install mods](#managing-mods) to your liking!\n\n---\n\n# Customize the Server and World\n\nThe files listed below are the ones you'll likely be tweaking to customize your server and world to your likes.\n\n\u003e :rotating_light: Changing any files **other than the ones listed below** is only advised if you know what you're doing.\n\n```\nDSTClusterConfig/\n  Caves/\n    leveldataoverride.lua\n  Master/\n    leveldataoverride.lua\n  mods/\n    dedicated_server_mods_setup.lua\n    modoverrides.lua\n  adminlist.txt\n  blocklist.txt\n  cluster.ini\n  whitelist.txt\n```\n\n## The Server\n\n* [DSTClusterConfig/cluster.ini](./DSTClusterConfig/cluster.ini)\n\nThis file holds server attributes, such as `max_players`, `pause_when_empty`, `cluster_intention` - and [many others :link:](https://forums.kleientertainment.com/topic/64552-dedicated-server-settings-guide/).\n\n\u003e :bulb: On your **first setup** it's important to change at least the [`cluster_name`](./DSTClusterConfig/cluster.ini#L27) and [`cluster_password`](./DSTClusterConfig/cluster.ini#L29) to be able to identify and join your sever from the game's server list.\n\n\u003e :cop: Please handle with care. There are sections where `[ CHANGE THIS ]` denotes places you **should** change. There are also smaller secitions which **should not be touched** as it might compromise the communication between Master \u003c-\u003e Caves shards.\n\nBy default the server will autosave once every game day (`autosaver_enabled = true`).\n\n## The World\n\nDetermines the settings for world generation for each shard, respectively:\n\n* [DSTClusterConfig/Master/leveldataoverride.lua](./DSTClusterConfig/Master/leveldataoverride.lua)\n* [DSTClusterConfig/Caves/leveldataoverride.lua](./DSTClusterConfig/Caves/leveldataoverride.lua)\n\nYou may tweak them as much as you like, granted that **the cave one** always have these defined:\n\n    id=\"DST_CAVE\"\n    location=\"Cave\"\n\n## Mods\n\nCheck the [detailed instructions](./DSTClusterConfig/mods) on how to install, configure and enable mods. :alien:\n\n## Admins, Bans and Whitelists\n\nIf you know what you're after, the `(admin|block|white)list.txt` files can be found within the [`DSTClusterConfig/`](./DSTClusterConfig) folder.\n\nYou can find detailed information and a complete guide in the [Setting Admins, Bans and Whitelisted Players](./docs/AdminBanWhitelist.md) docs.\n\n---\n\n# Contributing\n\nContributions and feedback are always welcome! Feel free to open an [issue](/../../issues) or a [pull request](/../../pulls) with improvements!\n\n# References\n\n* [How to setup dedicated server with cave on Linux](http://steamcommunity.com/sharedfiles/filedetails/?id=590565473)\n* [Dedicated Server Settings Guide](https://forums.kleientertainment.com/topic/64552-dedicated-server-settings-guide/)\n* [Dedicated Server Command Line Options Guide](https://forums.kleientertainment.com/topic/64743-dedicated-server-command-line-options-guide/)\n\n### Other links\n\n* [Thread in Klei forums](https://forums.kleientertainment.com/topic/84574-dedicated-server-setup-guide-on-any-platform-windowsmaclinux-with-docker/)\n* [Steam Guide](http://steamcommunity.com/sharedfiles/filedetails/?id=1206742951)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathielo%2Fdst-dedicated-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmathielo%2Fdst-dedicated-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathielo%2Fdst-dedicated-server/lists"}