Hosting your own Project Zomboid server is the perfect way to customize your apocalypse survival experience. Whether you want to play with a small group of friends or create a large, persistent world for a community, running your own server offers unparalleled control. This guide will walk you through everything you need to know about hosting a Project Zomboid server, ensuring a smooth and stable multiplayer experience.
Understanding the System Requirements for Your Project Zomboid Server
Before you dive into setting up your server, it’s crucial to understand the hardware demands. Project Zomboid, while seemingly simple, can be surprisingly resource-intensive when running a dedicated server, especially with multiple players and mods. Meeting the minimum system requirements is just the starting point; exceeding them will lead to a much smoother and more enjoyable experience for everyone.
Essential Hardware Components
- CPU: A 64-bit architecture AMD or Intel CPU is required. Project Zomboid server performance is heavily reliant on single-core performance. This means processors with higher clock speeds per core will generally perform better than those with more cores but lower speeds. Think of each player and zombie as requiring processing power from a single core; the faster that core, the quicker actions are processed.
- RAM: The bare minimum RAM is 4GB, but 8GB of RAM is highly recommended. As your server hosts more players, loads mods, and the game world expands, RAM usage will increase. Insufficient RAM can lead to server lag, crashes, and a poor player experience. Investing in more RAM is one of the most impactful upgrades you can make.
- Storage: While not explicitly mentioned in the original article, consider storage. An SSD (Solid State Drive) is preferable to an HDD (Hard Disk Drive) for faster server startup and world loading times. The game itself doesn’t take up much space, but the world save files can grow over time, especially with a persistent server.
- Internet Connection: A stable internet connection with a minimum upload speed of 1MBps is necessary. Upload speed is critical as the server needs to send game data to all connected players. The more players you have, the more upload bandwidth you’ll need. For a larger server or one with many mods, you might need to consider an even faster connection.
- Operating System: You have flexibility in choosing your operating system. Linux (Ubuntu 16.04+), Windows 7/8/10 (64-bit), or macOS 10.12+ are all viable options. Linux servers are often favored for their stability and efficiency, while Windows is more familiar to many users. macOS can also work but might have compatibility issues with some server management tools. It’s important to choose a 64-bit version of your chosen OS to fully utilize available RAM.
Important Note on ARM-Based Systems
The original article correctly points out that Project Zomboid is not optimized for ARM-based systems. These systems, while becoming more common, often lack the raw single-core performance needed for game servers like Project Zomboid. Attempting to run a server on ARM architecture may lead to significant performance issues and instability, making it unsuitable for hosting.
By ensuring your server hardware meets or exceeds these recommendations, you’ll lay a solid foundation for a lag-free and enjoyable Project Zomboid experience for yourself and your players.
Step-by-Step Installation Guide for Your Project Zomboid Server
Installing the Project Zomboid dedicated server is a straightforward process, whether you prefer using the Steam client or the command-line SteamCMD tool. Here’s a detailed breakdown for both Linux and Windows environments.
Installation via Steam Client (Graphical Method)
- Open your Steam Library: Launch the Steam client and navigate to your Library section, ensuring you have “Tools” enabled in the filter (usually found next to the search bar).
- Search for “Project Zomboid Dedicated Server”: Type “Project Zomboid Dedicated Server” into the search bar. It should appear as a separate tool in your library if you own Project Zomboid.
- Install the Dedicated Server: Right-click on “Project Zomboid Dedicated Server” and select “Install.” Choose the installation directory. It’s recommended to choose a location that’s easy to access and manage, for example,
C:PZServer
on Windows or./pzserver
in your home directory on Linux. - Wait for Installation to Complete: Steam will download and install the server files to your chosen directory. This may take some time depending on your internet speed.
Installation via SteamCMD (Command-Line Method)
SteamCMD is a command-line version of the Steam client, useful for server administrators who prefer a more direct and scriptable approach.
For Linux:
- Download and Install SteamCMD: If you don’t have SteamCMD installed, you’ll need to download and extract it. Instructions vary slightly depending on your Linux distribution, but generally involve using
wget
andtar
commands. Refer to the SteamCMD wiki for distribution-specific instructions. - Run SteamCMD: Open a terminal and navigate to the directory where you extracted SteamCMD. Run
./steamcmd.sh
. - Login Anonymously: At the
Steam>
prompt, typelogin anonymous
and press Enter. - Set Installation Directory: Specify the installation directory using
force_install_dir ./pzserver
. This command tells SteamCMD where to download the server files. You can change./pzserver
to your desired directory. - Download Project Zomboid Server Files: Execute the command:
app_update 380870 validate
.380870
is the App ID for the Project Zomboid Dedicated Server.validate
ensures all files are correctly downloaded and verified. - Quit SteamCMD: Once the download and validation are complete, type
quit
and press Enter to exit SteamCMD.
For Windows:
- Download SteamCMD: Download the SteamCMD installer for Windows from the Valve Developer Wiki.
- Extract SteamCMD: Create a folder (e.g.,
C:SteamCMD
) and extract the contents of the downloaded ZIP file into it. - Run SteamCMD: Open Command Prompt as an administrator and navigate to the
C:SteamCMD
directory. Runsteamcmd.exe
. - Login Anonymously: At the
Steam>
prompt, typelogin anonymous
and press Enter. - Set Installation Directory: Specify the installation directory using
force_install_dir C:PZServer
. You can adjustC:PZServer
to your preferred location. - Download Project Zomboid Server Files: Execute the command:
app_update 380870 validate
. - Quit SteamCMD: Once finished, type
quit
and press Enter to exit SteamCMD.
Port Forwarding: Making Your Server Accessible
To allow players outside your local network to connect to your Project Zomboid server, you need to configure port forwarding on your router. This process directs incoming network traffic on specific ports to your server machine.
Essential Ports for Project Zomboid
Project Zomboid servers primarily use the following UDP ports:
- 16261 UDP: This is the main port used for game connections. Players will connect to your server using this port.
- 16262 UDP: This port is used for direct connections and server browser listings.
Note: Some server configurations might use a range of ports, so it’s always best to consult the server configuration files for the exact ports being used.
General Port Forwarding Steps (Router Specific)
-
Access Your Router’s Configuration Page: Open a web browser and enter your router’s IP address in the address bar. This is usually
192.168.1.1
or192.168.0.1
. Refer to your router’s manual if you’re unsure. -
Login to Your Router: You’ll need your router’s username and password to log in. These are often found on a sticker on the router itself, or you may have set them up previously. Default credentials are often
admin/admin
oradmin/password
, but it’s crucial to change these for security. -
Find the Port Forwarding Section: The location of the port forwarding settings varies greatly depending on your router’s manufacturer and model. Look for sections labeled “Port Forwarding,” “NAT Forwarding,” “Virtual Servers,” or similar terms. Consult your router’s manual or online documentation for specific guidance.
-
Create Port Forwarding Rules: For each port (16261 UDP and 16262 UDP), you’ll need to create a rule. The rule typically requires the following information:
- Service Name/Description: Enter a descriptive name like “PZ Server Port 16261”.
- Port Range: Enter the port number (e.g., 16261-16261 for a single port, or 16261-16262 to forward a range if your server uses consecutive ports).
- Protocol: Select UDP.
- Internal IP Address/Destination IP: Enter the local IP address of the computer running your Project Zomboid server. This is the IP address assigned to your server machine by your router on your local network. You can usually find this IP address by running
ipconfig
(Windows) orifconfig
(Linux/macOS) in the command line. - Local Port/Internal Port: This is usually the same as the external port (e.g., 16261).
-
Save and Apply Settings: After creating the rules for both ports, save the changes and apply the settings on your router. Your router may need to restart for the changes to take effect.
Important: Port forwarding can pose security risks if not configured correctly. Ensure you only forward the necessary ports and keep your server software updated.
Starting Your Project Zomboid Server
Once installed and ports forwarded, you’re ready to launch your Project Zomboid server. There are a few ways to start the server, each with slightly different characteristics.
Starting from Steam Library (Graphical Terminal)
The simplest method is to launch the server directly from your Steam library.
- Navigate to Tools in Steam Library: As before, ensure “Tools” is enabled in your Steam library filter.
- Find “Project Zomboid Dedicated Server”: Locate “Project Zomboid Dedicated Server” in your list of tools.
- Click “Play”: Click the “Play” button. This will launch a terminal window displaying server logs and information. This method is convenient for basic server operation and monitoring.
Starting via Command Line (Direct Control)
For more control and potentially background server operation (especially on Linux), using the command line is recommended.
Windows:
- Navigate to Server Directory: Open Command Prompt and navigate to your Project Zomboid server installation directory (e.g.,
C:PZServer
). - Run StartServer64.bat: Execute the command
StartServer64.bat
. This batch file contains the necessary commands to launch the 64-bit server executable.
Linux:
- Navigate to Server Directory: Open a terminal and navigate to your Project Zomboid server directory (e.g.,
./pzserver
). - Make Script Executable (if needed): Ensure the
start-server.sh
script is executable. If not, runchmod +x start-server.sh
. - Run start-server.sh: Execute the command
./start-server.sh
. This shell script launches the server application.
GOG Crossplay Considerations
The original article mentions GOG Crossplay. To enable crossplay with GOG users (allowing them to join your server even if they don’t own the game on Steam), you need to add the -nosteam
parameter to the server startup command.
- Windows (No Steam): The
StartServer-nosteam64.bat
batch file is pre-configured for running the server without Steam integration. Use this batch file instead ofStartServer64.bat
. - Linux (No Steam): You’ll need to modify the
start-server.sh
script to include the-nosteam
parameter in the server launch command.
Important Limitation: When running in -nosteam
mode, you cannot use Steam Workshop mods. This is a significant trade-off. If you want to use mods, you must run the server with Steam enabled, and GOG users will not be able to join.
Conclusion: Your Apocalypse Awaits
By following these steps, you should now have a fully functional Project Zomboid server ready to host your friends or community. Remember to configure your server settings through the server configuration files (server.ini
and related files) to customize your game world, rules, and mods (if using Steam). Experiment with different settings to find the perfect balance for your desired gameplay experience. Hosting your own server unlocks a new level of control and customization in Project Zomboid, offering endless possibilities for zombie survival. Happy hosting, and try not to get bitten!