Making a 32-Slot Server Feel Smooth

January 29, 2026 Daemon666 8 min read 4 просмотров

A 32-slot server is the hardest CS 1.6 workload to keep smooth: four times the entity updates of an 8-player game, four times the snapshot size, and four times as many plugin forwards firing every tick — all on one CPU core. Most 32-slot servers feel spongy not because 32 players is impossible, but because the admin never scaled the netcode and CPU budget to match. Here is what makes a full 32-slot box feel tight.

1. Scale sv_maxrate to the snapshot size

Every additional player enlarges each world snapshot, and at 32 players the snapshot is large. If sv_maxrate is left at a value sized for a small server, updates get truncated and everyone chokes. Raise the byte budget:

sv_maxupdaterate 100
sv_maxrate 30000
sv_minrate 7500
sv_maxupdaterate 100

A 32-slot server wants sv_maxrate around 30000 or higher — or 0 for unlimited on a box with real bandwidth headroom. But do the bandwidth math first: 32 players at 30 KB/s each is nearly 1 MB/s of upload just for this one server. If your uplink cannot sustain it, cap the rate lower and accept the trade-off rather than inducing loss.

2. Hold a genuinely stable high fps

At 32 players the server must emit 32 × up-to-100 updates per second, and it can only do that if it runs well above 100 fps with no dips. A server that holds 1000 fps at 8 players but collapses to 300 at 32 will choke every high-rate client the moment it fills. Target and verify a stable 1000 fps under full load, not empty:

stats

Read the fps column with the server full. If it sags as players join, the CPU is the bottleneck — see fps drops with players and stable 1000 fps.

3. Be ruthless about plugins

Every AMXX plugin runs on the same single core as the game, and heavy per-frame or per-player plugins scale their cost by 32. A plugin that iterates all players every PreThink is running 32 times as often as on an 8-slot server. Audit what you load: disable eye-candy and per-frame effect plugins on a 32-slot box, and profile which ones cost the most (bisect by disabling half and watching fps — see profiling plugin performance). A smooth 32-slot server runs a lean plugin set, not a kitchen sink.

4. Budget entities and precache

32 players plus their weapons, grenades, corpses and any effect entities push toward the engine's edict ceiling fast. Hitting it crashes the server or silently drops entities. Keep custom content lean, avoid maps that spawn hundreds of decorative entities, and watch the edict count — the failure mode and fix are in too many entities / max edicts and the ceilings in precache limits.

5. Put it on the right CPU

Because the whole load is on one core, a 32-slot server lives or dies by single-thread speed. A high-clock modern core holds 32 players and 1000 fps comfortably; an old low-clock core will not, no matter how many cores the box has. If you are provisioning for 32 slots specifically, read the best CPU guide and run ReHLDS, which carries a full server more efficiently than stock HLDS. Force the performance governor so the core never downclocks mid-round.

Common errors

  • Smooth at 16, spongy at 32sv_maxrate too small for the larger snapshot, or fps collapsing under load. Raise the rate and fix fps.
  • Everyone chokes when it fills — server fps is below sv_maxupdaterate at full load. The core is saturated; lighten plugins or move to a faster CPU.
  • Random entity errors on a busy map — edict ceiling. Trim entities; see the max-edicts guide.
  • High loss instead of choke after raising maxrate — you exceeded real uplink bandwidth. Do the bandwidth math and cap accordingly.
  • fps fine but feels laggy — jitter from a downclocking core or a heavy per-frame plugin. Force the governor and profile plugins.

Verification

Fill the server (or use bots to 32) and read the numbers under real load:

stats
sv_maxrate
sv_maxupdaterate

Confirm fps stays high with 32 players, the rate ceilings are sized for the population, and a connected client shows zero choke on net_graph 3. If it is tight at 32, you have scaled correctly; if it degrades only when full, the bottleneck is CPU or bandwidth, not any single cvar.

Участники: Daemon666 ✦
Поделиться: