0x00:前言

CSGO.jpg
《反恐精英:全球攻势》是一款由VALVE与Hidden Path Entertainment合作开发的第一人称射击游戏,于2012年8月21日在欧美地区正式发售,国服发布会于2017年4月11日在北京召开。游戏为《反恐精英》系列游戏的第四款作品(不包括Neo和Online等衍生作品)。
本文将讲解在Linux操作系统环境下如何安装与配置CS:GO专属服务器。
Windows操作系统下的安装教程请开门左转

需要准备的工具:

  • 公网服务器 & 有公网IP的家庭网络
  • 服务器系统:Linux
  • SteamCmd (安装教程
  • 1H1G以上配置的VPS
  • Xshell(用于连接你的Linux服务器)
  • WinSCP(用于上载文件)

0x01:通过SteamCMD下载CS:GO服务端

  • 通过SSH连接进Linux系统
  • 安装screen软件(这个软件可以使shell在后台继续执行进程)
# RedHat/CentOS
yum install screen

# Ubuntu/Debian
apt-get install screen
  • 进入steamcmd的安装目录
cd steamcmd
  • 启动安装好的SteamCmd
./steamcmd.sh

steamcmd

  • 以匿名方式登录steamcmd
login anonymous

login anonymous

  • 设置服务端安装目录(/home/CSGO_Server/)
force_install_dir /home/CSGO_Server/

force_install_dir

  • 开始下载服务端文件
app_update 740 validate

下载服务端文件
下载大概会持续30分钟或者更多(具体时间根据每个人服务器的带宽而定)( ̄┰ ̄*)
所以在接下来时间就没你什么事情了啦(~ ̄▽ ̄)~。
下载完成
等到出现如图所示的 Success! App '740' fully installed.之后就可以关闭steamcmd了。

如果出现如图 Error! App '740' state is 0x402 after update job. 则只需要再输入一次下载指令继续下载即可。
下载出错

  • 退出steamcmd
quit

0x02:启动服务器

  • 进入服务端文件夹
cd /home/CSGO_Server/
  • 创建启动脚本

在服务端文件夹中(本文中为/home/CSGO_Server/)新建一个文件重命名为【start.sh】。
选择一下其中一种游戏模式,将代码粘贴在start.sh并保存

  • 经典休闲模式
./srcds_run -game csgo -console -usercon -tickrate 128 +game_type 0 +game_mode 0 +mapgroup mg_bomb +map de_dust2
  • 经典竞技模式
./srcds_run -game csgo -console -usercon -tickrate 128 +game_type 0 +game_mode 1 +mapgroup mg_bomb +map de_dust2
  • 军备竞赛
./srcds_run -game csgo -console -usercon -tickrate 128 +game_type 1 +game_mode 0 +mapgroup mg_armsrace +map ar_shoots
  • 爆破模式
./srcds_run -game csgo -console -usercon -tickrate 128 +game_type 1 +game_mode 1 +mapgroup mg_demolition +map de_bank
  • 运行脚本(start.sh)

启动完成


0x03:获取CS:GO服务端公网秘钥(Login Token)

完成了前面的步骤之后,你的CSGO服务端基本已经可以正常运行。
不过,由于V社(Valve)加强了对CS:GO社区服务器的管理;
你的服务端想要在公网中能被玩家客户端所连接,
还需要向V社申请一个准入公网秘钥(Login Token)
否则,你的服务器将只能在局域网中联机
而不能在客户端中的社区服务器列表中刷新出来。

注册与设置方式

  • 打开Steam管理页面

进入Steam游戏服务器账户管理中心传送门
Steam游戏服务器账户管理

  • 登陆您的Steam账号
  • 申请Steam准入公网秘钥(Login Token)

填写服务器相关信息。
申请token

  • 获取Token

注册完成后会获得一个准入公网秘钥(Login Token)
Token

注意:

  • 每个人的Login Token不一样,图片中的仅供参考。
  • 切勿泄露Login Token,可能导致服务器服务器正常注册入网。
  • 若是发现Login Token泄露,可以直接点击【重新生成令牌】按钮,重新生成Token。
  • 将Token写入服务器配置中

获取了Token之后,我们需要将Token写到服务端配置文件当中。
配置文件一般在【/csgo/cfg】文件夹下

本文位置在:/home/CSGO_Server/csgo/cfg

在文件夹中找到【server.cfg】,将以下内容加到文件末尾。
(若文件不存在,自己新建一个即可)

sv_setsteamaccount  "Login Token"
  • 保存配置文件,启动服务端

在配置文件中加入了Token之后,运行start.sh即可启动服务器啦。
注册成功
到此,一台Windows平台下的CS:GO服务器就安装并配置完成了,服务器可以被公网用户正常连接同时也能在客户端社区列表中被刷新出来

若是服务端在cfg中未能找到Login Token则为出现以下提示!
(即服务端运行于局域网模式,玩家无法通过公网连接服务器)
局域网模式


0x04:自定义服务器

在服务端安装文件夹【/csgo/cfg】中的【server.cfg】存放了服务器的设置信息。
若文件不存在,直接创建即可。
本文将修改文件中参数,以达到自定义配置服务器的效果。

hostname "CSGO"                     //服务器名字
rcon_password "123"                 //服务器rcon远程密码
sv_password ""                      //加入服务器密码,不设服务器密码则留空即可
mp_freezetime 5                     //开局准备时间冻结时间
mp_join_grace_time 15
mp_match_end_restart 0 
sv_cheats 0                         //是否开启作弊
sv_lan 0                            //是否为局域网服务器
sv_setsteamaccount  "Login Token"   //服务器准入Token,详情见上一章节

//**电脑难度设置
bot_difficulty 3
bot_chatter "off"
bot_join_after_player 1
bot_quota 10
bot_quota_mode "fill"

//**白名单黑名单设置
writeid
writeip
exec banned_user.cfg
exec banned_ip.cfg

保存后,启动服务端,服务器就会自动加载你的配置文件。


0x05:安装SM(SourceMod)和MM(MetaMod)插件

SourceMod

  • SourceMOD简介

SourceMOD是服务器运行半条命2(Half-Life 2)起源引擎(Source)的游戏修改的Metamod:Source插件。它是一个强大的,高度优化的脚本插件和处理服务器管理平台。默认包配备了一组基本的插件,但有超过450个实用的插件。

  • MetaMod简介

metamod是一个半条命引擎和Half-Life游戏的插件,他允许动态加载或者卸载DLL插件和mod,将喜欢添加功能到Half-Life服务器上。

  • 下载

而我们所有的插件都将依赖于这俩个插件进行工作,所以我们需要下载并安装这俩个插件。
MetaMod下载地址:https://www.sourcemm.net/downloads.php
SourceMOD下载地址:http://www.sourcemod.net/downloads.php
选择最新的Windows版本下载即可。
下载完成后你会获得俩个压缩包,如图:
SM和MM

  • 解压

将它们同时解压到一个文件夹中,如图:
解压

  • 安装

使用WinSCP将这俩个文件夹以及文件夹中的文件上传到【/home/CSGO_Server/csgo/】中,如图:
上传

  • 运行服务端,检查安装情况

运行服务端,等到服务器加载完成后在控制台上输入以下代码,当服务器成功返回如图信息时,则SM和MM安装成功。

sm version

安装成功
若未返回信息,则检查插件安放位置是否正确!
哈欠

  • 设置SM管理员

SourceMod的设置文件存放在【..addonssourcemodconfigs】文件夹中。
本文位置为:【homeCSGO_Servercsgoaddonssourcemodconfigs】
其中,保存管理员信息的文件为【admins_simple.ini】
①. 获取Steam ID
打开steamid,在输入框中输入你Steam账号的主页链接,单击【lookup】即可获取你Steam账号的相关ID信息。
steamid

以我账号为栗子
栗子
图中的steamID项即为你的steamid。

②. 添加管理员
将以下信息添加到【admins_simple.ini】文件末尾。

"steamid"  "99:z"

以我的ID为例

"STEAM_0:0:141118474"  "99:z"             \\欢迎各位服主给我OP (笑)

③. 重载插件
输入以下指令,重载插件。

sm reload

或者可以直接重启服务端

到此,SM管理员添加完成。


0x06:添加创意工坊地图

  • 申请API Key

根据Steam官方的要求,我们首先需要申请一个API秘钥,通过秘钥你的服务端可以访问你与你steam账号相关的资源和下载地图(申请页面)。
申请页面

  • 获取秘钥

如图所示,秘钥项即为API KEY
获取秘钥

  • 获取地图ID

如图所示,黄色部分为地图ID
地图ID

  • 启动服务端,并加载创意工坊

修改之前创建的【start.sh】在指令之后加入以下内容

+workshop_start_map 【地图ID】 -authkey【API秘钥】

举个栗子

./srcds_run -game csgo +game_type 0 +game_mode 1 +workshop_start_map 122439431 -authkey 756AAAAAABBBBBBCCCC 
  • 加载创意工坊合集

但是创意工坊地图千千万,如果我有很多地图想要加载那怎么办?
很简单,创建属于你的创意工坊地图合集,在启动项中加入指令加载合集即可。

  • 创建你的地图合集
  • 获取合集ID

合集ID
如图所示,方框位置的数字即为合集ID。

  • 启动服务端,并加载创意工坊合集

修改之前创建的【start.sh】在指令之后加入以下内容

+host_workshop_collection 【地图合集ID】 +workshop_start_map 【地图ID】-authkey 【API秘钥】

举个栗子

./srcds_run -game csgo +game_type 0 +game_mode 1 +host_workshop_collection 868186034 +workshop_start_map 122439431 -authkey 756AAAAAABBBBBBCCCC

0x07:参考文档

Counter-Strike: Global Offensive Dedicated Servers:https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Dedicated_Servers
CSGO Workshop For Server Operators:https://developer.valvesoftware.com/wiki/CSGO_Workshop_For_Server_Operators
MetaMod:http://www.sourcemm.net/
SourceMOD:http://www.sourcemod.net/

Last modification:March 10th, 2020 at 08:26 pm
If you think my article is useful to you, please feel free to appreciate