{"id":16035,"date":"2023-12-17T21:03:18","date_gmt":"2023-12-17T21:03:18","guid":{"rendered":"https:\/\/xgamingserver.com\/blog\/?p=16035"},"modified":"2026-06-15T10:49:01","modified_gmt":"2026-06-15T10:49:01","slug":"how-to-create-project-zomboid-dedicated-server","status":"publish","type":"post","link":"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/","title":{"rendered":"How to Create Project Zomboid Dedicated Server"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Running your own Project Zomboid dedicated server gives you full control over the apocalypse: persistent world saves, your own ruleset, whitelists, mods and admin powers that a peer-hosted co-op session can never match. This guide walks through everything from installing the server with SteamCMD to editing the configuration files, allocating RAM, loading Workshop mods and recovering a corrupted character \u2014 with the exact app IDs, ports, file paths and commands you actually need.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One thing to settle before you touch anything: which build you are running. As of mid-2026, <strong>Build 41 (B41.78) is still the stable, default branch on Steam<\/strong>, and it is what most servers and host guides target. <strong>Build 42 has been on the opt-in &#8220;unstable&#8221; beta branch since December 2024<\/strong> \u2014 the latest release in that branch is roughly Build 42.17.0 (around April 2026). Press coverage describes the stable launch as close, but no stable release date is confirmed, so treat B42 as beta. Everything in this guide that touches config files, the server folder, save layout, admin commands, whitelists and the Workshop two-key system works identically on both builds. Where behavior genuinely differs, it is called out.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Build 41 vs Build 42: what changes for server admins<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The administration model is stable across both builds, but the world itself is not. Build 42 expands Knox County westward with new towns (Brandenburg, Ekron, Irvington), adds procedurally generated basements and taller buildings, rebuilds crafting from the ground up, and introduces new sandbox keys for animals, basements and darkness (these live in the <code>SandboxVars.lua<\/code> file, not as new <code>.ini<\/code> keys). Crucially, <strong>multiplayer was absent from B42 at first launch and only joined the unstable branch in December 2025<\/strong> (around v42.13), so any early-B42 server advice from 2024 is unreliable for multiplayer.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><thead><tr><th>Topic<\/th><th>Build 41 (stable)<\/th><th>Build 42 (unstable, mid-2026)<\/th><\/tr><\/thead><tbody><tr><td>Map<\/td><td>Knox County \u2014 Muldraugh, West Point, Rosewood, Riverside, Louisville<\/td><td>Expanded westward; new towns: Brandenburg, Ekron, Irvington<\/td><\/tr><tr><td>Verticality<\/td><td>No basements; limited height<\/td><td>Procedural basements + taller buildings \/ new vertical layer<\/td><\/tr><tr><td>Crafting<\/td><td>Original system<\/td><td>Rebuilt; renewable crafting + animal products<\/td><\/tr><tr><td>Sandbox keys<\/td><td>Original SandboxVars set<\/td><td>New SandboxVars for animals, basements, darkness<\/td><\/tr><tr><td>Save compatibility<\/td><td>\u2014<\/td><td>B42 saves are <strong>not<\/strong> compatible with B41; no official converter<\/td><\/tr><tr><td>RAM<\/td><td>Lighter<\/td><td>Heavier \u2014 plan more headroom<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The headline warning: <strong>a world made in one build cannot be opened in the other<\/strong>, and there is no official converter. If you start a B42 server, you are committed to B42 for that save. If you want a deeper tour of the new content, see our <a href=\"https:\/\/xgamingserver.com\/blog\/project-zomboid-build-42-guide\/\">Build 42 guide<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installing the server with SteamCMD<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The dedicated server is a separate Steam app from the game. The <strong>game is App ID 108600<\/strong>; the <strong>dedicated server is App ID 380870<\/strong>, and it installs <strong>anonymously<\/strong> \u2014 you do not need to log into your Steam account. Download SteamCMD, then run:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>steamcmd +login anonymous +app_update 380870 validate +quit<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The <code>validate<\/code> flag re-checks files and is worth keeping in your update routine \u2014 running the same command later pulls the newest build. If you specifically want the Build 42 beta, you opt into the <code>unstable<\/code> branch through Steam\/SteamCMD beta settings; otherwise you get stable Build 41.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Launching the server<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">After installation, start the server with the platform-appropriate script in the install folder:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Windows:<\/strong> <code>StartServer64.bat<\/code> (the 64-bit launcher \u2014 use this, not the 32-bit variant)<\/li><li><strong>Linux:<\/strong> <code>start-server.sh<\/code><\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">On the <strong>very first run<\/strong>, the console prompts you to set an <strong>admin password<\/strong>. This is the password for the built-in <code>admin<\/code> account \u2014 type it carefully and store it somewhere safe, because it is your master key to every admin command. The server then generates its world and configuration files and exits to a running console.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you would rather skip the manual SteamCMD setup entirely, a managed <a href=\"https:\/\/xgamingserver.com\/project-zomboid-server-hosting\">ready-to-run Project Zomboid server<\/a> handles installation, ports and updates for you, and our <a href=\"https:\/\/xgamingserver.com\/docs\/project-zomboid\">Project Zomboid documentation<\/a> covers the panel workflow end to end.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Where the server keeps its files<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The dedicated server does not write its data into the install directory. Instead it uses the per-user <strong><code>Zomboid\/<\/code><\/strong> folder. On Windows that is <code>C:\\Users\\<user>\\Zomboid\\<\/code>. Inside it you will find three folders that matter:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong><code>Server\/<\/code><\/strong> \u2014 your configuration files (the three discussed below)<\/li><li><strong><code>Saves\/<\/code><\/strong> \u2014 the actual world saves<\/li><li><strong><code>Logs\/<\/code><\/strong> \u2014 timestamped, archived logs from previous sessions<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The default server name is <strong><code>servertest<\/code><\/strong>, so your config files are named with that prefix. Renaming the server changes those filenames to match.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The configuration files<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A Project Zomboid server is configured through files in <code>Zomboid\/Server\/<\/code>. The model is three core files (PZwiki also lists a fourth, <code>servertest_spawnpoints.lua<\/code>):<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><thead><tr><th>File<\/th><th>Controls<\/th><\/tr><\/thead><tbody><tr><td><code>servertest.ini<\/code><\/td><td>Main settings: ports, player cap, PVP, passwords, public listing, mod lists, map, spawn point, RCON, anti-cheat<\/td><\/tr><tr><td><code>servertest_SandboxVars.lua<\/code><\/td><td>World ruleset: zombie population, loot rates, XP multipliers, day length, B42 animal\/basement\/darkness settings<\/td><\/tr><tr><td><code>servertest_spawnregions.lua<\/code><\/td><td>The cities\/regions offered on the spawn-selection screen<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Edit them in any text editor while the server is stopped. If the server is running, you can verify the live settings with the admin command <code>showoptions<\/code>, and after editing <code>servertest.ini<\/code> you can apply changes without a full restart using <code>reloadoptions<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Key servertest.ini settings<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Here are the settings you will reach for most often, with their shipped defaults where confirmed:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>PVP=true\nOpen=true\nPauseEmpty=true\nPublic=false\nPublicName=My Server\nPublicDescription=\nPassword=\nMaxPlayers=32\nDefaultPort=16261\nSpawnPoint=0,0,0\nSafetySystem=true\nMap=Muldraugh, KY\nWorkshopItems=\nMods=\nRCONPort=27015\nRCONPassword=\nserver_browser_announced_ip=<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li><strong><code>PVP<\/code><\/strong> ships <code>true<\/code> \u2014 player-vs-player combat on.<\/li><li><strong><code>Open<\/code><\/strong> (<code>true<\/code> by default) controls the whitelist. <code>true<\/code> = anyone may join and an account is auto-created on first join; <code>false<\/code> = whitelist-only.<\/li><li><strong><code>PauseEmpty<\/code><\/strong> (<code>true<\/code>) pauses world time when nobody is online.<\/li><li><strong><code>Public<\/code><\/strong> (<code>false<\/code>) decides whether the server appears in the in-game public browser; <code>PublicName<\/code> and <code>PublicDescription<\/code> are what shows there.<\/li><li><strong><code>Password<\/code><\/strong> (empty) is a server-wide join password, separate from the per-account passwords.<\/li><li><strong><code>MaxPlayers<\/code><\/strong> \u2014 the PZ default is <strong>64<\/strong>; real servers commonly set 16 or 32 to protect performance.<\/li><li><strong><code>DefaultPort<\/code><\/strong> is <strong>16261\/UDP<\/strong> \u2014 the one port that actually matters now (see below).<\/li><li><strong><code>SafetySystem<\/code><\/strong> (<code>true<\/code>) toggles the PVP &#8220;safety&#8221; mechanic.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">A few details that trip people up. The anti-cheat is <strong>not<\/strong> a single key \u2014 it is a numbered family, <code>AntiCheatProtectionType1<\/code> through <code>AntiCheatProtectionType24<\/code>, each <code>true\/false<\/code>. The companion network port is simply <code>DefaultPort + 1<\/code> (so <strong>16262<\/strong>), assigned automatically; since Build 41.65 retired the old per-player port range, effectively only <strong>16261\/UDP<\/strong> needs forwarding. A standalone <code>UDPPort=<\/code> line is not something you will reliably find in a current <code>.ini<\/code>. For a line-by-line walkthrough of every option, see our <a href=\"https:\/\/xgamingserver.com\/blog\/servertest-ini-project-zomboid-server-explained\/\">servertest.ini explained<\/a> guide.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Allocating RAM with -Xmx<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Project Zomboid&#8217;s server runs on the JVM, so memory is controlled by the <strong><code>-Xmx<\/code><\/strong> flag inside the start script. To give the server 8 GB, you would set:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>-Xmx8g<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Edit this value in <code>StartServer64.bat<\/code> (Windows) or <code>start-server.sh<\/code> (Linux). The right amount scales with player count, map size and mods \u2014 but the most important rule for 2026 is that <strong>Build 42 needs more RAM headroom than Build 41<\/strong>, thanks to the expanded map, basements and reworked systems. If you are migrating a B41 server to B42, budget extra memory before you do, and confirm the script&#8217;s default <code>-Xmx<\/code> for your specific build since it can change between releases.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Setting the spawn point<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">By default, <code>SpawnPoint=0,0,0<\/code> in <code>servertest.ini<\/code> is <strong>ignored<\/strong>, which lets players choose a spawn city from the available regions. Set a non-zero <code>X,Y,Z<\/code> and you force <em>every<\/em> player to spawn at those exact world coordinates:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SpawnPoint=10629,9312,0<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The third value is height: <code>0<\/code> = ground floor, <code>1<\/code> = second floor. To find coordinates, use a community Project Zomboid map (several mirrors exist \u2014 map.projectzomboid.com is widely referenced); a &#8220;Lock Coords&#8221; feature lets you click a spot and read its Cell and Relative coordinates.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If instead you want players to keep a <em>choice<\/em> of spawn cities, edit <code>servertest_spawnregions.lua<\/code>, where each region uses Cell + Relative coordinates like <code>{ worldX = 35, worldY = 31, posX = 129, posY = 12 }<\/code> (<code>worldX\/worldY<\/code> are the Cell coords, <code>posX\/posY<\/code> the Relative coords). Some guides show an alternate four-value <code>SpawnPoint<\/code> format; the three-value <code>X,Y,Z<\/code> form is the dominant, verified one \u2014 confirm the four-value variant against your build before relying on it. Our dedicated <a href=\"https:\/\/xgamingserver.com\/blog\/how-to-set-up-spawn-point-in-project-zomboid-server\/\">spawn point setup guide<\/a> covers both routes in detail.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installing Steam Workshop mods: the two-key system<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is the single most common modding mistake. Every Workshop mod needs <strong>two<\/strong> keys in <code>servertest.ini<\/code>, and forgetting one is why mods &#8220;don&#8217;t load&#8221;:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong><code>WorkshopItems=<\/code><\/strong> \u2014 the <strong>numeric Workshop IDs<\/strong> (the number in the Workshop URL), semicolon-separated. This tells the server <em>what to download<\/em>.<\/li><li><strong><code>Mods=<\/code><\/strong> \u2014 the <strong>internal Mod IDs<\/strong> (text identifiers inside each mod, not the display names), semicolon-separated. This tells the server <em>what to activate<\/em>.<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>WorkshopItems=624489512;972954692;670807387\nMods=CraftableAxes;Katana;MREMeal;NecroForge<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A Workshop ID is the download package (numeric); a Mod ID is the activatable mod inside it (text), and one Workshop item can contain several Mod IDs. You need both: a Workshop ID alone downloads but never loads; a Mod ID alone never downloads. <strong>Load order is left-to-right in <code>Mods=<\/code><\/strong> \u2014 later entries can override earlier ones, which matters when mods conflict. The server auto-downloads everything in <code>WorkshopItems<\/code> on startup. Our <a href=\"https:\/\/xgamingserver.com\/blog\/how-to-install-steam-workshop-mods-to-your-project-zomboid-server\/\">Workshop mods install guide<\/a> walks through finding both IDs for any mod.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Whitelisting players<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The whitelist hinges on the <code>Open<\/code> key:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong><code>Open=true<\/code><\/strong> \u2014 open server: anyone may join, and an account (username + password) is auto-created on first join and stored in the player database.<\/li><li><strong><code>Open=false<\/code><\/strong> \u2014 whitelist-only: admins must pre-create accounts, and unknown users are blocked.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">To create a whitelist account manually, use <code>\/adduser <username> <password><\/code>. If you are flipping an already-open server to whitelisted, a command to convert all currently-connected players into accounts (commonly <code>\/addalltowhitelist<\/code>) saves you from re-adding everyone by hand \u2014 confirm the exact spelling in-game with <code>\/help<\/code>. Removing an account is typically <code>\/removeuserfromwhitelist <username><\/code> (also seen as <code>\/removeuser<\/code>; verify against the in-game help). Note that each account&#8217;s password is distinct from the server-wide <code>Password=<\/code> join password. Full procedure in our <a href=\"https:\/\/xgamingserver.com\/blog\/how-to-add-whitelist-to-project-zomboid-server\/\">whitelist setup guide<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Admin commands and RCON<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Admin commands can be run three ways: in in-game chat with a <code>\/<\/code> prefix (admin status required), in the server console <em>without<\/em> the <code>\/<\/code>, or via RCON (also without <code>\/<\/code>). Type <code>\/help<\/code> for the full list and <code>\/help <command><\/code> for a single one. Access levels, highest to lowest, are <strong><code>admin<\/code>, <code>moderator<\/code>, <code>overseer<\/code>, <code>gm<\/code>, <code>observer<\/code><\/strong>.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><code>\/setaccesslevel <user> <level><\/code> \u2014 set a player&#8217;s access level (use <code>none<\/code> to revoke).<\/li><li><code>\/additem <user> Base.Axe [count]<\/code> \u2014 give an item; omit the user to give to yourself.<\/li><li><code>\/addxp <user> Perks.Skill <amount><\/code> \u2014 grant XP.<\/li><li><code>\/teleport <player> <target><\/code> and <code>\/teleportto x,y,z<\/code> \u2014 move players.<\/li><li><code>\/godmode <user><\/code> and <code>\/invisible <user><\/code> \u2014 damage immunity \/ invisibility to zombies.<\/li><li><code>\/kick <user> [reason]<\/code>, <code>\/banid <SteamID> true<\/code>, <code>\/banuser <user> true<\/code>, and the <code>\/unbanid<\/code> \/ <code>\/unbanuser<\/code> counterparts.<\/li><li><code>\/save<\/code> \u2014 force a world save; <code>\/servermsg \"msg\"<\/code> \u2014 broadcast to everyone.<\/li><li><code>\/addvehicle <user> Base.Vehicle<\/code>, plus world toggles <code>\/startrain<\/code>, <code>\/stoprain<\/code>, <code>\/chopper<\/code>, <code>\/alarm<\/code>, <code>\/checkfire<\/code>.<\/li><li><code>showoptions<\/code> \/ <code>reloadoptions<\/code> \u2014 show and hot-reload <code>.ini<\/code> settings.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">For remote administration, enable <strong>RCON<\/strong> by setting <code>RCONPort<\/code> (a real-world value is <code>27015<\/code>; some host templates use <code>12345<\/code>) and <code>RCONPassword<\/code> in <code>servertest.ini<\/code> \u2014 RCON stays disabled until a password is set. Connect with any RCON client and issue commands without the <code>\/<\/code> prefix. The complete reference lives in our <a href=\"https:\/\/xgamingserver.com\/blog\/project-zomboid-server-admin-commands\/\">admin commands guide<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Reading the logs<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Live output streams to <strong><code>server-console.txt<\/code><\/strong> in the <code>Zomboid\/<\/code> folder (same level as <code>Server\/<\/code>) \u2014 startup sequence, mod-load output and player connect\/disconnect events. On restart, prior logs are moved into <code>Zomboid\/Logs\/<\/code>, timestamped (often zipped) as <code><timestamp>_<type>.txt<\/code>:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><code>*_DebugLog-server.txt<\/code> \u2014 detailed internal logic; the best file for <strong>mod Lua errors and stack traces<\/strong>.<\/li><li><code>*_coop-console.txt<\/code> \u2014 main console output (startup, mod loading, connections).<\/li><li><code>*_chat.txt<\/code> \u2014 all in-game text chat, for moderation.<\/li><li><code>*_pvp.txt<\/code> \u2014 player-on-player damage events, for RDM disputes.<\/li><li><code>*_user*<\/code> \/ <code>*_safety*<\/code> \u2014 player actions and anti-cheat flags.<\/li><li><code>*_perf*<\/code> \u2014 performance metrics (lightly documented).<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Workflow: read the console log to confirm a clean startup and catch mod-load failures; open the latest <code>DebugLog-server.txt<\/code> for Lua errors \u2014 a mod ID near the error points at the culprit, which you then remove from <code>Mods=<\/code>. Our <a href=\"https:\/\/xgamingserver.com\/blog\/how-to-check-project-zomboid-server-logs\/\">server logs guide<\/a> goes deeper on diagnosing crashes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Resetting a broken character (destructive \u2014 back up first)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Occasionally a single character&#8217;s save corrupts and traps a player on a black screen or crash loop. You can wipe just that one character without touching the world or anyone else. Multiplayer saves live in <code>Zomboid\/Saves\/Multiplayer\/<servername>\/<\/code>, and per-player data sits in the SQLite database <strong><code>players.db<\/code><\/strong> inside that folder, in the table <strong><code>NetworkPlayers<\/code><\/strong> (one row per character).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>This is destructive \u2014 it zeroes the character and cannot recover its pre-break state.<\/strong> Proceed carefully:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>Stop the server<\/strong> and <strong>back up <code>players.db<\/code><\/strong> first \u2014 non-negotiable.<\/li><li>Open <code>players.db<\/code> in <strong>DB Browser for SQLite<\/strong> \u2192 <strong>Browse Data<\/strong> \u2192 table <code>NetworkPlayers<\/code>.<\/li><li>Find the broken player&#8217;s row, select the entire row, delete just that one row, then <strong>Write Changes<\/strong> and replace the file.<\/li><li>The world, other players and all map data are untouched; that player creates a fresh character on next join.<\/li><\/ol>\n<!-- \/ol -->\n\n\n\n<p class=\"wp-block-paragraph\">Because you are editing a live database, deleting the wrong row is unrecoverable \u2014 which is exactly why you back up first. Step-by-step screenshots are in our <a href=\"https:\/\/xgamingserver.com\/blog\/how-to-reset-a-broken-project-zomboid-character-without-affecting-other-players-character\/\">broken-character reset guide<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Frequently asked questions<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">What is the SteamCMD app ID for the Project Zomboid dedicated server?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The dedicated server is <strong>App ID 380870<\/strong> and installs anonymously \u2014 no Steam login needed. The game itself is App ID 108600, a separate app. Install the server with <code>+login anonymous +app_update 380870 validate<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Which port do I need to forward?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The primary game port is <strong>16261\/UDP<\/strong> (<code>DefaultPort<\/code> in <code>servertest.ini<\/code>). The companion port is <code>DefaultPort + 1<\/code> (16262), assigned automatically. Since Build 41.65 retired the old per-player port range, in practice only 16261\/UDP needs forwarding for players to connect.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How much RAM should I give the server?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Set it with the <code>-Xmx<\/code> flag in <code>StartServer64.bat<\/code> or <code>start-server.sh<\/code> \u2014 for example <code>-Xmx8g<\/code> for 8 GB. The right figure scales with players, map size and mods. The key rule for 2026: <strong>Build 42 needs more headroom than Build 41<\/strong>, so budget extra memory if you run the unstable beta.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Why aren&#8217;t my Workshop mods loading?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Almost always because only one of the two required keys is set. <code>WorkshopItems=<\/code> takes the numeric Workshop IDs (what to download) and <code>Mods=<\/code> takes the internal text Mod IDs (what to activate). You need both, and the Mod IDs are not the mod&#8217;s display name. If a mod still errors, check <code>DebugLog-server.txt<\/code> for the failing mod ID.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How do I make my server whitelist-only?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Set <code>Open=false<\/code> in <code>servertest.ini<\/code>. Then create accounts in advance with <code>\/adduser <username> <password><\/code>. With <code>Open=true<\/code>, anyone may join and an account is auto-created on first connect. The per-account password is separate from the server-wide <code>Password=<\/code> join password.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Can a Build 42 world be opened in Build 41?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No. B42 saves are not compatible with B41 and there is no official converter, so a world made in one build cannot be opened in the other. Decide which build you want before starting a server. As of mid-2026, B41.78 is the stable default and B42 remains on the opt-in unstable branch.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Running your own Project Zomboid dedicated server gives you full control over the apocalypse: persistent world saves, your own ruleset, whitelists, mods and admin powers that a peer-hosted co-op session can never match. This guide walks through everything from installing the server with SteamCMD to editing the configuration files, allocating RAM, loading Workshop mods and [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1588,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_gspb_post_css":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[41],"tags":[42],"class_list":["post-16035","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-project-zomboid-server-docs","tag-project-zomboid"],"blocksy_meta":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.5 (Yoast SEO v26.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Create Project Zomboid Dedicated Server - XGamingServer<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Create Project Zomboid Dedicated Server\" \/>\n<meta property=\"og:description\" content=\"Running your own Project Zomboid dedicated server gives you full control over the apocalypse: persistent world saves, your own ruleset, whitelists, mods and admin powers that a peer-hosted co-op session can never match. This guide walks through everything from installing the server with SteamCMD to editing the configuration files, allocating RAM, loading Workshop mods and [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/\" \/>\n<meta property=\"og:site_name\" content=\"XGamingServer\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/web.facebook.com\/xgamingserver69\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-12-17T21:03:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-15T10:49:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2022\/01\/project_zomboid-5584705.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Xray\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@rainerstudios\" \/>\n<meta name=\"twitter:site\" content=\"@xgamingserver\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Xray\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/\"},\"author\":{\"name\":\"Xray\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/#\/schema\/person\/9fe94eb5b0ad6508acec5eef457da608\"},\"headline\":\"How to Create Project Zomboid Dedicated Server\",\"datePublished\":\"2023-12-17T21:03:18+00:00\",\"dateModified\":\"2026-06-15T10:49:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/\"},\"wordCount\":2175,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2022\/01\/project_zomboid-5584705.jpg\",\"keywords\":[\"project Zomboid\"],\"articleSection\":[\"Project Zomboid\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/\",\"url\":\"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/\",\"name\":\"How to Create Project Zomboid Dedicated Server - XGamingServer\",\"isPartOf\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2022\/01\/project_zomboid-5584705.jpg\",\"datePublished\":\"2023-12-17T21:03:18+00:00\",\"dateModified\":\"2026-06-15T10:49:01+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/#primaryimage\",\"url\":\"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2022\/01\/project_zomboid-5584705.jpg\",\"contentUrl\":\"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2022\/01\/project_zomboid-5584705.jpg\",\"width\":1280,\"height\":720,\"caption\":\"project_zomboid-server-hosting\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/xgamingserver.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Project Zomboid\",\"item\":\"https:\/\/xgamingserver.com\/blog\/category\/project-zomboid-server-docs\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"How to Create Project Zomboid Dedicated Server\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/#website\",\"url\":\"https:\/\/xgamingserver.com\/blog\/\",\"name\":\"XGamingServer\",\"description\":\"Dedicated Game Server Hosting\",\"publisher\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/xgamingserver.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/#organization\",\"name\":\"XGamingServer\",\"url\":\"https:\/\/xgamingserver.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2020\/09\/logo.svg\",\"contentUrl\":\"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2020\/09\/logo.svg\",\"width\":\"1024\",\"height\":\"1024\",\"caption\":\"XGamingServer\"},\"image\":{\"@id\":\"https:\/\/xgamingserver.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/web.facebook.com\/xgamingserver69\/\",\"https:\/\/x.com\/xgamingserver\",\"https:\/\/www.instagram.com\/xgamingserver\/\",\"https:\/\/www.linkedin.com\/company\/xgamingserver\/\",\"https:\/\/www.pinterest.com\/xgamingserver\/\",\"https:\/\/www.youtube.com\/channel\/UCHnOtWxpzaL2r3jM9Jm40EQ\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/#\/schema\/person\/9fe94eb5b0ad6508acec5eef457da608\",\"name\":\"Xray\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/xgamingserver.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f5e048c648806821e7dfebe32ad45489165185fe75979165fb4044e2967386d8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f5e048c648806821e7dfebe32ad45489165185fe75979165fb4044e2967386d8?s=96&d=mm&r=g\",\"caption\":\"Xray\"},\"description\":\"A Mathematician who knows a thing or two about Design.\",\"sameAs\":[\"https:\/\/xgamingserver.com\/blog\",\"https:\/\/www.instagram.com\/rainerstudios\/\",\"https:\/\/x.com\/@rainerstudios\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Create Project Zomboid Dedicated Server - XGamingServer","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/","og_locale":"en_US","og_type":"article","og_title":"How to Create Project Zomboid Dedicated Server","og_description":"Running your own Project Zomboid dedicated server gives you full control over the apocalypse: persistent world saves, your own ruleset, whitelists, mods and admin powers that a peer-hosted co-op session can never match. This guide walks through everything from installing the server with SteamCMD to editing the configuration files, allocating RAM, loading Workshop mods and [&hellip;]","og_url":"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/","og_site_name":"XGamingServer","article_publisher":"https:\/\/web.facebook.com\/xgamingserver69\/","article_published_time":"2023-12-17T21:03:18+00:00","article_modified_time":"2026-06-15T10:49:01+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2022\/01\/project_zomboid-5584705.jpg","type":"image\/jpeg"}],"author":"Xray","twitter_card":"summary_large_image","twitter_creator":"@rainerstudios","twitter_site":"@xgamingserver","twitter_misc":{"Written by":"Xray","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/#article","isPartOf":{"@id":"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/"},"author":{"name":"Xray","@id":"https:\/\/xgamingserver.com\/blog\/#\/schema\/person\/9fe94eb5b0ad6508acec5eef457da608"},"headline":"How to Create Project Zomboid Dedicated Server","datePublished":"2023-12-17T21:03:18+00:00","dateModified":"2026-06-15T10:49:01+00:00","mainEntityOfPage":{"@id":"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/"},"wordCount":2175,"commentCount":0,"publisher":{"@id":"https:\/\/xgamingserver.com\/blog\/#organization"},"image":{"@id":"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/#primaryimage"},"thumbnailUrl":"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2022\/01\/project_zomboid-5584705.jpg","keywords":["project Zomboid"],"articleSection":["Project Zomboid"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/","url":"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/","name":"How to Create Project Zomboid Dedicated Server - XGamingServer","isPartOf":{"@id":"https:\/\/xgamingserver.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/#primaryimage"},"image":{"@id":"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/#primaryimage"},"thumbnailUrl":"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2022\/01\/project_zomboid-5584705.jpg","datePublished":"2023-12-17T21:03:18+00:00","dateModified":"2026-06-15T10:49:01+00:00","breadcrumb":{"@id":"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/#primaryimage","url":"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2022\/01\/project_zomboid-5584705.jpg","contentUrl":"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2022\/01\/project_zomboid-5584705.jpg","width":1280,"height":720,"caption":"project_zomboid-server-hosting"},{"@type":"BreadcrumbList","@id":"https:\/\/xgamingserver.com\/blog\/how-to-create-project-zomboid-dedicated-server\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/xgamingserver.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Project Zomboid","item":"https:\/\/xgamingserver.com\/blog\/category\/project-zomboid-server-docs\/"},{"@type":"ListItem","position":3,"name":"How to Create Project Zomboid Dedicated Server"}]},{"@type":"WebSite","@id":"https:\/\/xgamingserver.com\/blog\/#website","url":"https:\/\/xgamingserver.com\/blog\/","name":"XGamingServer","description":"Dedicated Game Server Hosting","publisher":{"@id":"https:\/\/xgamingserver.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/xgamingserver.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/xgamingserver.com\/blog\/#organization","name":"XGamingServer","url":"https:\/\/xgamingserver.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/xgamingserver.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2020\/09\/logo.svg","contentUrl":"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2020\/09\/logo.svg","width":"1024","height":"1024","caption":"XGamingServer"},"image":{"@id":"https:\/\/xgamingserver.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/web.facebook.com\/xgamingserver69\/","https:\/\/x.com\/xgamingserver","https:\/\/www.instagram.com\/xgamingserver\/","https:\/\/www.linkedin.com\/company\/xgamingserver\/","https:\/\/www.pinterest.com\/xgamingserver\/","https:\/\/www.youtube.com\/channel\/UCHnOtWxpzaL2r3jM9Jm40EQ"]},{"@type":"Person","@id":"https:\/\/xgamingserver.com\/blog\/#\/schema\/person\/9fe94eb5b0ad6508acec5eef457da608","name":"Xray","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/xgamingserver.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/f5e048c648806821e7dfebe32ad45489165185fe75979165fb4044e2967386d8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f5e048c648806821e7dfebe32ad45489165185fe75979165fb4044e2967386d8?s=96&d=mm&r=g","caption":"Xray"},"description":"A Mathematician who knows a thing or two about Design.","sameAs":["https:\/\/xgamingserver.com\/blog","https:\/\/www.instagram.com\/rainerstudios\/","https:\/\/x.com\/@rainerstudios"]}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/xgamingserver.com\/blog\/wp-content\/uploads\/2022\/01\/project_zomboid-5584705.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/posts\/16035","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/comments?post=16035"}],"version-history":[{"count":5,"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/posts\/16035\/revisions"}],"predecessor-version":[{"id":22250,"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/posts\/16035\/revisions\/22250"}],"wp:attachment":[{"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/media?parent=16035"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/categories?post=16035"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/xgamingserver.com\/blog\/wp-json\/wp\/v2\/tags?post=16035"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}