Romania XPlayZM.CSBlackDevil.COM # Zombie Plague UltimateX [ Respawn + FDL + VIP 22-12PM + POINTS] ® 20/32
Unknown ❤ RESPAWN.ZAFEST.RO | VIP FREE | FREE FOR ALL ❤ 0/32
France EMIRATES.KiNGS 亗 GAMEAREA ||͇̿P͇̿U͇̿B͇̿L͇̿I͇̿C͇̿| ✪ 32/32
Promote server
12 lines 5.6 KiB Markdown Source Rendered Raw Permalink History
---
title: "Optimizing a Zombie Server (Precache, Entities, Rates)"
excerpt: "Why zombie mods are the heaviest CS 1.6 workload, how to tame precache from custom models and sounds, keep the edict count under control, and tune rates so knockback and infection feel crisp."
category: "optimization"
tags: "zombie-plague, performance"
image: ""
read_time: "8 min read"
---
<p>Zombie servers are the most resource-hungry thing you can run on the GoldSrc engine. A single Zombie Plague-style mod piles on custom zombie/human models, dozens of custom sounds, ammo-pack entities, particle and effect entities, and heavy per-frame knockback math &mdash; all on <a href="/tutorials/is-hlds-single-threaded">one core</a>. Left untuned it hits precache ceilings, exhausts edicts, and feels mushy. Here is how to make a zombie server both stable and crisp.</p><h2>1. Tame the precache load</h2><p>Zombie mods precache far more than vanilla CS: multiple zombie models, human models, weapon models, and a wall of custom WAVs for infection, groans and ambience. Each is a slot against the engine's model and sound ceilings, and overrunning them crashes the map on load. Audit what the mod actually uses versus what it precaches "just in case", and cut custom classes you do not run. Share models between classes where possible instead of shipping a unique model per class. The exact ceilings and the overflow errors are in <a href="/tutorials/precache-limits-performance">precache limits</a>, <a href="/tutorials/fix-model-overflow-precache">model overflow</a>, and <a href="/tutorials/fix-sound-slots-overflow">sound slot overflow</a>.</p><h2>2. Watch the edict count</h2><p>Ammo packs, dropped weapons, grenades, and every visual effect a zombie mod spawns are entities, and a busy 32-player zombie round can approach the engine's edict ceiling. When it does you get:</p><pre>Host_Error: PF_precache_model_I: Model ... failed to precache
ED_Alloc: no free edicts</pre><p>Reduce the number of simultaneous effect entities the mod spawns, cap decorative particles, and clean up dropped items faster. The failure mode and the cvars that raise or manage the ceiling are covered in <a href="/tutorials/fix-max-edicts-too-many-entities">too many entities / max edicts</a>.</p><h2>3. Tune rates for knockback feel</h2><p>Zombie gameplay lives and dies by knockback, and knockback is applied server-side and delivered through the same update stream as everything else. If clients are choking, the knockback push arrives late and infection feels laggy and unfair. Run the full high-update config so the fast, physical zombie combat stays responsive:</p><pre>sv_maxupdaterate 100
sv_maxrate 25000
sv_minrate 5000</pre><p>and eliminate choke as described in <a href="/tutorials/eliminate-choke-server">the choke guide</a>. Because a zombie server is often full and fast, a stable high server fps matters even more than on a standard server &mdash; verify it under load with <code>stats</code> and the <a href="/tutorials/stable-1000-fps-linux-server">stable 1000 fps</a> guide.</p><h2>4. Keep per-frame plugin cost down</h2><p>Knockback, glow, and ambience plugins often run every frame for every player, and on a full zombie server that is the dominant CPU cost. Run a lean, well-written core rather than stacking add-ons. Our own <a href="/plugins/csb-zombie-core">CSB Zombie Core</a> and <a href="/plugins/csb-zombie-classes">CSB Zombie Classes</a> are built to keep the per-frame work bounded; if you run a different base, profile it (disable half the add-ons, watch fps) using <a href="/tutorials/profile-plugin-performance">plugin profiling</a> to find which effect plugin is eating the core.</p><h2>5. Right-size the server</h2><p>Given the load, a zombie server needs a fast single core and enough RAM for the fat precache. Force the <a href="/tutorials/cpu-governor-performance">performance governor</a>, run <a href="/tutorials/hlds-vs-rehlds-explained">ReHLDS</a> for the extra efficiency, and if you host other servers on the box, give the zombie instance its own pinned core with <a href="/tutorials/cpu-affinity-taskset-hlds">taskset</a> because it will starve neighbours otherwise. New to the mod itself? Start from <a href="/tutorials/install-zombie-plague-mod">installing Zombie Plague</a> and optimise from there.</p><h2>Common errors</h2><ul><li><strong>Map crashes on load with a precache error</strong> &mdash; too many custom models or sounds. Cut classes and share models; see the precache guides.</li><li><strong>"no free edicts" mid-round</strong> &mdash; effect and item entities exhausted the edict pool. Reduce simultaneous effects and clean up items.</li><li><strong>Infection/knockback feels laggy</strong> &mdash; clients are choking or server fps sags when full. Fix rates and fps under load.</li><li><strong>fps collapses only on a full zombie round</strong> &mdash; a per-frame effect plugin scaling with player count. Profile and trim it.</li><li><strong>Zombie server drags down other servers on the box</strong> &mdash; it is not pinned; it is stealing a shared core. Give it a dedicated core.</li></ul><h2>Verification</h2><p>Fill the server (bots to your max), run a full infection round, and watch the ceilings and fps together:</p><pre>stats</pre><p>Confirm the map loads without precache errors, no <code>ED_Alloc</code> messages appear during a busy round, <code>fps</code> stays high with the server full, and a connected client shows zero choke on <a href="/tutorials/cs16-net-graph-guide">net_graph 3</a> even as knockback flies. If all four hold on a full round, the server is optimised; if precache or edicts fail, cut custom content before touching anything else, because no rate or fps tuning can save a server that crashes on map load.</p>