Which file the server reads, and when
The server reads whichever file its -configfile= option names. It ships as serverconfig.xml beside the server program, and the Linux start script, startserver.sh, refuses to start without the option: "No config file specified." The 7 Days to Die setup guide covers pointing that option at your own renamed copy.
Each property is one line, <property name="…" value="…"/>, and only the part inside value="" is yours to change. We tested how the server treats the file on the Linux server, V3.3.0 (b18), Steam build 25661908:
- It is read once, at start. A change made while the server ran did not reach the running game; the next start picked it up.
- A stop leaves the file alone. After we edited the file with the server running and then stopped it with the
shutdownconsole command, the edit was still there. - A property name the server does not know stops it from starting. The log says
Error parsing configfile property '…': Unknown config option, then "Make sure your configfile is updated the current server version!" and "Startup aborted due to the given error in server configfile". A misspelt name therefore shows up at once; read the first lines of the log when a server will not start after an edit.
What V3 changed: SandboxCode
V3.0, Dead Hot Summer, added over 150 Sandbox Options, and its release notes say "some of the legacy options previously set in serverconfig.xml have been moved to a new SandboxCode XML property." The notes list the properties removed or converted: GameDifficulty, BlockDamagePlayer, BlockDamageAI, BlockDamageAIBM, XPMultiplier, DayNightLength, DayLightLength, BiomeProgression, StormFreq, DeathPenalty, DropOnDeath, DropOnQuit, JarRefund, EnemySpawnMode, EnemyDifficulty, ZombieFeralSense, ZombieMove, ZombieMoveNight, ZombieFeralMove, ZombieBMMove, AISmellMode, BloodMoonFrequency, BloodMoonRange, BloodMoonWarning, BloodMoonEnemyCount, LootAbundance, LootRespawnDays, AirDropFrequency, AirDropMarker, QuestProgressionDailyLimit.
Many older guides and saved config files still carry those lines. In our test a file with an XPMultiplier or a GameDifficulty line still started, and the server listed the value among its settings, while a name V3 does not know at all, such as SaveGameFolder, stopped it from starting. The Fun Pimps' notes say these settings now come from the Sandbox Options, so set them in the code instead.
To make a code, The Fun Pimps' instructions are: open the new game screen in the game, click Sandbox Options, adjust the options, use the copy code button, and paste the code as the SandboxCode value. The shipped code, AAAJABJACJADJARFBNC, is what the V3.0 notes call the equivalent of the legacy default difficulty, Adventurer. For a server continuing a V2.6 save, the notes say to recreate the old serverconfig.xml settings in the Sandbox Options menu and paste that code the same way.
Check the code after the next start. The server writes Sandbox Code: into its log followed by the options that differ from their defaults, such as Option RangedDamage: 9/150% (default: 7/100%) for the shipped code. A code it cannot read gives - Invalid code - instead, and the server starts anyway; the V3.1.0 notes warn that "Invalid codes may default some or all settings."
The file ends with one more note from The Fun Pimps: there are several game settings you cannot change when starting a new game, but console commands can change at least some of them in game, for example setgamepref BedrollDeadZoneSize 30.
The command line overrides the file
Properties can also be given on the server's command line as -Name=value, and startserver.sh passes its arguments through to the server. In our test the command line won over the file: -ServerMaxPlayerCount=4 beat the file's 8, and an empty -ServerDisabledNetworkProtocols= cleared the file's SteamNetworking, so the server started both network protocols. If a setting in the file seems ignored, check the start command first.
Every property, with its default
The defaults are the values in the serverconfig.xml shipped with Steam build 25661908 (V3.3.0, b18), and the descriptions follow The Fun Pimps' own comments in that file, reworded. Checked 2026-10-19.
Server name, description and password
| Property | Default | What it does |
|---|---|---|
ServerName | My Game Host | The server's name. |
ServerDescription | A 7 Days to Die server | The description shown in the server browser. |
ServerWebsiteURL | empty | A website address shown in the server browser as a clickable link. |
ServerPassword | empty | The password players need to join. |
ServerLoginConfirmationText | empty | A message joining players must read and confirm before they continue; for bigger changes to that window The Fun Pimps point to the serverjoinrulesdialog window in XUi. |
Region | NorthAmericaEast | The server's region: NorthAmericaEast, NorthAmericaWest, CentralAmerica, SouthAmerica, Europe, Russia, Asia, MiddleEast, Africa or Oceania. |
Language | English | The players' main language, written as its English name (German, not Deutsch), the way players would search for it. |
Network
| Property | Default | What it does |
|---|---|---|
ServerPort | 26900 | The port the server listens on. Keep it within 26900 to 26905 or 27015 to 27020 if PCs on the same LAN should find it as a LAN server. |
ServerVisibility | 2 | 2 public, 1 friends only, 0 not listed. The file notes that 1 only works once the first player connects by IP, because nobody is a dedicated server's friend. |
ServerDisabledNetworkProtocols | SteamNetworking | Network protocols the server should not use, separated by commas: LiteNetLib, SteamNetworking. The file advises disabling SteamNetworking when there is no NAT router between players and the server, or when port forwarding is set up correctly. |
ServerMaxWorldTransferSpeedKiBs | 512 | The top speed, in KiB/s, for sending the world to a player who does not have it yet. The file says about 1300 is the ceiling whatever you set. |
Player slots
| Property | Default | What it does |
|---|---|---|
ServerMaxPlayerCount | 8 | The most players online at once. |
ServerReservedSlots | 0 | How many of those slots only players with a given permission level can use. |
ServerReservedSlotsPermission | 100 | The permission level needed for the reserved slots. |
ServerAdminSlots | 0 | How many admins can still join when the server is full. |
ServerAdminSlotsPermission | 0 | The permission level needed for the admin slots. |
Web dashboard and telnet
| Property | Default | What it does |
|---|---|---|
WebDashboardEnabled | false | Turns the web dashboard on or off. |
WebDashboardPort | 8080 | The web dashboard's port. |
WebDashboardUrl | empty | The dashboard's full outside address, needed only when it is not reached at the server's own IP and port, for example behind a reverse proxy. |
EnableMapRendering | false | Draws the explored map into tile images, which the web dashboard uses to show the map. |
TelnetEnabled | true | Turns the telnet console on or off. |
TelnetPort | 8081 | The telnet console's port. |
TelnetPassword | empty | The telnet console's password. With no password, the server listens for telnet only on the local loopback interface. |
TelnetFailedLoginLimit | 10 | Wrong passwords from one remote client before that client is blocked. |
TelnetFailedLoginsBlocktime | 10 | How long that block lasts, in seconds. |
TerminalWindowEnabled | true | Shows a terminal window for log output and commands (Windows only). |
Files and folders
| Property | Default | What it does |
|---|---|---|
AdminFileName | serveradmin.xml | The admin file's name, relative to UserDataFolder/Saves. |
UserDataFolder | commented out | Overrides where the server keeps all user data, generated worlds and saves included. It ships commented out with a placeholder value, so remove the comment marks around the line to use it. |
Crossplay, anti-cheat and map data
| Property | Default | What it does |
|---|---|---|
ServerAllowCrossplay | false | Turns crossplay on or off. The file says crossplay servers are only found and joinable when sanctions are not ignored and the slot count is the default or fewer. |
EACEnabled | true | Turns EasyAntiCheat on or off. |
IgnoreEOSSanctions | false | Ignores EOS sanctions when letting players join. |
HideCommandExecutionLog | 0 | Hides the logging of commands: 0 shows everything, 1 hides it from telnet and the control panel only, 2 also from remote game clients, 3 hides everything. |
MaxUncoveredMapChunksPerPlayer | 131072 | How many map chunks each player can uncover. Each one covers 256 m² and adds up to 512 bytes to that player's map file; the default allows 32 km² at a time. |
PersistentPlayerProfiles | false | With false a player can join with any profile; with true they join with the last profile they used. |
MaxChunkAge | -1 | In-game days after a chunk was last visited before it resets to its original state, unless something protects it, such as a land claim or a bedroll close by. |
SaveDataLimit | -1 | The most disk space each saved game may use, in megabytes. When it is reached, saved chunks may be reset to free space. A negative value switches the limit off. |
World
| Property | Default | What it does |
|---|---|---|
GameWorld | Navezgane | Which world to play: RWG for a generated one (see the next two settings), or the name of a world in the Worlds folder; the file names Navezgane, Pregen06k01, Pregen06k02, Pregen08k01 and Pregen08k02 among those shipped. |
WorldGenSeed | MyGame | The seed for a generated world. If a world with the resulting name already exists, it is loaded instead. |
WorldGenSize | 6144 | The width and height of a generated world. The file says the supported sizes run from 6144 to 10240 in steps of 2048: 6144, 8192 or 10240. |
GameName | MyGame | The game's name, using letters, digits, spaces and _ - .. It names the save and seeds where decoration such as trees is placed, but does not change the layout of a generated world. |
GameMode | GameModeSurvival | The game mode; the shipped file lists only GameModeSurvival. |
New players and game rules
| Property | Default | What it does |
|---|---|---|
PlayerSafeZoneLevel | 5 | Players at or below this level create an enemy-free safe zone when they spawn. |
PlayerSafeZoneHours | 5 | How long that safe zone lasts, in in-game hours. |
BuildCreate | false | Cheat mode on or off. |
BedrollDeadZoneSize | 15 | The half-width of the box around a bedroll where zombies do not spawn; cleared sleeper volumes touching it do not respawn. |
BedrollExpiryTime | 45 | Real-world days a bedroll stays active after its owner was last online. |
AllowSpawnNearFriend | 2 | Whether first-time players may choose to spawn near a friend who is playing: 0 never, 1 always, 2 only near friends in the forest biome. |
CameraRestrictionMode | 0 | 0 free choice of first or third person, 1 first person only, 2 third person only. |
Zombies, animals and performance
| Property | Default | What it does |
|---|---|---|
MaxSpawnedZombies | 64 | The zombie cap for the whole world, scaled up for blood moons (×1.9) and sleepers (×2.1). The file warns that changing it can have a huge effect on performance. |
MaxSpawnedAnimals | 50 | The animal cap, worth raising when many players are spread out. The file notes that raising it does not spawn more animals by itself, and that animals cost the server less than zombies. |
ServerMaxAllowedViewDistance | 12 | The longest view distance a player's game may ask for, 6 to 12. The file marks it as having a high impact on performance. |
MaxQueuedMeshLayers | 1000 | The most chunk mesh layers queued while meshes are built. Lowering it uses fewer server resources but can slow chunk generation. |
Parties and player killing
| Property | Default | What it does |
|---|---|---|
PartySharedKillRange | 100 | How close a party member must be to get shared kill XP and party quest kill credit. |
PlayerKillingMode | 3 | 0 no killing, 1 allies only, 2 strangers only, 3 everyone. |
Land claims
| Property | Default | What it does |
|---|---|---|
LandClaimCount | 5 | Land claims allowed per player. |
LandClaimSize | 41 | The size, in blocks, of the area a keystone protects. |
LandClaimDeadZone | 30 | How many blocks apart keystones must be, unless their owners are friends. |
LandClaimExpiryTime | 7 | Real-world days a player can be offline before their claims expire and stop protecting. |
LandClaimDecayMode | 0 | How an offline player's claims weaken: 0 slowly (linear), 1 fast (exponential), 2 not at all until the claim expires. |
LandClaimOnlineDurabilityModifier | 4 | How many times harder blocks in a claim are while the owner is online; 0 means they never take damage. |
LandClaimOfflineDurabilityModifier | 4 | The same while the owner is offline. |
LandClaimOfflineDelay | 0 | Minutes after the owner logs out before the claim switches from online to offline hardness. |
Dynamic Mesh and Twitch
| Property | Default | What it does |
|---|---|---|
DynamicMeshEnabled | true | Turns the Dynamic Mesh system on or off. |
DynamicMeshLandClaimOnly | true | Limits Dynamic Mesh to land claim areas. |
DynamicMeshLandClaimBuffer | 3 | The Dynamic Mesh chunk radius around land claims. |
DynamicMeshMaxItemCache | 3 | How many items Dynamic Mesh processes at once; the file notes that higher values need more of the server's resources. |
TwitchServerPermission | 90 | The permission level needed to use Twitch integration on the server. |
TwitchBloodMoonAllowed | false | Whether Twitch actions are allowed during a blood moon; the file warns the extra zombies can cause lag. |
Sandbox Options
| Property | Default | What it does |
|---|---|---|
SandboxCode | AAAJABJACJADJARFBNC | The code that carries the game's Sandbox Options. The shipped one is the default Adventurer difficulty; the SandboxCode section above explains making your own. |
Changing settings on ForgeWorld Gaming
On a ForgeWorld Gaming 7 Days to Die server the file is serverconfig.xml at the top of the control panel's file manager (the Files tab), and the server is started with -configfile=serverconfig.xml. The panel never rewrites it, so your edits stay from one start to the next. Press Stop on the Console tab, which sends the server the same shutdown command we tested, edit the values, save, and press Start; the change applies from that start.
Server updates are the exception. In our test, a Steam update that shipped a different serverconfig.xml replaced the edited file with the new shipped one, resetting the server name, the game name and everything else we had changed; an update that shipped the same file left the edits alone. A reinstall from the panel's Settings tab runs the same Steam download with a check of every file, and in our test that check put the shipped file back even with no new build. Because GameName names the save, a reset game name also points the server at a different save. Keep a copy of your edited file on the Files tab under another name, such as serverconfig-mine.xml, and check your values after each version update; or switch the Auto Update field off and turn it back on for a start when you want to update.
The start command sets a few properties over the file, from the Startup tab or your plan: ServerPort (your server's port), ServerMaxPlayerCount (your plan's slots), the telnet settings (telnet is always on, and the Telnet Port and Telnet Password fields set the rest; the Console tab talks to the server over telnet), and ServerDisabledNetworkProtocols from the Network Protocols field. That field is empty by default, which in our test turned both protocols on. To get the shipped behaviour, type SteamNetworking there; the file's own note advises disabling it when port forwarding is set up correctly. The Startup tab's Game Difficulty field passes the old -GameDifficulty option, which the V3.0 notes list among the removed properties: leave it alone and set the difficulty in SandboxCode.
The ports your plan opens are the game port and the two above it (26900 to 26902 on a default server); the telnet and web dashboard ports are not opened, so the web dashboard cannot be reached from outside. Saves live in .local/share/7DaysToDie/Saves on the Files tab, next to serveradmin.xml, and the wipe guide covers starting a new world. While the Auto Update field is on, each start checks Steam for a newer server build, which is when the update exception above applies.
Prefer renting to keeping your own server machine online? ForgeWorld Gaming currently offers 7 Days to Die Standard: 4, 8 player slots at CA$16.49–CA$20.49/month. Hosted in Iowa, United States. Prices are in Canadian dollars, with no setup fee and cancel any time. Your server is set up automatically after payment. Continue to secure billing, 7 Days to Die · Dedicated server, CA$16.49 / month (Standard, 4 slots), or compare 7 Days to Die plans.