Promuj serwer
94 lines 5.7 KiB Markdown Source Rendered Raw Permalink History
---
title: "A Balanced Public Server Config (Fun but Fair)"
excerpt: "A complete, commented server.cfg for a public CS 1.6 server that keeps rounds fast and fun without turning into chaos: timing, economy, team balance and anti-grief."
category: "administration"
tags: "config, public"
image: ""
read_time: "9 min read"
---
<p>A public CS 1.6 server lives or dies on feel. Too strict and it plays like a scrim nobody asked for; too loose and it is a team-killing free-for-all. The sweet spot is a config that keeps rounds moving, gives players enough money to have fun, and quietly stops the behaviors that drive people away. This is a complete, commented starting point you can paste and tune.</p>

<h2>1. The philosophy</h2>
<p>Every value below leans toward pace and forgiveness over realism: shorter freezetime, a touch more starting money, generous but not silly buy time, and team-balance plus grief punishment turned on so one bad actor cannot wreck a round. It is not a competitive ruleset — for that you would tighten timing and disable the conveniences. This is tuned for a busy public box where players come and go.</p>

<h2>2. Identity and networking</h2>
<pre>// --- identity ---
hostname "My CS 1.6 Server | Fun Public"
sv_contact "[email protected]"
rcon_password "USE-A-LONG-RANDOM-STRING"
sv_password ""            // public

// --- visibility / net ---
sv_lan 0                  // MUST be 0 to show in the master list
sv_region 255             // 255 = world; set your real region
sv_maxrate 25000
sv_minrate 15000
sv_maxupdaterate 101
sv_minupdaterate 30
sv_timeout 60</pre>
<p><code>sv_lan 0</code> and a long <code>rcon_password</code> are the two non-negotiables; the rest of the server-level cvars are explained in the <a href="/tutorials/essential-server-cvars">essential server cvars</a> list.</p>

<h2>3. Round timing and economy</h2>
<pre>// --- timing (minutes unless noted) ---
mp_freezetime 3           // seconds; short so nobody waits
mp_roundtime 3
mp_buytime 0.5            // 30 seconds
mp_c4timer 35
mp_timelimit 30           // map ends every 30 min, drives the vote

// --- economy ---
mp_startmoney 800
mp_maxrounds 0
mp_winlimit 0</pre>
<p>Remember <code>mp_buytime</code> and <code>mp_roundtime</code> are in <em>minutes</em> while <code>mp_freezetime</code> and <code>mp_c4timer</code> are in <em>seconds</em> — mixing them up is the classic mistake covered in the <a href="/tutorials/mp-cvars-reference">mp_ cvars reference</a>. A 30-minute <code>mp_timelimit</code> is what feeds the end-of-map vote; set it before you configure <a href="/tutorials/mapchooser-setup">MapChooser</a>.</p>

<h2>4. Fair play and anti-grief</h2>
<pre>// --- teams / fairness ---
mp_friendlyfire 0         // off for casual public; 1 needs tkpunish
mp_tkpunish 1
mp_autoteambalance 1
mp_limitteams 1           // block stacking beyond 1-player difference
mp_hostagepenalty 5       // kick after 5 hostage kills
mp_forcechasecam 0
mp_fadetoblack 0          // 0 keeps freecam for dead players</pre>
<p>Friendly fire off is the friendliest default for a mixed-skill public; if you turn it on for realism, keep <code>mp_tkpunish 1</code> so team-killers pay for it. <code>mp_limitteams 1</code> and <code>mp_autoteambalance 1</code> together stop the five-friends-stack-CT problem that empties a server.</p>

<h2>5. Downloads, logging and spam control</h2>
<pre>// --- downloads ---
sv_allowdownload 1
sv_allowupload 1
sv_downloadurl "http://dl.example.com/cs"   // see FastDL guide

// --- logging ---
log on
mp_logmessages 1
mp_logdetail 3

// --- spam / griefing ---
decalfrequency 30         // seconds between sprays
sv_cheats 0
pausable 0</pre>
<p>FastDL keeps map changes fast — wire it up with the <a href="/tutorials/fastdl-setup-guide">FastDL setup guide</a>. Logging on from day one is what lets you answer "who did that?" later; see <a href="/tutorials/parse-cs16-server-logs">parsing server logs</a>.</p>

<h2>6. Load your admin and map settings last</h2>
<pre>// at the end of server.cfg
exec mapcycle-note.cfg    // optional reminders / comments
// AMXX executes amxx.cfg on its own, after this file</pre>
<p>Gameplay cvars belong here in <code>server.cfg</code>; AMXX-specific settings belong in <a href="/tutorials/amxx-cfg-explained">amxx.cfg</a>, which runs later and will override duplicates. Keep admin power tight per the <a href="/tutorials/prevent-admin-abuse">admin-abuse guide</a>, and add a chat-based <a href="/plugins/csb-adverts">adverts plugin</a> for rules reminders rather than a noisy HUD.</p>

<h2>Troubleshooting</h2>
<ul>
<li><strong>Server invisible online</strong> — <code>sv_lan 1</code>. The single most common cause; it must be 0.</li>
<li><strong>Rounds feel sluggish</strong> — freezetime or roundtime too high, or you set <code>mp_roundtime</code> thinking it was seconds. It is minutes.</li>
<li><strong>Team stacking</strong> — <code>mp_autoteambalance</code> or <code>mp_limitteams</code> off. Turn both on.</li>
<li><strong>Team-kill grief</strong> — friendly fire on without <code>mp_tkpunish 1</code>, or off but players griefing another way. Adjust to taste.</li>
<li><strong>A value keeps reverting</strong> — <code>amxx.cfg</code>, a per-map config, or ReGameDLL's <code>game.cfg</code> re-sets it after server.cfg. Trace the order.</li>
</ul>

<h2>Verification</h2>
<p>Change the map to reload the config, then read back the values that most affect feel:</p>
<pre>sv_lan
mp_freezetime
mp_buytime
mp_friendlyfire</pre>
<p>Confirm each echoes what you set, then play a round or two — a stopwatch on freezetime and buy time settles any doubt about the minutes-versus-seconds cvars. Once it feels right, layer voting with <a href="/tutorials/mapchooser-setup">MapChooser</a> and lock down admin access before you invite the public in.</p>