搭建CS:GO Linux服务器是一个相对直接的过程,但需要一定的Linux基础知识和耐心,本文将详细介绍从准备工作到服务器配置、插件安装以及维护的全过程,帮助你轻松搭建属于自己的CS:GO游戏服务器。

环境准备与系统选择
你需要一台满足最低配置要求的Linux服务器,推荐使用Ubuntu Server 20.04 LTS或CentOS 7/8等稳定版本的服务器操作系统,服务器的硬件配置应根据预期的玩家数量进行调整,至少需要2核CPU、4GB内存和50GB可用存储空间,网络带宽方面,建议至少10Mbps上行速度,以确保流畅的游戏体验,确保服务器已正确安装并更新了系统基础软件包,如wget、curl和screen等,这些工具在后续步骤中会频繁使用。
安装SteamCMD
SteamCMD是Valve官方提供的命令行工具,用于安装和更新Steam游戏服务器,它是搭建CS:GO服务器的核心工具,创建一个专门用于运行服务器的用户,以提高安全性,下载并安装SteamCMD,在Ubuntu系统中,可以使用以下命令:
sudo apt update sudo apt install -y lib32stdc++6 lib32gcc1 mkdir ~/steamcmd cd ~/steamcmd wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz tar -xvzf steamcmd_linux.tar.gz
安装完成后,运行./steamcmd.sh启动SteamCMD,在SteamCMD命令行界面中,登录匿名用户(login anonymous),然后强制安装CS:GO服务器的专用服务器版本(force_install_dir ~/csgoserver),最后执行app_update 740 validate命令开始下载和验证CS:GO服务器文件,这个过程可能需要一些时间,具体取决于你的网络速度。
配置服务器基础文件
下载完成后,退出SteamCMD,进入CS:GO服务器目录~/csgoserver/csgo,这里有几个关键的配置文件需要修改,首先是server.cfg,这是服务器的主要配置文件,决定了服务器的名称、地图、密码、tick率等核心参数,一个典型的server.cfg如下:
hostname "我的CS:GO服务器" rcon_password "your_secure_rcon_password" sv_password "" // 可选,设置游戏密码 sv_region 3 // 亚洲地区 sv_lan 0 // 0表示互联网服务器 mp_autoteambalance 1 mp_autocrosshair 1 mp_buytime 20.0 mp_c4timer 35.0 mp_freezetime 6.0 mp_roundtime 2.0 mp_roundtime_defuse 2.0 mp_roundtime_hostage 2.0 mp_startmoney 800 mp_maxrounds 30 mp_fraglimit 0 sv_cheats 0 exec gamemode Competitive // 执行竞技模式配置
除了server.cfg,你可能还需要修改gamemode_casual_server.cfg和gamemode_competitive_server.cfg等文件,以自定义休闲或竞技模式的特定规则。
启动与管理服务器
配置好文件后,就可以启动服务器了,为了确保服务器在后台持续运行,建议使用screen或tmux等工具,首先安装screen(sudo apt install screen),然后创建一个新的screen会话(screen -S csgo),进入会话后,执行以下命令启动服务器:

./srcds_run -game csgo -console -port 27015 +ip 0.0.0.0 +sv_setsteamaccount "你的Steam Web API Key" +hostport 27015 +map de_dust2 +maxplayers 10
请确保你已经从Steam开发者网站获取了Web API Key,并将其替换到命令中。+ip 0.0.0.0表示服务器监听所有网络接口,+map de_dust2设置初始地图,+maxplayers 10设置最大玩家数,启动后,你可以按Ctrl+A,然后按D键 detach 出screen会话,服务器将在后台继续运行。
安装与管理插件
插件可以极大地增强服务器的功能和可玩性,最流行的插件管理工具是SourceMod和Metamod,SteamCMD在安装CS:GO服务器时,通常会自动包含Metamod,你需要手动安装SourceMod,下载SourceMod的稳定版本,解压到服务器的csgo目录下,重启服务器后,SourceMod会自动检测并加载Metamod。
安装SourceMod后,你可以通过其插件管理功能安装各种插件,如管理插件(Admin-Mod)、地图管理插件(MapChooser)等,插件通常位于addons/sourcemod/plugins目录下,将插件文件(.smx)放入此目录,然后在addons/sourcemod/plugins目录中创建或编辑plugins.ini文件,添加插件名以启用它。
端口转发与防火墙设置
为了让外网玩家能够连接到你的服务器,你必须在路由器上设置端口转发,并将服务器的防火墙规则开放相应端口,CS:GO服务器主要需要以下端口:
- UDP 27015:游戏客户端连接端口。
- UDP 27015:Steam查询端口(如果与游戏端口不同,则需额外配置)。
- TCP 27020:Steam认证端口。
在Ubuntu服务器上,可以使用ufw(Uncomplicated Firewall)来开放这些端口:
sudo ufw allow 27015/udp sudo ufw allow 27020/tcp sudo ufw reload
登录你的路由器管理界面,找到端口转发(Port Forwarding)设置,将外部UDP 27015端口映射到服务器局域网IP的UDP 27015端口。

服务器维护与更新
服务器的维护是确保长期稳定运行的关键,定期备份csgo/cfg和addons目录,以防配置文件或插件丢失,使用screen或tmux可以方便地管理服务器进程,要更新游戏服务器,只需再次运行SteamCMD,执行app_update 740 validate命令即可,SourceMod和Metamod的更新也有各自的脚本,请参考其官方文档进行操作。
相关问答FAQs
问题1:如何更改服务器地图?
解答: 你可以通过RCON命令或在服务器控制台输入命令来更改地图,使用changelevel de_nuke命令可以直接切换到指定地图,如果你想在当前回合结束后自动更换地图,可以使用map de_inferno命令,安装MapChooser插件可以实现根据投票或预设列表自动更换地图的功能。
问题2:为什么我的服务器在服务器列表中不显示?
解答: 服务器不在列表中显示通常有几个原因,确保你已正确设置了sv_region参数,并且该值对应你的地理位置,验证你的sv_lan参数是否设置为0,LAN模式的服务器不会在公共列表中显示,最重要的是,你必须提供一个有效的Steam Web API Key给+sv_setsteamaccount参数,这个密钥用于向Steam主服务器注册你的游戏服务器,你可以从Steamworks网站免费获取该API Key。