CS 1.6 Server.cfg Optimization: High FPS ReHLDS Guide

Last updated: May 1, 2026

This is a tested server.cfg download for CS 1.6 ReHLDS servers — optimized for 1000 FPS, stable hit registration, low choke, and lag-free gameplay. Download the file, merge it with your existing config, and restart your server. If your players need a clean CS 1.6 client, send them to csdownload.net.

Download server.cfg

⬇ Download server.cfg

The ZIP contains a single server.cfg file with all performance and ReHLDS settings from this guide. Tested on ReHLDS servers with up to 32 players.

Requirements

These settings require ReHLDS. The sv_rehlds_* commands do not exist in legacy HLDS — using them on a standard HLDS server will produce console errors and the commands will be ignored.

Download the latest ReHLDS and related components from the ReHLDS official website:

Component What It Does
ReHLDS Enhanced HLDS engine — required for all sv_rehlds_* settings
ReGameDLL_CS Enhanced server-side GameDLL with additional CS 1.6 fixes
ReAPI AMXModX module for ReHLDS/ReGameDLL plugin support
Metamod-R Optimized Metamod fork for plugin management

How to Install

⚠ Important: The downloaded file contains only performance commands — no hostname, no rcon password, no map settings. Do not replace your existing server.cfg with this file directly. If you do, you will lose your server name, RCON password, map cycle, and all other custom settings. Follow the merge steps below instead.
  1. Download and extract the ZIP. You will find a single server.cfg file inside.
  2. Open the extracted file with Notepad or Notepad++.
  3. Open your existing server.cfg on your server in a second window.
  4. Copy all content from the downloaded file.
  5. Paste it at the bottom of your existing server.cfg.
  6. Check for duplicate commands — scroll through your existing config and remove any older entries for the same commands (e.g., if you already have sys_ticrate, delete the old line and keep the new one).
  7. Save the file and restart your ReHLDS server.
  8. Connect to the server and type net_graph 3 to verify everything is working.

Settings Explained

Tickrate & Updates

sys_ticrate "1100"
sv_maxupdaterate "80"
sv_minupdaterate "64"

sys_ticrate "1100" — How many times per second the server processes game logic. 1000–1100 is the current standard for ReHLDS servers — this achieves ~1000 server-side FPS. Higher ticrate reduces the gap between a player’s action and the server’s response.

Server FPS is not the same as client FPS. Clients only receive updates at the rate set by sv_maxupdaterate — but a high ticrate means those updates are prepared more frequently and sent with less delay.

Server Type sys_ticrate sv_maxupdaterate Recommended client settings
Public (up to 32 players) 1000 80 – 101 rate 100000; cl_updaterate 101; ex_interp 0.01
Competitive / 5v5 1000 – 1100 101 rate 100000; cl_updaterate 101; ex_interp 0.01
Bhop / Surf 1000 101 rate 100000; cl_updaterate 101; ex_interp 0.01
Low-end VPS 500 64 rate 25000; cl_updaterate 60; ex_interp 0.02

If stats in the server console shows FPS below 500, your CPU cannot sustain 1000 ticrate. Lower sys_ticrate to 500 until the stats FPS stabilizes above the ticrate value.

sv_maxupdaterate "80" — Maximum updates per second sent to each client. Use 101 on competitive servers for maximum smoothness. Use 80 on public servers to reduce uplink bandwidth usage.

sv_minupdaterate "64" — Minimum updates per second guaranteed to every client regardless of their connection quality.

Network Rates

sv_maxrate "0"
sv_minrate "100000"

sv_maxrate "0" — Maximum bytes per second sent to a client. Setting to 0 removes the cap — players with high bandwidth receive all available data. On servers with limited uplink, set this to 100000 to prevent one player from consuming all bandwidth.

sv_minrate "100000" — Minimum bytes per second guaranteed to every client. Ensures smooth movement and hit registration. Players who cannot sustain this bandwidth will experience packet loss. For servers with mixed connections, lower to 25000.

sv_downloadurl "" — Fast download URL for custom maps, sounds, and models. When set, clients download server resources via HTTP instead of through the game connection — dramatically faster map downloads. Set this to your web server or FastDL URL. Example: sv_downloadurl "http://yourserver.com/fastdl/". Leave empty if you do not have a FastDL setup.

pingboost 3 — Reduces player ping by optimizing how the server handles timer precision. Values: 1 (minimal boost), 2 (moderate), 3 (maximum). Higher values increase CPU usage. Start with 2 and monitor CPU via stats. If CPU stays under 70% at full player load, use 3. Not available on all hosting environments — some VPS providers block the system timer access required for pingboost to function.

Movement & Physics

sv_airaccelerate "100"
edgefriction "2"
host_framerate "0"
decalfrequency "60"

sv_airaccelerate "100" — Controls air movement speed. Default is 10. Set to 100 only on Bhop or Surf servers. On standard public or competitive servers, keep this at 10 — setting 100 allows players to gain unlimited speed mid-air and breaks standard CS 1.6 movement.

host_framerate "0" — Always set to 0 on ReHLDS. Any other value overrides the automatic frame processing and slows the server down.

decalfrequency "60" — Minimum seconds between player spray applications. 60 means once per minute. Adjust to your preference.

Lag Compensation

sv_maxcmdrate 101
sv_maxunlag 0.5
sv_uploadmax 1.0

sv_maxcmdrate 101 — Maximum command packets per second accepted from a client. Must match the client’s cl_cmdrate. If clients report Choke > 0 in net_graph, verify their cl_cmdrate does not exceed this value.

sv_unlag 1 — Enables server-side lag compensation. Always set to 1. Without this, players with higher ping have a significant disadvantage — their shots are calculated based on where enemies currently are, not where they were when the shot was fired.

sv_maxunlag 0.5 — Maximum seconds the server rewinds player positions for lag compensation. At 0.5, players with up to 500ms ping benefit from hit registration correction. Lower to 0.2–0.3 on servers where all players have low ping.

sv_timeout 65 — Seconds before the server disconnects a player who stops responding. Default is 65. Lower values (30–40) are useful on public servers to quickly free slots from disconnected players. Higher values (90–120) help players on unstable connections stay connected through brief outages.

ReHLDS Specific Settings

sv_use_entity_file "0"
sv_rehlds_force_dlmax "1"
sv_delayed_spray_upload "0"
sv_rehlds_send_mapcycle "0"
sv_rehlds_local_gametime "1"
sv_rehlds_hull_centering "1"
sv_rehlds_movecmdrate_max_avg "-1"
sv_rehlds_stringcmdrate_max_avg "-1"
sv_rehlds_movecmdrate_max_burst "-1"
sv_auto_precache_sounds_in_models "0"
sv_rehlds_stringcmdrate_max_burst "-1"
sv_rehlds_attachedentities_playeranimationspeed_fix "1"
Command Effect
sv_use_entity_file "0" Speeds up map loading, reduces FPS drops during map changes
sv_rehlds_force_dlmax "1" Forces clients to download at maximum speed — faster loading screens
sv_delayed_spray_upload "0" Eliminates spray-related lag spikes during gameplay
sv_rehlds_send_mapcycle "0" Stops server from sending map cycle to clients — reduces connection bandwidth
sv_rehlds_local_gametime "1" Fixes time drift between server and clients — improves shot timing accuracy
sv_rehlds_hull_centering "1" Fixes hitbox offset bug from legacy HLDS — shots that visually connect now register correctly
sv_rehlds_movecmdrate_max_avg "-1" Disables movement command rate limiting — prevents server from dropping legitimate client packets
sv_rehlds_stringcmdrate_max_avg "-1" Disables string command rate limiting
sv_rehlds_movecmdrate_max_burst "-1" Disables burst movement command limiting
sv_auto_precache_sounds_in_models "0" Skips unnecessary sound precaching — reduces map load time
sv_rehlds_stringcmdrate_max_burst "-1" Disables string command burst limiting
sv_rehlds_attachedentities_playeranimationspeed_fix "1" Fixes grenade and knife animation sync between what you see and what opponents see

How to Check If It Works

From inside the game

Connect to your server as a player and type net_graph 3 in the console:

  • Choke = 0 — server is processing all your packets ✓
  • Loss = 0 — no packets dropping ✓
  • Ping — your latency to the server (not affected by these settings)

From the server console

Type stats in your server console or via HLSW with RCON:

CPU   In      Out     Uptime  Users   FPS      Players
23.33 191.95  282.03  840     2293    1044.32  21
  • FPS — should be close to your sys_ticrate value (1000+). If below 500, lower sys_ticrate.
  • CPU — should be under 70% under full player load.

Full Config Reference

⚠ Reminder: This block contains only performance settings. It does not include hostname, rcon_password, map settings, or game rules. Paste this at the bottom of your existing server.cfg — do not replace the whole file.
// CS 1.6 Performance Settings — csdownload.net
// Paste at the bottom of your existing server.cfg
// Do not replace your full server.cfg with this block

// Tickrate & Updates
sys_ticrate "1100"
sv_maxupdaterate "80"
sv_minupdaterate "64"

// Network Rates
sv_maxrate "0"
sv_minrate "100000"

// Movement & Physics
sv_airaccelerate "100"
edgefriction "2"
host_framerate "0"
decalfrequency "60"

// Lag Compensation
sv_unlag 1
sv_maxcmdrate 101
sv_maxunlag 0.5
sv_uploadmax 1.0
sv_timeout 65

// Connection (optional — configure for your server)
// sv_downloadurl "http://yourserver.com/fastdl/"
// pingboost 3

// ReHLDS Settings (requires latest ReHLDS)
sv_use_entity_file "0"
sv_rehlds_force_dlmax "1"
sv_delayed_spray_upload "0"
sv_rehlds_send_mapcycle "0"
sv_rehlds_local_gametime "1"
sv_rehlds_hull_centering "1"
sv_rehlds_movecmdrate_max_avg "-1"
sv_rehlds_stringcmdrate_max_avg "-1"
sv_rehlds_movecmdrate_max_burst "-1"
sv_auto_precache_sounds_in_models "0"
sv_rehlds_stringcmdrate_max_burst "-1"
sv_rehlds_attachedentities_playeranimationspeed_fix "1"

You can see all the available game resources plus you can get the latest installer here. To complete your setup process.