This article is a step by step process to setup Steam Commandline and Dedicated 7 Days to Die server setup for Linux and Windows. Sorry Mac users, don’t have a Mac, but I think it would be fairly similar to Linux.
I’ve attempted to simplify the instructions enough to get a server started, so I won’t cover everything that the instructions on Valve’s developer community page do.
My preference is Linux as it is more performant as a server than a Windows desktop but the choice is yours and there is a lot of similarity in both installations.
As for hardware, I’m running an old Intel(R) Core(TM) i5-2300 CPU @ 2.80GHz HP machine with a 500GB SSD and 24GB of RAM. A GPU is required, but integrated graphics processor is enough as it is not rendering anything server side.
An SSD is a must though. The performance improvement is huge.
As for memory, I would suggest a minimum of 16GB for server and other processes, but if your install is just for the 7DTD server 8GB should be enough to run an 8k map without issue.
The first step for either Windows or Linux is to install steamcmd. The steam commandline version of the steam client.
Instructions are here, but I deviated a little from the Linux version of these instructions that I will explain below:
https://developer.valvesoftware.com/wiki/SteamCMD#Package_from_repositories
I’ll start with the Linux setup first and then go on to the Windows setup afterwards.
Linux
For my Linux install, I deviated from Valve’s instructions above a bit to run under my user instead of the steam user suggested. Easier to manage but the rest of the steps shouldn’t be affected as long as you are using the right user.
I also installed steamcmd in my home folder, e.g. /home/<username>/steamcmd to make things easy to find.
cd /home/<username>/steamcmd
1 - run steamcmd
./steamcmd.sh
I also install my 7Days server in my home folder, e.g. /home/<username>/7DaysToDieA20
2 - set game installation dir Steam> force_install_dir /home/<username>/<whatever foldername you gave it> Note: SteamCMD does not support spaces in foldernames Example: Steam>force_install_dir /home/7 Days to Die/ SteamCMD will create the folder "/home/7" and install there instead. SteamCMD will also lowercase your foldername automatically if you didn't create the folder yourself first.
3 - Login to Steam anonymously - doesn't require your steam account Steam> login anonymous
4 - Install The following install/update game command does both
You can now choose latest stable or experimental versions to install.
Latest Stable Steam> app_update 294420 -validate
OR
Latest Experimental Steam> app_update 294420 -validate -beta latest_experimental
Steam will install 7 Days to Die dedicated server
5 - Exit steamcmd Steam> quit
6 - Edit server config to your liking using whichever editor you like but you can find instructions here:
/home/<username>/<whatever foldername you gave it>/serverconfig.xml
7 - Start server
./home/<username>/<whatever foldername you gave it>/startserver.sh -configfile=serverconfig.xml
Windows
Once you’ve installed steamcmd from the link above and assuming you’ve installed it to C:\steamcmd\ :
Open a Command Prompt (Windows Key + R) and type cmd.
1 - run steamcmd C:\>cd C:\steamcmd C:\steamcmd>steamcmd.exe
It will update to the latest version first.
Once the update is complete, you will be shown the Steam prompt:
2 - set game installation dir to any drive and path force_install_dir D:\<whatever foldername you want> Note: SteamCMD does not support spaces in folder names Example: Steam>force_install_dir "D:\7 Days to Die\" SteamCMD will create the folder "D:\7" and install there instead, so don't use spaces in folder name SteamCMD will also lowercase your foldername automatically if you didn't create the folder yourself first.
3 - Login to Steam anonymously - doesn't require your steam account Steam> login anonymous
4 - Install The following install/update game command does both
You can now choose latest stable or experimental versions to install.
Latest Stable Steam> app_update 294420 -validate
OR
Latest Experimental Steam> app_update 294420 -validate -beta latest_experimental
Steam will install 7 Days to Die dedicated server
Once the installation is complete you should be shown the Steam> prompt:
5 - Exit steamcmd Steam> quit
6 - Edit server config to your liking using whichever editor you like but you can find instructions here: D:\<whatever foldername you gave it>\serverconfig.xml
7 - Start server D:\<whatever foldername you gave it>\startserver.bat
Migrating Worlds from one System to Another
Generated Worlds are cross platform compatible, you can generate them on Windows and migrate them to a Linux server for example. My Worlds folder is created under ./home/<username>/<whatever folder name you gave it>/Data/Worlds, same as above, but yours will depend on where you chose to install your 7DaysToDie server.
You can migrate worlds created on another computer by zipping up the specific World.
For example, if you generated it on Windows, it’s default location is:
C:\Users\<username>\AppData\Roaming\7DaysToDie\GeneratedWorlds\<WorldName>\
Zip up the specific map name folder you want. Copy it to your dedicated server and extract it to your dedicated servers Data\Worlds\ folder, making sure that the folder structure remains the same.
Take note of the World Name you used, called “GameWorld”, the “WorldGenSeed” and the “WorldGenSize” used to generate the map as you will need to add these to the dedicated server’s serverconfig.xml file correctly to load the generated map. Other settings can be changed as needed as they don’t have any impact on the map loading itself.
Examples of World names are South Sowavi County or Mavuci Mountains or Navezgane
WorldGenSeed can be any series of letters and/or numbers.