0x00:前言
《反恐精英:全球攻势》是一款由VALVE与Hidden Path Entertainment合作开发的第一人称射击游戏,于2012年8月21日在欧美地区正式发售,国服发布会于2017年4月11日在北京召开。游戏为《反恐精英》系列游戏的第四款作品(不包括Neo和Online等衍生作品)。
本文将讲解在Windows操作系统环境下如何安装与配置CS:GO专属服务器。
Linux操作系统下的安装教程请开门左转。
需要准备的工具:
- 公网服务器 & 有公网IP的家庭网络
- 服务器系统:Windows
- SteamCmd (安装教程)
- 1H1G以上配置的VPS
0x01:通过SteamCMD下载CS:GO服务端
本教程将CS:GO服务器安装于D盘下的CSGOServer文件夹下
- 启动安装好的SteamCmd
- 以匿名方式登录steamcmd
login anonymous
- 设置服务端安装目录(D:CSGOServer)
force_install_dir D:\CSGOServer\
- 开始下载服务端文件
app_update 740 validate
下载大概会持续30分钟或者更多(具体时间根据每个人服务器的带宽而定)( ̄┰ ̄*)
所以在接下来时间就没你什么事情了啦(~ ̄▽ ̄)~。
等到出现如图所示的 Success! App '740' fully installed.之后就可以关闭steamcmd了。
如果出现如图 Error! App '740' state is 0x402 after update job. 则只需要再输入一次下载指令继续下载即可。
- 退出steamcmd
quit
0x02:启动服务器
- 创建启动脚本
在服务端文件夹中(本文中为D:CSGOServer)新建一个txt文件重命名为start.bat
选择一下其中一种游戏模式,将代码粘贴在start.bat并保存
- 经典休闲模式
srcds.exe -game csgo -console -usercon -tickrate 128 +game_type 0 +game_mode 0 +mapgroup mg_bomb +map de_dust2
- 经典竞技模式
srcds.exe -game csgo -console -usercon -tickrate 128 +game_type 0 +game_mode 1 +mapgroup mg_bomb +map de_dust2
- 军备竞赛
srcds.exe -game csgo -console -usercon -tickrate 128 +game_type 1 +game_mode 0 +mapgroup mg_armsrace +map ar_shoots
- 爆破模式
srcds.exe -game csgo -console -usercon -tickrate 128 +game_type 1 +game_mode 1 +mapgroup mg_demolition +map de_bank
以启动经典竞技模式为例,如图所示
- 运行脚本(start.bat)
0x03:获取CS:GO服务端公网秘钥(Login Token)
完成了前面的步骤之后,你的CSGO服务端基本已经可以正常运行。
不过,由于V社(Valve)加强了对CS:GO社区服务器的管理;
你的服务端想要在公网中能被玩家客户端所连接,
还需要向V社申请一个准入公网秘钥(Login Token)。
否则,你的服务器将只能在局域网中联机;
而不能在客户端中的社区服务器列表中刷新出来。
注册与设置方式
- 打开Steam管理页面
进入Steam游戏服务器账户管理中心→传送门。
- 登陆您的Steam账号
- 申请Steam准入公网秘钥(Login Token)
填写服务器相关信息。
- 获取Token
注册完成后会获得一个准入公网秘钥(Login Token)
注意:
- 每个人的Login Token不一样,图片中的仅供参考。
- 切勿泄露Login Token,可能导致服务器服务器正常注册入网。
- 若是发现Login Token泄露,可以直接点击【重新生成令牌】按钮,重新生成Token。
- 将Token写入服务器配置中
获取了Token之后,我们需要将Token写到服务端配置文件当中。
配置文件一般在【csgocfg】文件夹下
本文位置在:D:CSGOServercsgocfg\
在文件夹中找到【server.cfg】,将以下内容加到文件末尾。
(若文件不存在,自己新建一个即可)
sv_setsteamaccount "Login Token"
- 保存配置文件,启动服务端
在配置文件中加入了Token之后,运行start.bat即可启动服务器啦。
到此,一台Windows平台下的CS:GO服务器就安装并配置完成了,服务器可以被公网用户正常连接同时也能在客户端社区列表中被刷新出来。
若是服务端在cfg中未能找到Login Token则为出现以下提示!
(即服务端运行于局域网模式,玩家无法通过公网连接服务器)
0x04:自定义服务器
在服务端安装文件夹【csgocfg】中的【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是服务器运行半条命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版本下载即可。
下载完成后你会获得俩个压缩包,如图:
- 解压
将它们同时解压到一个文件夹中,如图:
- 安装
将解压出来的文件,复制到【csgo】中,如图:
- 运行服务端,检查安装情况
运行服务端,等到服务器加载完成后在控制台上输入以下代码,当服务器成功返回如图信息时,则SM和MM安装成功。
sm version
若未返回信息,则检查插件安放位置是否正确!
- 设置SM管理员
SourceMod的设置文件存放在【..addonssourcemodconfigs】文件夹中。
本文位置为:【D:csgoservercsgoaddonssourcemodconfigs】
其中,保存管理员信息的文件为【admins_simple.ini】
①. 获取Steam ID
打开steamid,在输入框中输入你Steam账号的主页链接,单击【lookup】即可获取你Steam账号的相关ID信息。
以我账号为栗子
图中的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
- 启动服务端,并加载创意工坊
修改之前创建的【start.bat】在指令之后加入以下内容
+workshop_start_map 【地图ID】 -authkey【API秘钥】
举个栗子
srcds.exe -game csgo +game_type 0 +game_mode 1 +workshop_start_map 122439431 -authkey 756AAAAAABBBBBBCCCC
- 加载创意工坊合集
但是创意工坊地图千千万,如果我有很多地图想要加载那怎么办?
很简单,创建属于你的创意工坊地图合集,在启动项中加入指令加载合集即可。
- 创建你的地图合集
- 获取合集ID
如图所示,方框位置的数字即为合集ID。
- 启动服务端,并加载创意工坊合集
修改之前创建的【start.bat】在指令之后加入以下内容
+host_workshop_collection 【地图合集ID】 +workshop_start_map 【地图ID】-authkey 【API秘钥】
举个栗子
srcds.exe -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/
太强了!!!
您好,我的服务器为什么在LAN中显示不出?
Initializing Steam libraries for secure Internet server
Logging into Steam gameserver account with logon token 'CFD046D2xxxxxxxxxxxxxxxxxxxxxxxx'
Initialized low level socket/threading support.
srcsteamnetworkingsocketsclientlibcsteamnetworkingsockets_steam.cpp(138): Assertion Failed: Initted interface twice?
Set SteamNetworkingSockets P2P_STUN_ServerList to '' as per SteamNetworkingSocketsSerialized
SteamDatagramServer_Init succeeded
Connection to Steam servers successful.
Public IP is 171.110.57.183.
Assigned persistent gameserver Steam ID [G:1:3926349].
Gameserver logged on to Steam, assigned identity steamid:85568392923965773
几个月之前我按这个教程装了以后还是可以的,后来为了省空间不玩了,现在重新装了以后就不行了,应该是Assertion Failed: Initted interface twice?的错误原因,我检查了防火墙关了和27015端口开了,为什么连局域网都搜不到服务器呢?是系统版本的问题吗
谢谢大佬