For a reliable internet server, start with sv_minrate 8000, sv_maxrate 25000, sv_minupdaterate 30, sv_maxupdaterate 100, sys_ticrate 100, and sv_unlag 1. On the client, begin with rate 25000, cl_updaterate 101, cl_cmdrate 101, ex_interp 0.01, and net_graph 3.
These values are a starting point, not a guarantee of lower ping, perfect hit registration, or a fixed frame rate. The effective settings are determined by the server, the client, the route between them, and the server’s CPU headroom. Change one variable at a time and use the network graph to verify the result.
As an Amazon Associate I earn from qualifying purchases.
Recommended CS 1.6 server and client configuration
Put the following in the server’s server.cfg:
// server.cfg
sv_minrate 8000
sv_maxrate 25000
sv_minupdaterate 30
sv_maxupdaterate 100
sys_ticrate 100
sv_unlag 1
Use these as initial client values in the console or in a client configuration file:
rate 25000
cl_updaterate 101
cl_cmdrate 101
ex_interp 0.01
net_graph 3
The server variables establish the permitted range; the client variables are requests inside that range. A client cannot force an updaterate or rate above the server’s cap. If a plugin, host panel, or later configuration file changes a value, the value shown in the console is the one that matters.
#1 Best Overall
- The next-generation optical HERO sensor delivers incredible performance and up to 10x the power efficiency over previous generations, with 400 IPS precision and up to 12,000 DPI sensitivity
- Ultra-fast LIGHTSPEED wireless technology gives you a lag-free gaming experience, delivering incredible responsiveness and reliability with 1 ms report rate for competition-level performance
- G305 wireless mouse boasts an incredible 250 hours of continuous gameplay on just 1 AA battery; switch to Endurance mode via Logitech G HUB software and extend battery life up to 9 months
- Wireless does not have to mean heavy, G305 lightweight mouse provides high maneuverability coming in at only 3.4 oz thanks to efficient lightweight mechanical design and ultra-efficient battery usage
- The durable, compact design with built-in nano receiver storage makes G305 not just a great portable desktop mouse, but also a great laptop travel companion, use with a gaming laptop and play anywhere
What the starting values are intended to do
| Setting | Starting value | Role | Important qualification |
|---|---|---|---|
sv_minrate |
8000 | Lower bound for bytes per second sent to a client | A high floor can exclude slow or unstable connections. |
sv_maxrate |
25000 | Upper bound for bytes per second sent to a client | Raising it helps only when clients and the route can sustain the traffic. |
sv_minupdaterate |
30 | Lower bound for snapshots received each second | An aggressive floor can hurt players on weak links. |
sv_maxupdaterate |
100 | Upper bound for snapshots received each second | Clients cannot receive more updates than this cap. |
sys_ticrate |
100 | Maximum server calculation frames per second | Higher values consume more CPU and require stability testing. |
sv_unlag |
1 | Enables lag compensation | Related compensation controls, including sv_maxunlag, are separate variables. |
The CVar reference from txdv.github.io (accessed in 2026) defines rate limits in bytes per second, updaterates in updates per second, and sys_ticrate as the maximum number of server calculation frames per second. A current CS 1.6 configuration guide supplies the client starting values and notes that servers can cap them.
How each server setting affects play
sv_maxrate: the server’s bandwidth ceiling
sv_maxrate limits the bytes per second the server may send to each client. A higher ceiling can carry more state information, but it cannot repair a congested route or a client that cannot receive the traffic. If the server’s uplink, a player’s connection, or an intermediate network is saturated, increasing this value can produce choke rather than smoother updates.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Set it to 25000 as a practical starting ceiling for a normal internet server, then inspect real sessions. If several players show sustained choke, lower the requested client rate or the server ceiling instead of assuming that a larger number is better.
sv_minrate: preventing an excessively low client request
sv_minrate stops a client from negotiating an arbitrarily low receive rate. The suggested floor of 8000 protects update delivery for ordinary connections while leaving room for slower players than a much higher floor would. A public server should not set the floor higher than its intended player population can support.
If a particular player can connect but experiences choke on an unstable or narrow link, the minimum rate may be part of the problem. Lower the floor for an inclusive server, or keep it higher only when consistent update delivery for the rest of the players is more important.
sv_maxupdaterate: snapshot frequency
sv_maxupdaterate caps snapshots per second. The recommended ceiling of 100 is common in CS 1.6 configurations. The client may request cl_updaterate 101, but the server still limits the effective value to its own maximum.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsRank #2
- HERO Gaming Sensor: Next generation HERO mouse sensor delivers precision tracking up to 25600 DPI with zero smoothing, filtering or acceleration
- 11 programmable buttons and dual mode hyper-fast scroll wheel: The Logitech wired gaming mouse gives you fully customizable control over your gameplay
- Adjustable weights: Match your playing style. Arrange up to five 3.6 g weights for a personalized weight and balance configuration
- LIGHTSYNC technology: Logitech G LIGHTSYNC technology provides fully customizable RGB lighting that can also synchronize with your gaming (requires Logitech Gaming Software)
- Mechanical Switch Button Tensioning: A metal spring tensioning system and metal pivot hinges are built into left and right computer gaming mouse buttons for a crisp, clean click feel with rapid click feedback
More snapshots can make movement and hit events feel more current when the server and connection can sustain them. They also increase the amount of data that must be delivered. If the route cannot carry the requested stream, the graph may show choke; reduce the request until the connection remains stable.
sv_minupdaterate: a lower snapshot floor
The suggested floor of 30 prevents a client from operating at an extremely low snapshot rate. It is deliberately less aggressive than the maximum. Raising the floor can make a server feel consistent for strong connections, but it can also make the server unplayable for users on weak, wireless, or congested links. Treat 30 as a broad-compatibility starting point, not a universal requirement.
sys_ticrate: server calculation frequency
sys_ticrate controls the maximum number of server calculation frames per second. The CVar reference lists a default of 100 and a documented range of 0 to 1000. That range is not a recommendation to use 1000. A higher target asks the CPU to perform more work and may reduce headroom for game logic, plugins, and multiple players.
Use 100 first. Check server CPU utilization and the server’s reported frame performance during a busy round before testing a higher value. If the machine is already near its limit, increasing sys_ticrate can create timing instability rather than smoother play. No cited source establishes a universal benefit from running above 100.
sv_unlag and lag compensation
sv_unlag 1 keeps lag compensation enabled. This allows the server to account for a player’s latency when processing interactions, subject to the engine’s other compensation controls. The CVar reference documents related settings such as sv_maxunlag; changing those without a specific diagnostic reason makes troubleshooting harder. Leave compensation enabled while establishing a baseline.
Client rate, command, and interpolation settings
rate
rate is the client’s requested bytes-per-second receive rate. The txdv.github.io CVar reference lists a default of 20000 and a range of 1000–20000 for the cited build, while the current configuration guide recommends rate 25000. That apparent mismatch is important: different builds, server configurations, or guides may use different ceilings. If the console clamps 25000, the clamped value is the effective one; do not try to bypass it.
Rank #3
- Next-gen 12,000 DPI HERO optical sensor delivers unrivaled gaming performance, accuracy and power efficiency
- Advanced LIGHTSPEED wireless gaming mouse for super-fast 1 ms response time and faster than wired performance
- Ultra-long battery life gives you up to 250 hours of continuous gaming on a single AA battery
- Lightweight mechanical design and classic shape for maximum maneuverability, durability and comfort
- Compact, portable design with convenient built-in storage for included USB wireless receiver
cl_updaterate
cl_updaterate 101 asks for up to 101 updates per second. The server’s sv_maxupdaterate wins, so a server capped at 100 will not deliver 101 snapshots. If choke appears, test a lower request such as 80 or 60 and compare the graph during the same type of gameplay. There is no single lower value that suits every route.
cl_cmdrate
cl_cmdrate 101 asks the client to send up to 101 command packets per second. It is also subject to server and engine behavior. A command rate that is too high for the connection can contribute to congestion; a lower, sustainable value is preferable to a higher value accompanied by choke.
ex_interp
ex_interp controls interpolation delay. The configuration guide uses 0.01 as a low-delay starting point but notes that the correct value depends on the server. A ValveSoftware discussion about networking records competing interpretations of automatic versus manually calculated interpolation, so there is no officially endorsed universal number.
Use 0.01 for a baseline, observe the result, and avoid changing interpolation while also changing rates, FPS, and graphics. If a server or mod applies its own restrictions, the value you enter may not remain active.
Make sure rendering is smooth before changing networking
Network settings cannot fix uneven local frame pacing. If the server graph is healthy but the game stutters, test rendering variables separately:
gl_vsync 0disables vertical synchronization for testing.gl_dynamic 0reduces dynamic lighting work.cl_minmodels 1uses simplified player models.- Lower decals and other visual effects if the machine cannot hold its target frame rate.
- Choose an
fps_maxvalue the machine can maintain consistently rather than a peak it reaches only in empty areas.
Some servers override restricted variables, so confirm the resulting value after joining. Use net_graph 3 while testing. It displays FPS, latency, choke, and loss, allowing you to separate a rendering problem from a network problem. The ValveSoftware discussion treats red graph indicators as connection or synchronization symptoms; they are not proof that one particular preset is correct.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Rank #4
- ICONIC ERGONOMIC DESIGN WITH THUMB REST — PC gaming mouse favored by millions worldwide with a form factor that perfectly supports the hand while its buttons are optimally positioned for quick and easy access
- 11 PROGRAMMABLE BUTTONS — Assign macros and secondary functions across 11 programmable buttons to execute essential actions like push-to-talk, ping, and more
- HYPERSCROLL TILT WHEEL — Speed through content with a scroll wheel that free-spins until its stopped or switch to tactile mode for more precision and satisfying feedback that’s ideal for cycling through weapons or skills
- 11 RAZER CHROMA RGB LIGHTING ZONES — Customize each zone from over 16.8 million colors and countless lighting effects, all while it reacts dynamically with over 150 Chroma integrated games
- OPTICAL MOUSE SWITCHES GEN 2 — With zero unintended misclicks these switches provide crisp, responsive execution at a blistering 0.2ms actuation speed for up to 70 million clicks
Apply the settings correctly on a dedicated server
- Edit the active configuration. Put the server lines in the
server.cfgthat the running GoldSrc server actually loads. Hosting panels sometimes maintain a separate command-line or per-instance configuration. - Restart or reload the server. A map change or full restart may be required for every variable to take effect. Do not assume that saving a file changes a running process.
- Print the values in the server console. Query
sv_minrate,sv_maxrate,sv_minupdaterate,sv_maxupdaterate,sys_ticrate, andsv_unlag. Record the values returned by the engine. - Check CPU behavior. Observe utilization and server frame performance during a populated round. If the machine is busy, keep
sys_ticrate 100and investigate plugins or other workloads before raising it. - Join from a test client. Enter the client values, enable
net_graph 3, and record FPS, ping, choke, and loss during quiet play and during firefights. - Change one variable only. Keep a short log of the old and new value, the map, player count, and observed graph. This prevents a graphics change from being mistaken for a network improvement.
- Recheck after changes. Map changes, plugins, host migrations, and panel updates can alter effective limits. Query the server again after any of those events.
Diagnose choke, loss, and stutter
When the graph shows choke
Choke means the expected stream is not being delivered at the requested rate. First confirm the server’s active caps. Then lower the client’s rate, cl_updaterate, or both in small steps until choke falls during the same workload. If many players choke simultaneously, inspect the server’s available bandwidth and CPU instead of changing every client independently.
A high sv_minrate or sv_minupdaterate can prevent a struggling player from reducing demand. Lowering those floors may restore playability for that population. Do not raise sv_maxrate blindly: a route that is already saturated cannot use the extra allowance.
When the graph shows loss
Loss is packet loss, not an indication that the client needs a larger rate. Investigate Wi-Fi interference, the local router, the ISP path, the server host, and congestion between the two endpoints. Test from a wired connection or another network when possible. Raising rate, cl_updaterate, or sys_ticrate does not repair packets that are being dropped.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →When ping is high but choke and loss are zero
Latency is the travel time to the server. Check geographic distance, routing, and the host’s network path. Rate settings can influence how much data is exchanged, but they do not turn a distant route into a nearby one. Keep the stable rate values and address the route or server location.
When FPS is unstable but network figures look normal
Reduce rendering load, test gl_vsync 0, simplify models and effects, and choose a sustainable fps_max. If FPS drops only when many entities or effects appear, the bottleneck is local rendering or CPU work rather than the internet connection.
When a value keeps reverting
Check for a server plugin, a host panel template, a per-map configuration, or a client autoexec that writes the value again. Print the variable after joining and after a map change. The server’s cap always takes precedence over the client’s request.
Best Value
- Pentakill, 5 DPI Levels - Geared with 5 redefinable DPI levels (default as: 500/1000/2000/3000/4000), easy to switch between different game needs. Dedicated demand of DPI options between 500-8000 is also available to be processed by software.
- Any Button is Reassignable - 11 programmable buttons are all editable with customizable tactical keybinds in whatever game or work you are engaging. 1 rapid fire + 2 side macro buttons offer you a better gaming and working experience.
- Comfort Grip with Details - The skin-friendly frosted coating is the main comfort grip of the mouse surface, which offers you the most enjoyable fingerprint-free tactility. The left side equipped with rubber texture strengthened the friction and made the mouse easier to control.
- 5 Decent Backlit Modes - Turn the backlit on and make some kills in your gaming battlefield. The hyped dynamic RGB backlit vibe will never let you down when decorating your gaming space, it would be better with other Redragon accessories with lights on.
- Fatigue Killer with Ergonomic Design - Solid frame with a streamlined and general claw-grip design offers a satisfying and comfortable gaming experience with less fatigue even though after hours of use.
Adjustments for different server populations
Mixed public internet players
Keep the conservative starting configuration: a 8000 minimum rate, 25000 maximum rate, 30–100 updaterate range, and sys_ticrate 100. This balances update consistency with compatibility. Watch whether only one connection struggles or the whole server does before changing the floor.
Players on consistently strong connections
You can test a higher minimum only after confirming that the intended audience can sustain it. Raise one floor at a time and watch choke and disconnect reports. The evidence does not establish a universally superior ceiling, so retain the lower value if the higher one produces no measurable benefit.
LAN or private testing
A controlled local network removes many internet-route variables, but it does not remove CPU limits or client rendering limits. Keep sys_ticrate 100 as the baseline, verify server frame performance, and change rates only when a measurement shows a problem. A LAN result should not be presented as proof that the same values work for every public route.
Plugin-heavy or migrated hosts
Plugins can add server work or rewrite CVars, and migration to another host can change CPU and network behavior. Reprint all effective values, check CPU utilization, and repeat the same net-graph test after the move. Do not compare a pre-migration graph with a post-migration graph unless player count and map activity are similar.
Common mistakes to avoid
- Assuming 101 is always delivered. A client request above the server cap has no effect.
- Setting every value to its maximum. More bytes, updates, or server frames require resources and can create choke or instability.
- Using graphics commands to treat packet loss. Rendering changes affect local FPS, not dropped packets.
- Raising
sys_ticratebefore checking CPU. A higher target can reduce headroom for game logic and plugins. - Changing several variables at once. You lose the ability to identify the cause of an improvement or regression.
- Ignoring server-side overrides. A plugin, map config, or host panel may rewrite the value after startup.
- Interpreting a community recipe as an official guarantee. Valve’s networking documentation explains the roles of rate and caps but does not publish one CS 1.6 best-settings preset.
What the available documentation actually establishes
Valve’s networking documentation describes the function of client rate requests and server caps, not a single universal configuration. The txdv.github.io CVar reference, accessed in 2026, lists the cited defaults and ranges: rate default 20000 with a 1000–20000 range, sv_maxupdaterate default 30, sv_minupdaterate default 10, and sys_ticrate default 100 with a 0–1000 range. These figures identify engine defaults for that reference; they are not guarantees for every distribution or hosting panel.
Recommended Free Tools
A ValveSoftware networking issue opened June 1, 2021 records community questions about ex_interp, rate, FPS, and sys_ticrate with conflicting interpretations. Steam Support directs players toward community configuration guidance for technical issues. No independent benchmark or controlled latency test establishes that one preset lowers ping, guarantees hit registration, or fixes every FPS problem.
Self-hosting and capacity planning
If you run the server yourself, monitor the machine’s CPU utilization, available network capacity, and server frame behavior while players are active. For a rented instance, look for a CS 1.6 game-server hosting plan or GoldSrc dedicated server hosting that gives you access to the real console and configuration files. The important requirement is control and observability: you need to print active CVars, inspect CPU behavior, and repeat tests after migrations or plugin changes.
Do not select a host solely because it advertises a high tick or rate number. The settings matter only when the underlying CPU, uplink, routing, and configuration permit them to be sustained.
A repeatable baseline test
- Start the server with the recommended six-line configuration.
- Join with the five client commands and enable
net_graph 3. - Record FPS, ping, choke, and loss for several minutes in a quiet area.
- Record them again during a firefight or another high-activity moment.
- If choke appears, reduce the client request that the connection cannot sustain; if loss appears, investigate the route or host.
- If FPS alone is unstable, test rendering commands without changing network values.
- After a map change or plugin update, repeat the console queries and the two-part graph test.
This process gives you an effective configuration for your players and hardware rather than a theoretical maximum. Keep the baseline if a change produces no measurable improvement.
Free tools Windows power users keep installed
One-click scans. No signup required.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




