Unraid Server Hosting: Counter-Strike: Global Offensive
At almost a decade old, Counter-Strike: Global Offensive remains one of the most popular games on Steam. This guide walks you through how to set up a dedicated hosting server on Unraid!
Server Requirements
Here are the minimum requirements for 24 players:
- An HDD, SSD, or NVMe cache or dedicated drive with at least 35 GBs of free space
- 4+ CPU Cores (2.0GHz+)
- 6GB of RAM
Guide
This guide assumes you have already installed the Community Apps plugin for Unraid and know how to port forward on your router.
1. Download and Install ich777’s CSGO container.
2. Head over to https://steamcommunity.com/dev/managegameservers, login to your Steam account, and create a token for your server like this:
3. For App ID, enter "730" for CSGO. For Memo, simply enter something that you can identify which Token is for which server; in this case, "CSGO".
4. Copy the token that you've created and append it like "+sv_setsteamaccount YOURTOKEN" to the GAME_PARAMS in the template.
5. Click "Apply" and let the container install. Wait several minutes before configuring the server, keep an eye on the logs, the download can take very long depending on your download speed.
Here is a visual aide from my setup:
Now that you have waited several minutes for the game to download, you should be able to see it on your local network by going to the Steam Server Browser (View -> Servers -> LAN):
Do you Like Tutorials and Well-Maintained Containers?
Consider supporting ich777!
Port Forwarding
Now that you have completed everything above, you will now need to forward the ports so friends can join.
- 27015 UDP - GamePort
- 27015 TCP - RCON (optional)
Routers have unique ways to port forward so if you are unfamiliar, it would be best to do a web search for "your router+port forwarding".
Modifying your Server
Always stop the container before editing!
The game files are located in: /mnt/user/appdata/cstrikego
The maps are located in: /mnt/user/appdata/cstrikego/csgo/maps
The maplist file is located in: /mnt/user/appdata/cstrikego/csgo
The resources are located in: /mnt/user/appdata/cstrikego/csgo/resources
The configuration files are located in: /mnt/user/appdata/cstrikego/csgo/cfg
server.cfg
server.cfg - This is a preconfigured server.cfg that is meant to go into /mnt/user/appdata/cstrikego/csgo/cfg/ (restart the server after putting it in the appropriate directory)
Adding custom maps
In this example we are going to add cs_waterfront from here to our server:
- Download and extract the *.bsp (actual map), *.nav (file for Bots) and *.jpg files from the archive.
- If the *.nav or *.jpg files are missing in the archive, don't worry the real important file is the *.bsp file
- It also may be possible that a resources folder is included in the archive, if so simply extract the resources to the resources folder from your game - Go to your maps folder and place the extracted files there
- Now go to your maplist.txt file and enter the name from the downloaded map without the file extension. In this case, we add cs_waterfront, save and close the file.
- Start the container.
MetaMod & Sourcemod
- Download SourceMod from here (click on Linux)
- Extract the contents from the downloaded archive directly into /mnt/user/appdata/cstrikego/csgo
- Download MetaMod from here (click on Linux)
- Extract the contents from the downloaded archive directly into /mnt/user/appdata/cstrikego/csgo
- Got to this site here, select "Counter-Strike: Global Offensive" from the drop-down and click on "Generate metamod.vdf"
- Navigate to the folder /mnt/user/appdata/cstrikego/csgo/addons and replace the metamod.vdf file with the one that you've downloaded
To ensure that SourceMod and MetaMod is working you can RCON into it and issue the command "meta version" and "sm version"- this should give various information about SourceMod and MetaMod.
Happy Modding!
FAQs
How do I host a private server?
- Remove "+sv_setsteamaccount YOURTOKEN" that you've appended to the GAME_PARAMS in Step 3 (don't forget to delete the token that you've created in Step 2 too).
- Set "sv_lan 0" to "sv_lan 1" in the server.cfg file
How do I change the server name?
If you want to rename your server name see the preconfigured server.cfg or create a server.cfg file with the entry:
hostname "YOURSERVERNAME"
Replace YOURSERVERNAME with your preferred server name (keep in mind this value should be in double-quotes).
How do I change or remove the server password?
By default the server has no password, if you want to create a password see the preconfigured server.cfg or create a server.cfg file with the entry:
sv_password "YOURPASSWORD"
Replace YOURPASSWORD with your preferred password (keep in mind this value should be in double-quotes).
How do I change or remove the RCON password?
By default the server has no RCON password this means that RCON is disabled by default.
If you want to create an RCON password see the preconfigured server.cfg or create a server.cfg file with the entry:
rcon_password "YOURRCONPASSWORD"
Replace YOURRCONPASSWORD with your preferred RCON password (keep in mind this value should be in double-quotes).
How can I access RCON?
You have two ways of accessing RCON:
- Through the game enabling the developer console
- Through the plugin RCON from ich777 in the CA App
ATTENTION: The RCON protocol transmits everything un-encrypted (including your password!). Therefore I would recommend not enabling RCON over the internet. Rather, I would recommend using a VPN or SSH if you want to connect to a foreign server over the internet. If you only want to connect to RCON in your LAN it should be safe to use.
My server isn’t appearing in the list of servers!
- Make sure all the ports are forwarded correctly with the appropriate protocol.
- Don't translate Steam ports from for example 27015 to 27016 in the template, this won't work in most cases and for most game servers, to change the port do the following:
- Open up the Docker template and delete the port forwarding for UDP - GamePort
- Click on "Show more settings ..."
- Change the value at GAME_PORT to the new port that you want to use (in this example we are using 27016)
- Delete the default UDP Port with the value 27015
- Create a new port mapping with the Host and Container port 27016 and also make sure to select UDP and click on "Add" like:
Click on "Apply" to apply the new settings
Here is an overview of what you have to do in the template:
Where can I learn more about server settings?
https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Dedicated_Servers
How can I support the work of ich777?
Need Additional Help?
Head to the Unraid forums for assistance!