Games 7 Days to Die
7 Days to Die server requirements
Requirements
| Our benchmark | The Fun PimpsGame specs, not server | ||||
|---|---|---|---|---|---|
| CPU | 4% of one core, idle | Client: 2.8 GHz quad min, 3.2 GHz quad rec | No figure, blood moons CPU-bound | 6-core 4+ GHz (4-8 players), clock over cores | |
| RAM | 1.9 GB idle, 4.1 GB peak | Client 8 GB min, 12 GB rec, doubles with server on same PC | ~1.5 to 2.4 GB by map size (V1.0), +0.1 GB per player | 4 GB min, 6 GB recommended start | 12 GB minimum (8 game + 4 OS) |
| Disk | 16.9 GB install | Client: 15 GB | NVMe, 100 GB+ free | ||
| Network | TCP 26900, UDP 26900 and 26902 | Broadband | 5 to 10 Mbps per 8 players, or 50+ Mbps (table), 26900-26902 | ||
| OS | Linux, native | 64-bit: Windows 10+, Ubuntu 16.04/18.04, macOS 10.13 | Windows Server 2022 or Ubuntu 22.04 |
RAM by players
- Recommended
- Community
- Pingperfect: "A 7 Days to Die game server's RAM usage is largely dependent on the size of the map your server uses. ... 6144 1.94 GB (Default RAM covers this world size) ... 10240 2.40 GB ... It is roughly 100MB (0.1GB) per player."
- WinterNode: "Vanilla (small group) 2-4 4-6 GB; Vanilla (medium) 5-8 6-8 GB; Vanilla (large/public) 9-16 8-12 GB; ... Light mods (modlets) 2-8 6-8 GB; Overhaul mods 2-8 8-12 GB"
- 7D2D.net wiki: "Small | 4 - 8 players | 12 - 16 GB; Medium | 8 - 16 players | 16 - 32 GB ... Base Allocation: 8 GB for game + 4 GB for OS = 12 GB minimum. Player Scaling: Add 0.5 - 1 GB per additional player."
Memory over time
- In use
- Peak, with cache
Community results
Loading...
Add result
Pending
- 24 hours idle
- Random worlds at 6144 and 10240
- One player for 30 minutes
- Three warm restarts
- Purpose of UDP 11000
Reported by others
- The Fun Pimps: "Running a Dedicated Server and Client on the same computer will double ram requirements."
Ports
| Port | Protocol | Use | Our server |
|---|---|---|---|
26900 | TCP | Game traffic and queries (ServerPort). | Open |
26900 | UDP | Game traffic. | Open |
26901 | UDP | In most guides. | Not opened |
26902 | UDP | Game traffic (ServerPort plus 2). | Open |
26903 | UDP | In some guides. | Not opened |
11000 | UDP | Undocumented. | Open |
8081 | TCP | Telnet console. | Local only |
8080 | TCP | Web dashboard. | Off |
Forward TCP 26900 and UDP 26900 and 26902. Keep telnet and the dashboard off the internet.
Docker setup
5 steps
Download
Free anonymous download, Steam app 294420, about 17 GB on disk.
docker volume create 7dtd_files docker run --rm -v 7dtd_files:/data steamcmd/steamcmd:latest \ +@sSteamCmdForcePlatformType linux +force_install_dir /data \ +login anonymous +app_info_update 1 +app_update 294420 validate +quitData volume
Saves and the Epic Online Services device login live in ~/.local/share. Mount there, not deeper, or Docker makes the parent root-owned and the server quits at start (see Troubleshooting).
docker volume create 7dtd_share docker run --rm -v 7dtd_files:/a -v 7dtd_share:/b ubuntu:24.04 chown -R 1000:1000 /a /bRun
Exact bench command, with the game_runtime image from the Satisfactory page. Add
-p26900:26900/tcp-p26900:26900/udp-p26902:26902/udp to publish the ports.docker run -d --name 7dtd --memory 12g \ -v 7dtd_files:/7dtd -w /7dtd \ -v 7dtd_share:/home/ubuntu/.local/share \ game_runtime ./startserver.sh -configfile=serverconfig.xmlReady line
Logs go to output_log__<date>.txt in the server folder, not the console. 'StartGame done' 31.8 seconds after container start, then '[EOS] Server registered'.
docker exec 7dtd sh -c 'tail -n +1 -F output_log__*.txt' | grep -m1 'StartGame done'Own config file
SteamCMD validate restores the shipped serverconfig.xml. Use a renamed copy.
docker exec 7dtd cp serverconfig.xml myserver.xml # edit myserver.xml, then start the server with -configfile=myserver.xml
Settings
16 settings
File: serverconfig.xml, or the file named with -configfile.
| Setting | What it does |
|---|---|
ServerName = My Game Host | Name in the server list. |
ServerPassword = (empty) | Join password. Empty: open to anyone who reaches the server. |
ServerPort = 26900 | Game port. UDP also uses this plus 2. |
ServerVisibility = 2 | 2 public, 1 friends only, 0 not listed. |
ServerDisabledNetworkProtocols = SteamNetworking | Shipped comment: disable SteamNetworking on dedicated servers with forwarded ports or no NAT. |
ServerMaxPlayerCount = 8 | Player slots. Crossplay limit: 8. |
GameWorld = Navezgane | Navezgane, a shipped pregenerated world such as Pregen06k01, or RWG (random, from WorldGenSeed and WorldGenSize). |
WorldGenSize = 6144 | RWG only. Officially supported: 6144 to 10240, in steps of 2048. |
GameName = MyGame | Save name; also seeds decoration placement. |
SandboxCode = AAAJABJACJADJARFBNC | All gameplay and difficulty options in one code; this one is default Adventurer. Made in the new-game sandbox screen. Replaces separate difficulty settings since V3.0. |
MaxSpawnedZombies = 64 | Zombie cap for the whole world. Shipped comment: can have a huge impact on performance. |
TelnetEnabled = true, TelnetPort = 8081 | Remote console. No TelnetPassword: listens on the server itself only. |
WebDashboardEnabled = false | Browser admin dashboard on WebDashboardPort (8080). |
EACEnabled = true | EasyAntiCheat. Needed for crossplay. |
ServerAllowCrossplay = false | Console players can join. Needs EAC on and at most 8 slots. |
UserDataFolder | Commented out by default. Moves saves and generated worlds off ~/.local/share/7DaysToDie. |
Troubleshooting
7 problems
- Quits at start: 'Failed to save DeviceId access credentials on the local device', then 'NoLoginTicket'
- Epic Online Services cannot write the device login to ~/.local/share/.eos_sdk. In Docker, a volume at ~/.local/share/7DaysToDie leaves ~/.local/share root-owned; mount a persistent volume at ~/.local/share itself, owned by the server's user, so the login survives restarts.
- 'GameServer.LogOn successful' never appears
- Not printed on V3.3. Watch for 'StartGame done', then '[EOS] Server registered'.
- GameDifficulty, XPMultiplier and other difficulty settings ignored
- V3.0 replaced about 30 separate gameplay settings with SandboxCode. Build a code in the game's sandbox options screen and paste it into SandboxCode.
- serverconfig.xml edits lost after an update
- Updates with validate restore the shipped file. Use a renamed copy; point
-configfileat it. - No connections from outside the network
- Forward TCP 26900 and UDP 26900 and 26902 (or ServerPort, plus ServerPort plus 2 on UDP). The V3.3 bench server did not open UDP 26901 or 26903.
- Console players cannot find or join
- The Fun Pimps' crossplay requirements: ServerAllowCrossplay true, EACEnabled true, IgnoreEOSSanctions false, ServerMaxPlayerCount at most 8.
- Telnet or dashboard reachable from the internet
- Without a TelnetPassword, telnet listens on the server itself only. With a password set or the dashboard on, forward 8081 or 8080 only if needed.
Method
build 25661908
| Server | 7 Days to Die dedicated server, Steam build 25661908, game version V3.3.0 Stable, downloaded 2026-10-06. |
|---|---|
| Image | Minimal ubuntu:24.04 image with ca-certificates and libcurl, run as a regular user (uid 1000); ~/.local/share on a Docker volume. |
| Machine | AMD Ryzen 9 5950X, Proxmox VE 9, each game server in Docker inside a dedicated LXC container. 12 GB memory limit, no swap. |
| Command | ./startserver.sh -configfile=serverconfig.xml |
Changes from defaults
- No settings changed: shipped serverconfig.xml, so Navezgane, 8 slots and the Adventurer SandboxCode.
- No open ports: on the public lists, but nobody could join.
Sources
- The Fun Pimps: serverconfig.xml shipped with the server (build 25661908)
- The Fun Pimps: V3.0 Dead Hot Summer release notes
- The Fun Pimps: Crossplay server requirements
- 7 Days to Die on Steam (system requirements)