keepcalculator

06 Numbers and Powers

Project Zomboid Server Configuration Files Explained

Card No. 06·27199 · Updated · Standard formula, shown below

Project Zomboid server configuration files are plain-text files that control nearly every aspect of a dedicated server, from zombie population and loot rarity to PvP rules and admin permissions. You edit them with any text editor, and the server reads them on startup, so changes require a restart to take effect. This article explains each important file, what the key settings do, how to avoid common mistakes, and how to back up and troubleshoot your setup.

Where the Configuration Files Live

On a dedicated Project Zomboid server, the configuration files are stored in the Server folder inside the server installation directory. The exact path depends on your operating system and how you installed the server:

  • Windows (SteamCMD): steamapps\common\ProjectZomboidDedicatedServer\Server
  • Linux (SteamCMD): ~/Steam/steamapps/common/ProjectZomboidDedicatedServer/Server
  • Hosted providers: usually a Server folder inside your server’s root directory, accessible via FTP or a file manager in the control panel.

The folder contains one .ini file per server instance, named after the server (e.g., servertest.ini), plus a db folder with the world data. The .ini file is the main configuration file—it contains all the settings you see in the in-game server options.

The Main .ini File: Key Sections and Settings

The .ini file is organized into sections, each with a [SectionName] header, followed by Setting=Value lines. Here are the most important sections and what they control:

  • [Defaults] – General server settings like ServerName, MaxPlayers, PauseEmpty, and Password.
  • [Zombies] – Zombie population, distribution, speed, and toughness. Key values: ZombieLore (a preset like Apocalypse or Custom), ZombieInitial, ZombieRespawn, ZombieRespawnMultiplier, and ZombieMax.
  • [Loot] – Rarity of items in containers. LootAbundance (overall multiplier) and LootRespawn (whether containers refill).
  • [Gameplay] – Settings like Safehouse, PlayerInvincible, FoodRotSpeed, and StarterKit.
  • [PvP] – PvP (enable/disable player vs. player), PvPDamage, and PvPMeleeDamage.
  • [Admin] – AdminList and ModList (though mods are usually specified in a separate mods file).

Each setting has a comment above it in the file explaining what it does, so you can often learn by reading the file itself.

How to Edit the Configuration Safely

Editing the .ini file is straightforward, but a single typo can prevent the server from starting. Follow these steps:

  1. Stop the server completely (not just pause it).
  2. Make a backup copy of the .ini file (e.g., servertest.ini.bak).
  3. Open the file with a plain text editor like Notepad++ (Windows) or nano (Linux). Avoid word processors that add formatting.
  4. Change the values you need. Ensure each line has exactly one = and no extra spaces around it unless the value itself contains spaces.
  5. Save the file and start the server. If it fails, restore the backup and check the log files for errors.

Most settings take effect only after a restart. Some, like ServerName, are read at startup, while others like ZombieRespawn are checked periodically but still require a restart to change the initial state.

Mods and the mods File

Mods are not listed in the .ini file. Instead, you use a separate mods file (e.g., servertest_mods.txt) that lists the Steam Workshop IDs of the mods you want to enable. Each mod should be on its own line, or separated by semicolons. You also need to set Mods and WorkshopItems in the .ini file, but the mods file is the primary way to manage them. When you add a mod, you must also ensure all clients have the same mods installed, or they won’t be able to connect.

Common Problems and How to Fix Them

Here are the most frequent configuration issues and their solutions:

  • Server won’t start after editing – Usually a syntax error in the .ini file. Check the console.txt log in the server’s root folder for the exact line that caused the error.
  • Zombies are too many or too few – Adjust ZombieInitial, ZombieMax, and ZombieRespawnMultiplier. Remember that ZombieLore presets override individual settings unless you set ZombieLore=Custom.
  • Players can’t break blocks or build – Check Safehouse and BuildingDamage settings. If Safehouse is true, players can’t damage structures in safehouses they don’t own.
  • Loot never respawns – Set LootRespawn to true and adjust LootRespawnTimer (in hours). Note that loot only respawns in containers that are not in loaded chunks.
  • Admin commands don’t work – Ensure your Steam ID is in the AdminList in the .ini file, and that you’ve set a password for admin access if required.

Backups and World Data

The db folder inside the Server directory contains the world data, including map chunks, player data, and loot tables. Backing up this folder is essential if you want to roll back your server. To make a backup:

  1. Stop the server.
  2. Copy the entire Server folder (or at least the db folder and the .ini file) to a safe location.
  3. To restore, replace the current db folder with the backup.

Be aware that the db folder can be large (hundreds of MB) on long-running servers, so schedule backups during low usage.

Frequently Asked Questions

Do I need to edit the .ini file if I use the in-game server settings?

No. The in-game server settings (accessible from the main menu when hosting a server) write the same values to the .ini file. Editing the file manually is only necessary for settings not exposed in the UI, like AdminList or ModList, or when you want to script changes.

Why do my changes not appear in-game?

Most settings are only read at server startup. If you change the .ini file while the server is running, the changes won’t take effect until you restart. Also, make sure you’re editing the correct .ini file—if you have multiple servers, each has its own file.

Can I use the same .ini file for multiple servers?

No. Each server instance needs its own .ini file because the file contains the server name, which is used to identify the save world. Sharing the file would cause both servers to use the same world, leading to conflicts.

How do I give a player admin rights?

Add their Steam64 ID to the AdminList in the .ini file, separated by semicolons. You can find a player’s Steam64 ID by using a Steam ID finder website or by checking the server logs when they join.

What is the difference between ZombieInitial and ZombieMax?

ZombieInitial is the number of zombies that spawn at the start of the game. ZombieMax is the maximum number that can exist at any time. The server will not spawn more zombies than ZombieMax, even if ZombieInitial is higher.

Are there any settings that can break the game if set incorrectly?

Yes. Setting ZombieInitial to extremely high values (like 100000) can cause lag or crashes. Also, setting FoodRotSpeed to 0 disables food rot, which is fine, but setting it to a negative value may cause food to rot instantly. Always test changes on a test server before applying them to your main server.

Related

Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.

More cards in this drawer

The whole Numbers and Powers drawer →