Getting project-zomboid right from the start saves hours of debugging later. In this comprehensive guide, we'll cover everything from initial setup to production-ready configuration, including multiplayer and setup considerations.
Server Installation
It's recommended to test this configuration in a staging environment before deploying to production. This helps identify potential compatibility issues and allows you to benchmark performance differences.
# Create a dedicated game server user
sudo useradd -m -s /bin/bash gameserver
sudo su - gameserver
# Install SteamCMD
mkdir -p ~/steamcmd && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
# Install the game server
./steamcmd.sh +force_install_dir ~/servers/project-zomboid +login anonymous +app_update 1234567 validate +quit
Make sure to restart the service after applying these changes. Some settings require a full restart rather than a reload to take effect.
Configuration File Setup
It's recommended to test this configuration in a staging environment before deploying to production. This helps identify potential compatibility issues and allows you to benchmark performance differences.
# Server configuration file
[Server]
ServerName=My project-zomboid Server
MaxPlayers=32
ServerPort=27015
Password=
AdminPassword=changeme
SaveInterval=300
The configuration above sets the recommended values for a VPS with 2-4GB of RAM. Adjust the memory-related settings proportionally if your server has different specifications.
Common Issues and Solutions
- Slow performance: Check for disk I/O bottlenecks with
iostat -x 1and network issues withmtr. Review application logs for slow queries or requests. - Permission denied errors: Ensure files and directories have the correct ownership. Use
chown -Rto fix ownership andchmodfor permissions.
Conclusion
This guide covered the essential steps for working with project-zomboid on a VPS environment. For more advanced configurations, refer to the official documentation. Don't hesitate to reach out to our support team if you need help with your specific setup.