机智的狐狸菌

Linux下搭建CS:GO服务器
0x00:前言这是一篇在Linux操作系统平台下安装与设置CS:GO专属服务器的教程。Windows平台的朋友请点...
扫描右侧二维码阅读全文
06
2017/03

Linux下搭建CS:GO服务器

0x00:前言

这是一篇在Linux操作系统平台下安装与设置CS:GO专属服务器的教程。

Windows平台的朋友请点击链接到相关的文章浏览<( ̄︶ ̄)>。

 

需要准备的工具:

  1. 一台安装了Linux系列系统的服务器。

  2. 独立公网IP或者具有映射端口的路由器权限。

  3. SteamCMD(安装教程

  4. Xshell(用于连接你的Linux服务器)

  5. WinSCP(用于上载文件)

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

1.通过SSH连接进Linux系统

2.安装screen软件(这个软件可以使shell在后台继续执行进程)

RedHat/CentOS

yum install screen

Ubuntu/Debian

apt-get install screen

 3.进入steamcmd的安装目录

 4.启动steamcmd

./steamcmd.sh

4.以匿名方式登录steamcmd

login anonymous

5.设置服务端安装目录(/home/CSGO_Server/)

force_install_dir /home/CSGO_Server/

6.开始下载服务端文件

app_update 740 validate

下载大概会持续30分钟或者更多(具体时间根据每个人的下载速度而定)

所以在接下来时间就没你什么事情了啦(~ ̄▽ ̄)~。

 

等到出现如图所示的 Success! App '740' fully installed.之后就可以退出steamcmd了。

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

7.下载完成后,输入quit直接退出steamcmd

quit

0x02:启动服务器

进入csgo服务端安装文件夹

cd /home/CSGO_Server/

 启动服务端(使用screen启动服务端,这可以使你断开SSH连接后服务端进程继续运行)

screen ./srcds_run

默认启动的是休闲模式,其他模式启动方式如下

经典休闲模式

./srcds_run-game csgo -usercon -tickrate 128 +game_type 0 +game_mode 0 +mapgroup mg_bomb +map de_dust2

经典竞技模式:

./srcds_run-game csgo -usercon -tickrate 128 +game_type 0 +game_mode 1 +mapgroup mg_bomb +map de_dust2

军备竞赛:

./srcds_run-game csgo -usercon -tickrate 128 +game_type 1 +game_mode 0 +mapgroup mg_armsrace +map ar_shoots

爆破模式:

./srcds_run-game csgo  -usercon -tickrate 128 +game_type 1 +game_mode 1 +mapgroup mg_demolition +map de_bank

 等到出现如图提示,则服务端启动成功。

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

完成了前面的步骤之后,你的CSGO服务端基本已经可以运行了。

但是,由于V社(Valve)加强了对CS:GO服务器的管理。

你的服务端想要在公网中能被客户端连接,则需要注册一个准入公网秘钥(Login Token)。

否则,你的服务器不能在客户端中的服务器列表中被刷新出来,或者通过控制台进行IP连接!!

注册与设置方式

  1. Steam 游戏服务器帐户管理中心

  2. 登陆您的Steam账号

  3. 注册一个Steam准入公网秘钥(Login Token)

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

注意:每个人的Login Token不一样,图片中的仅供参考。

5.将Login Token写入server.cfg配置文件中。

sv_setsteamaccount  "Login Token"

举个栗子

sv_setsteamaccount  "FDC780C5944C143AABE3494DBC9AD52B"    仅供参考,请勿直接使用

注:server.cfg位于服务端安装目录下的csgo文件夹的cfg文件夹中(即csgo/cfg中)

 

如果未找到Login Token,则会如图提示需要Login Token,并以离线模式(仅局域网(LAN)模式)启动。(就是别人没法公网访问你的服务器啦(ノω<。)ノ))☆.。)

成功加载了Login Token的情况,即可以被公网用户连接你的服务器,也可以在steam社区服务器中刷出你的服务器。

到这里,一台Linux平台下的CS:GO服务器就安装完成了,可以被公网用户正常连接访问。

 

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

SourceMOD简介:

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

MetaMod简介:

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

而我们所有的插件都依赖于这俩个插件进行工作,所以我们需要下载并安装这俩个插件。

MetaMod下载地址:http://www.sourcemm.net/snapshots

SourceMOD下载地址:http://www.sourcemod.net/downloads.php

选择最新的Linux版本下载即可。

 

解压获得俩个文件夹。

使用WinSCP将这俩个文件夹以及文件夹中的文件上传到/home/CSGO_Server/csgo文件夹中

 

上传完成后,通过指令启动服务端。等到服务端加载成功后输入

sm version

 返回以下信息,则你的SM和MM插件安装成功!

否则请检查SM和MM是否为Linux版本或者检查插件安放位置是否正确!

 

设置SM管理员:

在此目录下找到admins_simple.ini文件

X:\csgoserver\csgo\addons\sourcemod\configs

打开admins_simple.ini文件,在文本最后一行按照以下格式写入你的steamid

"你的steamID"  "99:z"

查询地址:https://steamid.io

举个栗子,拿我的SteamID来写就是这样

"STEAM_0:0:141118474"  "99:z"

↑将他写在admins_simple.ini文件中最后一行,你就拥有你服务器SM插件的最高权限啦。

0x05:服务器高级配置

在服务端安装文件夹中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                 //是否为局域网服务器

//**电脑难度设置
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

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

0x06:加载创意工坊地图

1.申请Steam API Key

根据官方的要求,首先我们需要申请一个API秘钥,通过秘钥你的服务端可以访问你与你steam账号相关的资源。

点击我进入申请页面

点击"注册"获取你的steamAPI

2.找到你的创意工坊地图,复制地图的ID号,如图:

http://steamcommunity.com/sharedfiles/filedetails/?id=874801875

874801875就是这张地图的地图ID

启动方式如下

screen ./srcds -game csgo +game_type 0 +game_mode 1 +workshop_start_map 地图ID -authkey STEAM API秘钥 

如果我有很多地图想要加载那怎么办呢?

很简单,创建属于你的创意工坊地图合集,获取合集的ID号加入到启动项即可,方法如下:

创建你的地图合集

http://steamcommunity.com/sharedfiles/filedetails/?id=868186034

868186034就是这个合集的ID号

启动方式如下

screen ./srcds -game csgo +game_type 0 +game_mode 1 +host_workshop_collection 地图合集ID +workshop_start_map 地图ID -authkey STEAM API秘钥

详细配置方式以后会放出来<( ̄ˇ ̄)/<( ̄ˇ ̄)/

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:December 31st, 2018 at 10:03 am
If you think my article is useful to you, please feel free to appreciate

5 comments

  1. Jun

    Steam>app_update 740 validate
    Update state (0x5) validating, progress: 0.48 (94577567 / 19625563169)
    Error! App '740' state is 0x202 after update job.

    博主,你好,我在进行到下载并验证csgo服务端那一步,出错。
    Ubuntu1804 和 CentOS7 皆是如此

  2. Karen

    感谢,学到怎么放创意工坊地图了,不过想问问关于插件的添加,想加入人物皮肤啥的玩玩desu~

  3. […] Linux平台的朋友请点击链接到相关的文章浏览<( ̄︶ ̄)>。 […]

Leave a Comment