搭建CS:GO对战服务器

0.前言

最近真的服务器玩到手软,这会儿手痒又搭了个CS:GO的服务器,十分适合大家拿来娱乐和约战啊~

本篇文章就来介绍下搭建的方法咯~

1.开通服务器。。。(没错我就是复读机)

提供VPS服务的商家有很多,由于游戏服务器并不提供WEB服务,所以我们可以选择国内的服务器

阿里云学生机(24岁以下用户廉价服务器):点击跳转

地皮推荐的雨云:点击跳转

进入后台获取管理员密码或SSH连接所需的密码并记录。

2.有关说明

这里注意了,由于搭建Steam平台的游戏服务器过于方便,方式五花八门,所以才会对大家产生干扰~所以我这里以最方便的“LinuxGSM”(LGSM)程序为例,网站:https://linuxgsm.com/

LinuxGSM这个程序功能非常强大,你可以使用这个平台迅速构建支持的103款游戏(到2020/03/13),其中包括我上一篇文章提到的SAMP

什么叫“授人以鱼不如授人以渔”啊?学会了这套方案 游戏列表 下103款游戏服务器你全都会搭了!

当然,我还是以CentOS系统搭建CS:GO服务器为例咯~

3.安装依赖

1.通过SSH以root用户登录到服务器

2.CentOS先要安装一个软件分支

yum install epel-release

3.安装依赖软件包

[2020/4/23]更新!重要!最新版的LGSM需要一个新的软件包:nmap-ncat,执行:yum install nmap-ncat

[2020/6/26]更新!重要!现在可以选择不提前安装依赖软件包,在脚本执行时会提示输入root密码自动安装!

64Bit系统:

yum install mailx postfix curl wget tar bzip2 gzip unzip python3 binutils bc jq tmux glibc.i686 libstdc++ libstdc++.i686

32Bit系统(谁会用32位系统做服务器啊喂!):

yum install mailx postfix curl wget tar bzip2 gzip unzip python3 binutils bc jq tmux libstdc++

4.新建用户

为了确保服务器安全,我们需要创建一个新用户来跑LGSM。

1.添加用户,用户名大家自定义。

useradd dpcsgo

2.添加密码

passwd dpcsgo

终端会提示让你添加密码,连续输入两遍即可

更改用户 dpcsgotest 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

5.开始安装

1.切换到刚刚创建的用户

su - dpcsgo

若提示输入密码,输入上一步设定的密码即可。

2.拉取安装脚本

wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh csgoserver

不出意外,你能看到如下画面:

[dpcsgo@localhost ~]$ wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh csgoserver
--2020-03-13 12:52:57--  https://linuxgsm.sh/
正在解析主机 linuxgsm.sh (linuxgsm.sh)... 2606:4700:3033::681c:470, 2606:4700:3033::681c:570, 104.28.5.112, ...
正在连接 linuxgsm.sh (linuxgsm.sh)|2606:4700:3033::681c:470|:443... 失败:网络不可达。
正在连接 linuxgsm.sh (linuxgsm.sh)|2606:4700:3033::681c:570|:443... 失败:网络不可达。
正在连接 linuxgsm.sh (linuxgsm.sh)|104.28.5.112|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 301 Moved Permanently
位置:https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/master/linuxgsm.sh [跟随至新的 URL]
--2020-03-13 12:52:59--  https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/master/linuxgsm.sh
正在解析主机 raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.0.133, 151.101.64.133, 151.101.128.133, ...
正在连接 raw.githubusercontent.com (raw.githubusercontent.com)|151.101.0.133|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:11953 (12K) [text/plain]
正在保存至: “linuxgsm.sh”

linuxgsm.sh                                                         100%[=================================================================================================================================================================>]  11.67K  --.-KB/s  用时 0.005s  

2020-03-13 12:53:01 (2.12 MB/s) - 已保存 “linuxgsm.sh” [11953/11953])

    fetching serverlist.csv...OK
Installed Counter-Strike: Global Offensive server as csgoserver

./csgoserver install

3.运行安装脚本

./csgoserver install

4.如果没出意外,你看到的画面应该是这样的:

[dpcsgo@localhost ~]$ ./csgoserver install
    fetching core_functions.sh...OK
    fetching core_legacy.sh...OK
    fetching core_messages.sh...OK
    fetching core_dl.sh...OK
    fetching core_trap.sh...OK
    fetching _default.cfg...OK
    copying _default.cfg...OK
    fetching common.cfg...OK
    fetching csgoserver.cfg...OK
    fetching linuxgsm.sh...OK
    fetching core_getopt.sh...OK
    fetching command_install.sh...OK
    fetching check.sh...OK
    fetching check_tmuxception.sh...OK
    fetching check_permissions.sh...OK
    fetching check_glibc.sh...OK
    fetching info_distro.sh...OK
    fetching check_system_requirements.sh...OK
    fetching install_header.sh...OK

                                mdMMMMbm
                              mMMMMMMMMMMm
                              mMMMMMMMMMMMMm
                             mMMMMMMMMMMMMMMm
                             hMMMV^VMMV^VMMMh
                             MMMMM  MM  MMMMM
                             hMMs   vv   sMMh
                            hMMM:        :MMMh
                          .hMMMh          hMMMh.
                         -dMMMh     __     hMMMd-
                        :mMMMs      ||      sMMMm:
                       :MMMM+       || _     +NMMN:
                      .mMMM+     ========     +MMMm.
                      yMMMy   ##############   yMMMy
                      mMMM:   ##############   :MMMm
                      mMM   nn   nn    nn   nn   MMm
                      o   nNNNNNNNn    nNNNNNNNn   o
                         nNNNNNNNNNn  nNNNNNNNNNn
                        nNNNNNNNNNNN  NNNNNNNNNNNn
                         +NNNNNNNNN:  :NNNNNNNNN+
                           nNNNNNNN /\ NNNNNNNn
                             nnnnn  db  nnnnn

888      d8b                             .d8888b.   .d8888b.  888b     d888
888      Y8P                            d88P  Y88b d88P  Y88b 8888b   d8888
888                                     888    888 Y88b.      88888b.d88888
888      888 88888b.  888  888 888  888 888          Y888b.   888Y88888P888
888      888 888  88b 888  888  Y8bd8P  888  88888      Y88b. 888 Y888P 888
888      888 888  888 888  888   X88K   888    888        888 888  Y8P  888
888      888 888  888 Y88b 88Y .d8pq8b. Y88b  d88P Y88b  d88P 888   *   888
LinuxGSM 888 888  888  Y8888Y  888  888   Y2012P88   Y8888P   888       888

=================================
LinuxGSM_
by Daniel Gibbs
Game: Counter-Strike: Global Offensive
Website: https://linuxgsm.com
Contributors: https://linuxgsm.com/contrib
Donate: https://linuxgsm.com/donate
=================================
    fetching install_server_dir.sh...OK

Server Directory
=================================
/home/dpcsgo

Continue? [Y/n] Y

直接回车就可以了

接下来脚本会检查各项依赖,然后回连接到Steam下载Steam相关的套件,例如SteamCMD之类的,下载过程是非常漫长的(代理软件是有必要的),你可以用这段时间干点什么~

如果你没有正常的进行下载,可以在评论区贴出错误提示,或者重新走一遍流程哦

5.获取GSTL

安装完成就应该提示输入GSTL(Game Server Login Token)了

①访问GSTL获取页面:https://steamcommunity.com/dev/managegameservers

下面是你的Steam必须满足的条件

帐户需求

  • 您的 Steam 帐户目前不能处于社区封禁或锁定状态。
  • 您的 Steam 帐户不能受限
  • 您的 Steam 帐户必须拥有一个合格的注册手机
  • 您的 Steam 帐户必须拥有所创建游戏服务器对应的游戏。
  • 您的 Steam 帐户可以创建 1000 个游戏服务器帐户。

②在左上角登录你的Steam账号

③在页面底部找到如下字段,并填入相关信息,点击创建。

创建一个新的游戏服务器帐户

基础游戏的 App ID(例如:TF2 是 440,CS:GO 是 730):
备忘录(与帐户一起存储的文本,显示于此帮助您记忆):

④你会在页面中部找到一个表格

游戏 登录令牌 上次登录 备忘录
730 D4XXXXXXXXXXXXXXXXXXXXXXXXX27 从未 地皮对战服务器







那么登陆令牌就是GSTL啦

6.输入GSTL

安装完成后会提示:

Success! App '740' fully installed.

=================================
Was the install successful? [Y/n] Y

如果提示APP”740″安装成功就直接回车就好了,这里出问题一般都是网络不好

接下来就会让你输入GSTL了:

Game Server Login Token
=================================
GSLT is required to run a public Counter-Strike: Global Offensive server
Get more info and a token here:
https://docs.linuxgsm.com/steamcmd/gslt

Enter token below (Can be blank).
GSLT TOKEN:

直接把登陆令牌输入进去就好~

7.进一步安装

接下来会提示:

LinuxGSM Stats
=================================
Assist LinuxGSM development by sending anonymous stats to developers.
More info: https://docs.linuxgsm.com/configuration/linuxgsm-stats
The following info will be sent:
* game server
* distro
* game server resource usage
* server hardware info
Allow anonymous usage statistics? [Y/n] Y

这个是开发工具,回车就好

8.安装结束

如果看到如下提示就证明LGSM已经正确安装完毕了:

=================================
Install Complete!

To start server type:
./csgoserver start

    fetching core_exit.sh...OK

6.配置参数

1.先启动一下服务端,看看是否能正常工作:

./csgoserver start

如果提示各种OK,并且刷新Steam获取GSTL页面后出现上次登录,那么应该是没问题的了

PS:由于我在局域网进行配置演示,网络配置方法上和VPS有所不同,这里不能进行演示,很抱歉。

2.没问题的话,停止服务端:

./csgoserver stop

3.编辑游戏相关配置文件

先进入与游戏相关配置文件关联的目录:

cd /home/dpcsgo/lgsm/config-lgsm/csgoserver/

列出目录下的所有文件:

ls

可以看到:

[dpcsgo@localhost csgoserver]$ ls
common.cfg  csgoserver.cfg  _default.cfg

本来可以不介绍,想了想我还是介绍一下

common.cfg暂时用不到,csgoserver.cfg是服务端程序运行时读取的配置文档,_default.cfg是默认配置文档

①把_default.cfg内的配置写到csgoserver.cfg:

cat _default.cfg > csgoserver.cfg

②给_dafault.cfg做个备份,并让他不生效

mv _default.cfg _default.cfg.bak

③编辑csgoserver.cfg,这里还要填一遍GSTL

vi csgoserver.cfg

4.编辑服务器信息相关配置文件(其一)

这里我直接编辑与服务器信息相关配置文件了:

vi /home/dpcsgo/serverfiles/csgo/cfg/csgoserver.cfg

文件内容是这样的:

// ************************************************************************** //
//                                                                            //
//     Counter-Strike: Global Offensive - server.cfg                          //
//     Version 120719                                                         //
//                                                                            //
// ************************************************************************** //

// .................................. Basic ................................. //

// Hostname - Name of the server.
hostname "LinuxGSM"

// RCON - remote console password.
rcon_password "adminXXXXXXXX"

// Server password - for private servers.
sv_password ""

// Email - Server admin email.
// Example: sv_contact "email@example.com"
sv_contact ""

// LAN mode - Server is a LAN server; can't connect from the internet. VAC (Valve Anti-Cheat) is disabled in this mode.
// Default: sv_lan 0
sv_lan 0

// Cheats mode - Server is disabled to use cheats by default;Commands like noclip,god are disabled to be exploited by the players. VAC (Valve Anti-Cheat) is disabled in this mode when value is set to '1'.
// Default: sv_cheats 0
// Cheats ON: sv_cheats 1
sv_cheats 0

// Tags - Used to provide extra information to clients when they're browsing for servers. Separate tags with a comma.
// Example: sv_tags "128-tick,deathmatch,dm,ffa,pistol,dust2"
sv_tags ""

// Region - The region of the world to report this server in.
// Default: -1
// 0 - US East, 1 - US West, 2 - South America, 3 - Europe, 4 - Asia, 5 - Australia, 6 - Middle East, 7 - Africa
sv_region -1

// ............................. Server Logging ............................. //

// Enable log - Enables logging to file, console, and udp < on | off >.
// Recommended: log on
log on

// Log bans - Log server bans in the server logs.
// Default: sv_logbans 1
// Recommended: sv_logbans 1
sv_logbans 1

// Log echo - Display log information to the server console.
// Default: sv_logecho 1
// Recommended: sv_logecho 1
sv_logecho 1

// Log file - Log server information in the log file.
// Default: sv_logfile 1
// Recommended: sv_logfile 1
sv_logfile 1

// One file log - Log server information to only one file.
// Default: sv_log_onefile 0
// Recommended: sv_log_onefile 0
sv_log_onefile 0

// Server Hibernation
sv_hibernate_when_empty 1
sv_hibernate_ms 5

// ............................. Server Query ............................. //
// More info at: https://www.gametracker.com/games/csgo/forum.php?thread=91691
host_name_store 1
host_info_show 1
host_players_show 2

// ................................ Ban List ................................ //

// User ban - Server banlist based on user steam ID.
// Recommended: exec banned_user.cfg
exec banned_user.cfg

// IP ban - Server banlist based on user IP.
// Recommended: exec banned_ip.cfg
exec banned_ip.cfg

// Write ID - Writes a list of permanently-banned user IDs to banned_user.cfg.
writeid

// Write IP - Save the ban list to banned_ip.cfg.
writeip

他有英文版的说明,我只介绍两个推荐必须改一下的值

hostname:服务器名称,显示在计分板右上角

rcon_password:管理员密码,用于在游戏中操作服务器,换地图之类的操作。

记得按“i”键改一下就可以保存退出(修改完后按“ESC”,再输个“:wq”)了

5.编辑服务器信息相关配置文件(其二)

echo "https://dpii.club/dpgameservice" > /home/dpcsgo/serverfiles/csgo/motd.txt

这个显示在计分板左下角的服务器网站

7.启动服务端

./csgoserver start

8.关闭防火墙或者开启27015端口

在VPS控制台,或者安装宝塔控制。

9.连接测试

在电脑上运行CS:GO,按“~”进入控制台,输入如下指令连接到服务器:

connect ip:27015

10.结束

其实还有很多参数我没有介绍,有空了介绍吧,有什么疑问评论区留言我会尽力解答的~

评论

  1. 1122333

    warning! Missing dependencies: nmap_ncat

    3月前
    2020-4-05 21:38:19
    • Defied Party 博主

      切换回root用户,然后执行 yum install nmap_ncat

      3月前
      2020-4-06 13:10:14
  2. 上帝

    6666

    3月前
    2020-4-06 21:17:04
  3. ddd

    yum install nmap_ncat
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    No package nmap_ncat available.
    Error: Nothing to do

    3月前
    2020-4-22 14:50:30
    • Defied Party 博主

      nmap-ncat,不小心打错了嘿嘿

      3月前
      2020-4-23 16:11:43
  4. minimantueur

    还有插件,还有什么开启无扩散

    3月前
    2020-4-23 22:13:52
  5. minimantueur

    bot怎么踢,还有管理员怎么弄哈哈

    3月前
    2020-4-24 12:53:00
    • Defied Party 博主

      最近正在写进阶篇,这些会在进阶篇说~

      3月前
      2020-4-24 19:39:28
  6. Liuss

    游戏客户端更新了 服务端如何更新

    2月前
    2020-5-10 13:58:35
    • wh010802

      输入./csgoserver update
      如果检测不到更新的话就./csgoserver force-update

      2月前
      2020-5-18 11:40:06
  7. LXDD

    copying _default.cfg…OK
    fetching GitHub linuxgsm.sh…ERROR
    fetching Bitbucket linuxgsm.sh…FAIL
    安装./csgoserver install的时候显示erroro(╥﹏╥)o

    已编辑
    1月前
    2020-5-29 13:05:19
    • LXDD

      1

      已编辑
      1月前
      2020-5-29 13:10:38
    • Defied Party 博主

      多试几次,最近在开会,网络确实敏感

      1月前
      2020-5-30 2:39:43
  8. Warning! Missing dependencies: python3 bzip2 unzip jq tmux glibc.i686 libstdc++.i686
    Warning! dpcsgo does not have sudo access. Manually install dependencies.
    sudo yum install python3 bzip2 unzip jq tmux glibc.i686 libstdc++.i686
    Failure! Missing dependencies required to run SteamCMD.
    这个要重复那个步骤

    1月前
    2020-6-02 1:46:54
    • DefiedParty 博主

      你这个是没有安装依赖导致的错误,请看第三步:https://dpii.club/archives/160#header-id-4

      已编辑
      1月前
      2020-6-02 17:46:25
  9. Success! App ‘740’ fully installed.
    =================================
    Was the install successful? [Y/n] Y
    fetching GitHub install_config.sh…ERROR
    fetching Bitbucket install_config.sh…FAIL
    [dpcsgo@iZtdh5dwww5eghZ ~]$
    这个输入哪个命令
    安装完steamcmd的文件后显示这个

    已编辑
    1月前
    2020-6-04 17:22:36
    • 弄好了 网络是真不好

      1月前
      2020-6-04 17:28:46
  10. 91邓先森

    [ INFO ] Starting csgoserver: Check IP: 172.17.164.63
    [ OK ] Starting csgoserver: LinuxGSM
    游戏开到服务器内网了,这个咋整,把sv_lan改到了1

    1月前
    2020-6-08 19:16:45
    • DefiedParty 博主

      sn_lan 改成0,如果是阿里的机器不要紧,识别到内网的ip也可以从外部直接连接的,因为阿里用了NAT,其他的机器不太清楚了,不过大概和阿里的机器情况相同~

      4周前
      2020-6-11 19:44:34
      • 91邓先森

        大佬宁再康康
        https://i.loli.net/2020/06/17/WHaMrjOA5KQNohZ.png
        我改好了,但是还是csgo连接不上服务器,控制台也看不懂,哭了
        我ping了一下那个端口,说是找不到主机

        3周前
        2020-6-17 21:48:31
        • DefiedParty 博主

          检查防火墙和config,防火墙开放config里指定的tcp端口

          2周前
          2020-6-26 15:13:40
  11. liucaiji

    大佬可以帮忙看看我执行./csgoserver install之后,字符企鹅已经出来了,但回车后又报了两个错误
    Continue? [Y/n] Y
    fetching GitHub install_logs.sh…ERROR
    fetching Bitbucket install_logs.sh…FAIL

    2周前
    2020-6-25 12:29:21
    • liucaiji

      可以了…多试几次就好了

      已编辑
      2周前
      2020-6-25 12:35:30
      • DefiedParty 博主

        害,都是网络的锅,有能力上v2ray或者$$r

        2周前
        2020-6-25 20:45:34
  12. iewdog

    [ INFO ] Starting csgoserver: Check IP: 172.19.236.16
    [ OK ] Starting csgoserver: iewdog
    这个怎么办呀,sv_lan 0没错,连接的时候说只允许内部服务器连接,我是阿里的机器

    1周前
    2020-6-30 23:28:00
    • DefiedParty 博主

      阿里的机器必须手动指定内网IP,确保sv_lan 0,就可以了

      1周前
      2020-7-02 17:34:46
  13. WW

    你好,咨询一下,20人的混战服,CPU、内存、宽带多少比较合适呢?

    1周前
    2020-7-01 15:54:16
    • DefiedParty 博主

      2h4g10m最基本,越大越好!

      1周前
      2020-7-02 17:35:50
  14. 111

    [dpcsgo@iZbp1cd2g3teclgdz9zyb2Z ~]$ ./csgoserver install
    fetching GitHub check_version.sh…ERROR
    fetching Bitbucket check_version.sh…FAIL
    安装脚本一直失败怎么办呢

    1周前
    2020-7-02 23:16:30

发送评论 编辑评论


				
上一篇
下一篇