8GB of RAM is the minimum recommended for a Project Zomboid server
A Project Zomboid server requires at least 8GB RAM for 1-4 players with default settings. For larger multiplayer groups (8+ players), 12-16GB ensures smooth performance, especially with mods. RAM needs scale with map size, zombie counts, and active mods. Insufficient RAM causes lag, crashes, or world corruption.
Key Factors Affecting RAM Usage
- Player count: Each player adds ~500MB-1GB RAM (e.g., 8 players = ~8GB+).
- Mods: Large mods (e.g., NPC overhauls, map expansions) can double RAM needs.
- Map size: Louisville or custom maps require 20-30% more RAM than Muldraugh.
- Zombie population: High settings (4x zombies) increase RAM by ~30-50%.
- Server uptime: Long-running servers accumulate memory leaks; restart every 24-48 hours.
RAM Requirements by Server Size
| Player Count | Mods | Map Size | Recommended RAM | Max Zombie Setting |
|---|---|---|---|---|
| 1-4 | None/light | Default (Muldraugh) | 8GB | 2x |
| 4-8 | 5-10 mods | Louisville | 12GB | 3x |
| 8-16 | 10+ mods (e.g., NPCs, vehicles) | Custom large maps | 16GB+ | 4x |
| 20+ | Heavy modpacks | Multi-tile maps | 24GB+ | 2x-3x (reduce for stability) |
How to Optimize RAM Usage
- Reduce zombie counts: Drop from 4x to 2x to save ~1-2GB.
- Disable unused mods: Audit mods with
ServerModslist. - Limit map loading: Use
MaxTileForStreaminginserver.ini. - Adjust Java VM settings: Allocate RAM via
-Xms8G -Xmx12G(match your server's RAM). - Schedule restarts: Automate daily reboots to clear memory leaks.
Signs Your Server Needs More RAM
- Frequent crashes with
java.lang.OutOfMemoryError. - Chunks failing to load (players see "invisible" terrain).
- Zombies or items disappearing/respawning erratically.
- Server console logs show GC (garbage collection) warnings.
- Players experience rubber-banding or 5+ second freezes.
Alternative Solutions If RAM Is Limited
- Use a lighter map: Switch from Louisville to Riverside or a small custom map.
- Cap players: Limit to 4 players with 8GB RAM.
- Disable Erosion: Set
ErosionSpeed=0insandbox_vars.lua. - Use 64-bit Java: Ensures full RAM allocation (32-bit caps at ~4GB).
- Offload to SSD: Faster storage reduces RAM strain during world loading.