ServerSizer

Games 7 Days to Die

7 Days to Die server requirements

Build 25661908, 2026-10-06. Native Linux server. Steam SteamDB

Requirements

Our benchmarkThe Fun PimpsGame specs, not serverPingperfectWinterNode7D2D.netSells these plans
CPU4% of one core, idleClient: 2.8 GHz quad min, 3.2 GHz quad recNo figure, blood moons CPU-bound6-core 4+ GHz (4-8 players), clock over cores
RAM1.9 GB idle, 4.1 GB peakClient 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 player4 GB min, 6 GB recommended start12 GB minimum (8 game + 4 OS)
Disk16.9 GB installClient: 15 GBNVMe, 100 GB+ free
NetworkTCP 26900, UDP 26900 and 26902Broadband5 to 10 Mbps per 8 players, or 50+ Mbps (table), 26900-26902
OSLinux, native64-bit: Windows 10+, Ubuntu 16.04/18.04, macOS 10.13Windows Server 2022 or Ubuntu 22.04

RAM by players

Pingperfect
2.4 to 2.7 GB
WinterNode
6 to 8 GB
7D2D.net wiki
12 to 16 GB
  • 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

0 GB1 GB2 GB3 GB4 GB5 GB6 GB4.1 GB0 min30 min0 GB1 GB2 GB3 GB4 GB5 GB6 GB4.1 GB0 min
  • In use
  • Peak, with cache
Raw data (CSV)

Community results

Loading...

Add result
Hosting
Enough RAM?
Privacy

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

PortProtocolUseOur server
26900TCPGame traffic and queries (ServerPort).Open
26900UDPGame traffic.Open
26901UDPIn most guides.Not opened
26902UDPGame traffic (ServerPort plus 2).Open
26903UDPIn some guides.Not opened
11000UDPUndocumented.Open
8081TCPTelnet console.Local only
8080TCPWeb dashboard.Off

Forward TCP 26900 and UDP 26900 and 26902. Keep telnet and the dashboard off the internet.

Docker setup

5 steps
  1. 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 +quit
  2. Data 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 /b
  3. Run

    Exact bench command, with the game_runtime image from the Satisfactory page. Add -p 26900:26900/tcp -p 26900:26900/udp -p 26902: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.xml
  4. Ready 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'
  5. 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.

SettingWhat it does
ServerName = My Game HostName in the server list.
ServerPassword = (empty)Join password. Empty: open to anyone who reaches the server.
ServerPort = 26900Game port. UDP also uses this plus 2.
ServerVisibility = 22 public, 1 friends only, 0 not listed.
ServerDisabledNetworkProtocols = SteamNetworkingShipped comment: disable SteamNetworking on dedicated servers with forwarded ports or no NAT.
ServerMaxPlayerCount = 8Player slots. Crossplay limit: 8.
GameWorld = NavezganeNavezgane, a shipped pregenerated world such as Pregen06k01, or RWG (random, from WorldGenSeed and WorldGenSize).
WorldGenSize = 6144RWG only. Officially supported: 6144 to 10240, in steps of 2048.
GameName = MyGameSave name; also seeds decoration placement.
SandboxCode = AAAJABJACJADJARFBNCAll 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 = 64Zombie cap for the whole world. Shipped comment: can have a huge impact on performance.
TelnetEnabled = true, TelnetPort = 8081Remote console. No TelnetPassword: listens on the server itself only.
WebDashboardEnabled = falseBrowser admin dashboard on WebDashboardPort (8080).
EACEnabled = trueEasyAntiCheat. Needed for crossplay.
ServerAllowCrossplay = falseConsole players can join. Needs EAC on and at most 8 slots.
UserDataFolderCommented 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 -configfile at 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
Server7 Days to Die dedicated server, Steam build 25661908, game version V3.3.0 Stable, downloaded 2026-10-06.
ImageMinimal ubuntu:24.04 image with ca-certificates and libcurl, run as a regular user (uid 1000); ~/.local/share on a Docker volume.
MachineAMD 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.

Full method

Sources