搭建/管理CSGO社区服务器

简单讲下自建CSGO社区服的问题。

安装CSGO社区服(CSGO Dedicated Server)

参考Valve链接,按教程安装好SteamCMD之后

1
2
# steamCMD 在linux上的默认安装路径
/usr/games/steamcmd

建议为社区服创建一个专门的Linux用户,以隔离服务器和其他用户和Root用户,以root用户 身份安装社区服是不推荐的。

1
2
sudo useradd -m steam
sudo password steam

steamCMD是一个类似bash的REPL环境,设置CSGO服务器的安装路径

1
2
3
4
5
6
force_install_dir /home/steam/csgo
login anonymous
# First time installing
app_update 740 validate
# Or, update an exisating server
app_update 740

740是CSGO服务器在Steam系统内的App ID。 CSGO服务器的更新需要手动完成,未更新的服务器游戏端无法连接。

服务器文件的体积较大,在30G左右,耐心等待文件下载和安装完成后,cd /home/steam/csgo,创建一个启动脚本start_server.sh

1
2
3
4
5
# start_server.sh
screen -dm -S "Counter-Strike: Global Offensive Server" \
./srcds_run -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_active +map de_inferno \
+sv_setsteamaccount YOURGSLT -net_port_try 1 \
-tickrate 128

替换YOURGSLT为你的”Game Server Login Token”。如果你没有的话,在这里获取。这是Steam要求每个对公网IP开发的社区服都要绑定的一个代码,跟一个steam有效账号绑定,如果该社区服违反了Steam关于社区服务器的规定,这个账号下所有的GLST都会被ban掉。Steam所限制的行为包括改游戏内的皮肤。

game_type 0代表Classic,game_mode 1代表竞技模式,合起来就是以经典竞技模式启动服务器,也就是我们熟知的5v5排位。

收藏社区服地址

打开steam,在顶部菜单选择查看>服务器 选择收藏夹,右键,通过IP地址添加服务器 输入服务器地址csgo.yangruoqi.site 添加之后,就可以在steam快速连接该社区服了。双击服务器之后CSGO会自动启动,如果服务器设置了密码会需要输入密码

目前社区服架设在一台Google Cloud VPS上,区域是中国香港,所以从国内裸连延迟会比较高,实测在200ms左右。建议搭配加速器 使用。如果有UU加速器,可以用CS:GO(国际服)的亚洲-中国香港节点,实测延迟在40-50ms。

因延迟过高,换了一台阿里云2u8g的服务器,根据你需要用的地区选服务器的地区,延迟应该可以保持在30ms左右。2u8g的服务器 支持10个人同时连接完全没有问题。