home

/

writing

/

how-to-host-a-dedicated-classic-offensive-server

07 Jun 25

notion image

how to setup a dedicated server for CS:CO

I went down this rabbit hole earlier this morning and it took me a good while to figure out so I thought I would do a little write up on how to get it right.

step 1

You will need the required files in order to play and host a server.
Please follow all of the steps that the website requires of you.

step 2

Once you have the files downloaded, unzip them to a location you know well. I merely unzipped them into my common steamapps folder.

step 3

Create the following file start.bat script in the root of the classic offensive folder.
start.bat location
start.bat location
You will need to grab your stream game server token from the website, https://steamcommunity.com/dev/managegameservers if you do not have one you will need to register one.
When registering, make sure to choose the game id as 730.
I am not going to cover port forwarding as that is rather the same across all servers on steam as of now, if you need extra help follow this tutorial.

step 4

Next your are going to want to setup a server.cfg file that loads the configuration of your server.
 

congrats you are done

Hope fully this helps you!
notion image
As for me I kept getting stuck trying to download legacy cs:go server files from steamCMD but that is not required. There are also many a tutorial that cover the hosting of the sourcemod version and not this version, which can be confusing.
 

 

setting up metamod and sourcemod [rtv,etc]

You may want to install MetaMod & SourceMod in order to support plugins like rtv, levelsRank, etc. The following are the steps I followed to get rtv and custom maps from gamebanana working.

step 1

First you will need to download v1.12 of MetaMod:
https://www.metamodsource.net/downloads.php?branch=stable Extract the addons folder to the location of your /csco/csgo folder:
notion image
 
Now run start your server and run the command meta version you should see the following:
 

step 2

Next you will need to download SourceMod: https://www.sourcemod.net/downloads.php
Extract the addons and cfg folder to the same location as above.
Once you have done that, start your server and run sm version. You should see the following:
 

setting up rtv & other plugins

Let’s go over how to setup RTV and other plugins that come with SourceMod.
 

step 1

Browse into your SourceMod directory and go into your plugins:
In here you will see a list of enabled plugins by default, you will also see a folder called disabled. You want to open this folder, in here you will see more plugins that are turned off by default.
For example lets take rockthevote.smx & mapchooser.smx so that we can setup rtv nicely. Copy these files and move them into the enabled section with the other plugins.
notion image
Next start your server and run sm plugins list, you should see a list of plugins make sure "MapChooser" and "Rock The Vote" are visible.
 

step 2

Okay, now we have RTV running but we want to make sure all of our maps are accessible. We need to find the following file mapcycle.txt, in here we can list all the maps that we want to be able to play:
Inside that file you can copy the following to allow all of the maps that ship with cs:co to be played on your server.
 

step 3 - setting up !nominate

Okay, RTV is working but now we want players to be able to !nominate the next maps that they would like to play on. Lets set it up.
 
We will need to do the same process as in step 1 and go and fetch nominations.smx from the disabled folder and move it in with the others. Once you have moved the file restart the server and run sm plugins list again and you should see "Map Nominations”.
 
One last thing you may want to do is edit your mapchooser.cfg file and add the following lines, this just stops recently played maps from not being allowed to be nominated.
 
C:\Program Files (x86)\Steam\steamapps\common\Classic Offensive/
// start.bat srcds.exe ^ -console -game csco/csgo ^ -tickrate 128 ^ -console ^ -usercon ^ +map de_dust2 ^ +maxplayers 20 ^ -ip 0.0.0.0 -port 27015 ^ +sv_setsteamaccount <YOUR_SECRET_TOKEN> ^ -insecure ^ +net_public_adr <YOUR_PUBLIC_WAN_IP>
Classic Offensive\csgo\cfg
// server.cfg hostname "YOUR SERVER NAME HERE" // discord.gg/QAaWtsYr rcon_password "CHANGE_THIS" // 128-tick rates sv_minrate 786432 sv_maxrate 786432 sv_mincmdrate 128 sv_maxcmdrate 128 sv_minupdaterate 128 sv_maxupdaterate 128 // Competitive tweaks (optional – keep them legal) mp_roundtime 5 mp_freezetime 15 mp_startmoney 800 sv_cheats 0 sv_lan 0 sv_pure 0 sv_region 7
Classic Offensive\csco\csgo
meta version Metamod:Source Version Information Metamod:Source version 1.11.0-dev+1163 Plugin interface version: 16:14 SourceHook version: 5:5 Loaded As: Valve Server Plugin Compiled on: Feb 22 2025 13:10:11 Built from: https://github.com/alliedmodders/metamod-source/commit/7ff2d97 Build ID: 1163:7ff2d97 http://www.metamodsource.net/
sm version SourceMod Version Information: SourceMod Version: 1.12.0.7207 SourcePawn Engine: 1.12.0.7207, jit-x86 (build 1.12.0.7207) SourcePawn API: v1 = 5, v2 = 16 Compiled on: Jun 1 2025 11:09:18 Built from: https://github.com/alliedmodders/sourcemod/commit/5c407d49 Build ID: 7207:5c407d49 http://www.sourcemod.net/
Classic Offensive\csco\csgo\addons\sourcemod\plugins
Classic Offensive\csco\csgo\addons\sourcemod\plugins\disabled
sm plugins list [SM] Listing 21 plugins: // there will likely be other plugins here 14 "MapChooser" (1.12.0.7207) by AlliedModders LLC 20 "Rock The Vote" (1.12.0.7207) by AlliedModders LLC
Classic Offensive\csco\csgo
// maps that come with the game as_retreat_csco awp_india_csco cs_backalley_csco cs_militia_csco de_dust2_csco de_inferno_csco de_mirage_csco de_nuke_csco de_train_csco de_vertigo_csco fy_iceworld_csco fy_pool_day_csco_11 // custom maps from gamebanana //deathrun_hot_desert_original //deathrun_simpsons_ff //deathrun_classic //deathrun_holyshit_stable_4 //deathrun_deluxe_csgo_v2 //deathrun_lego_world_final //deathrun_iceworld_v2fix_csgo
Classic Offensive\csco\csgo\cfg\sourcemod
// --- Nominations visibility --------------------------------- sm_nominate_excludecurrent 0 // let players nominate the map they’re on now sm_nominate_excludeold 0 // allow maps in the recent-history list // ------------------------------------------------------------