0.前言
本文用到的系统:Ubuntu 16.04 32位
撰写本文时CS:GO服务端的大小约为16G,请确保服务端有足够空间。
1.安装SteamCMD
Steam命令行版客户端(SteamCMD)是一个命令行版本的Steam客户端。它的主要用途是在一个命令行界面的Steam客户端上安装和更新各种可用的专用服务端。它适用于使用SteamPipe内容分发系统的游戏。所有游戏已经从旧的半条命专用服务器更新工具迁移到了SteamCMD。
为steamcmd创建一个用户并切换过去(root用户下):
useradd -m steam su - steam
创建目录:
mkdir Steam cd Steam
下载并解压:
curl -sqL 'https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz' | tar zxvf -
运行:
./steamcmd.sh
等待下载完成,直到出现Steam>,SteamCMD环境安装完成。
2.安装CS:GO
以下指令均在SteamCMD(Steam>)环境下执行
选择安装目录:
(下面的指令将csgo服务器安装在了当前目录下的csgoserver目录,也就是Steam/csgoserver)
force_install_dir ./csgoserver/
匿名登陆:
login anonymous
安装:
app_update 740 validate
(如果需要升级请使用app_update 740,升级前务必选择安装目录)
安装完成后,按Ctrl+C退出SteamCMD,然后执行下面的指令即可以休闲模式启动沙漠2服务器:
./csgoserver/srcds_run -game csgo -console -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2
但因为还未关联token,服务器只能通过内网连接。要想通过公网连接并在社区服务器列表中显示出来,你需要申请一个token并填入启动参数。
token申请地址:http://steamcommunity.com/dev/managegameservers
在上面的指令中追加下面的参数即可在公网中启动:
+sv_setsteamaccount 你申请到的token(登陆令牌) -net_port_try 1
另外附上其它几种模式的启动指令:
#休闲模式 ./csgoserver/srcds_run -game csgo -console -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2 #竞技模式 ./csgoserver/srcds_run -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2 #军备竞赛模式 ./csgoserver/srcds_run -game csgo -console -usercon +game_type 1 +game_mode 0 +mapgroup mg_armsrace +map ar_shoots #爆破模式 ./csgoserver/srcds_run -game csgo -console -usercon +game_type 1 +game_mode 1 +mapgroup mg_demolition +map de_lake #死亡竞赛模式 ./csgoserver/srcds_run -game csgo -console -usercon +game_type 1 +game_mode 2 +mapgroup mg_allclassic +map de_dust
所有游戏类型和模式都可以在./csgoserver/csgo/gamemodes.txt中找到
3.连接至服务器
开始游戏 – 浏览社区服务器 – 收藏夹 – 添加服务器 – 输入你服务器的公网IP地址
如果是在家开服请自行搜索端口映射相关教程。
4.长久运行
如果需要长久运行服务器,请使用screen。没有安装的可以使用下面的指令安装(root用户下):
apt install screen
在启动CSGO之前运行screen -S csgoserver,然后启动CSGO。接着你就可以关闭终端,服务端会继续在远程服务器上运行。
当你需要操作服务端时,运行screen -r csgoserver,便会回到服务端进程中去。
5.可能遇到的错误
- Failed to open dedicated.so (libstdc++.so.6: cannot open shared object file: No such file or directory)
需要安装lib32stdc++6包,使用下面的命令来安装:
apt install lib32stdc++6