使用Centos7搭建csgo服务器

安装LinuxGSM

选择VPS

1.搭建csgo服务器推荐1-2核cpu,内存1G+,硬盘30G+,服务器距离本地延迟30ms以下为佳。
2.大陆服务器带宽一般1M可以6个人左右流畅玩,满10服务器至少2M带宽以上,推荐使用大陆服务器或香港服务器。
3.这里我使用的是阿里云的学生ECS,每月9.5元,配置为1C2G1M,可以搭建一个小型服务器。

连接VPS

1.我使用的是Xshell 6 ,阿里云服务器连接需要用密钥登陆,不会的话谷歌一下。
2.使用root身份登陆。

安装LinuxGSM

安装EPEL源:

yum -y install epel-release

安装工具和依赖:

yum -y install mailx postfix curl wget bzip2 gzip unzip python binutils bc jq tmux glibc.i686 libstdc++ libstdc++.i686

添加一个用户:

adduser csgoserver

修改用户的密码,服务器安全别用弱密码:

passwd csgoserver

切到csgoserver这个用户下,并进入到这个用户的主目录:

su csgoserver && cd

安装LinuxGSM:

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

输入后如果提示指令被拒绝,那么就切换到root用户,执行su - csgoserver,然后再次切换csgoserver用户并进入主目录

安装csgo服务端

执行下面的命令开始安装服务端:

./csgoserver install

输入Y后回车同意,然后就是漫长的等待,取决于你的服务器网速和性能,完成后出现以下界面,会提示让你输入一个GSLT TOKEN:
20190413193000.jpg
GSLT TOKEN是用于Valve检查自建服务器是否涉及到违规操作,这里我们前往
https://steamcommunity.com/dev/managegameservers 登陆后添加csgo的管理员:
20190413195621.jpg
创建成功之后,你应该可以看到这些那一长串代码了,这个就是GSLT TOKEN,复制并填入到终端后回车确认。
20190413193308.jpg

修改配置文件

接下来我们要修改主配置文件:

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

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

cat _default.cfg > csgoserver.cfg

然后把_default.cfg重命名让它里面的设置不生效也可以说是做个备份:

mv _default.cfg _default.cfg.bak

接着我们编辑csgoserver.cfg:

vi csgoserver.cfg

20190413200543.jpg
这里可以设置游戏的端口、地图、tick等,我设置的是128tick。
如果gslt的值是空的,则需要在gslt中填入密匙
gamemode和gametype的值可以设定游戏的模式,例如:
休闲模式

+game_type 0 +game_mode0

竞技模式

+game_type 0 +game_mode1

军备竞赛

+game_type 1 +game_mode0

爆破模式

+game_type 1 +game_mode1

死亡竞赛

+game_type 1 +game_mode2

完成之后我们再来修改游戏的配置文件,这个配置文件主要的功能是修改服务器游戏内的一些设置,比如服务器的名字,服务器管理员密码之类的:

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

其中hostname是服务器名字,rcon_password是管理员密码,其他的默认即可。
20190413200547.jpg

安装插件

为了方便管理和添加插件,我们可以安装一下MetaMod和SourceMod插件,这两个插件的安装非常简单,首先你进入到如下目录:

cd /home/csgoserver/serverfiles/csgo

然后下载并解压MetaMod的压缩包即可完成安装:

wget https://mms.alliedmods.net/mmsdrop/1.10/mmsource-1.10.7-git968-linux.tar.gz
tar -xzvf mmsource-1.10.7-git968-linux.tar.gz

同样的SourceMod也是如此:

wget https://sm.alliedmods.net/smdrop/1.9/sourcemod-1.9.0-git6274-linux.tar.gz
tar -xzvf sourcemod-1.9.0-git6274-linux.tar.gz

最后创建一个SourceMod管理员:

echo '"你的STEAMID" "99:z"' >> /home/csgoserver/serverfiles/csgo/addons/sourcemod/configs/admins_simple.ini

你自己的SteamID,这个ID的格式应该是这样子的:STEAM_0:1:XXXXXX 可以在 https://steamid.io 中查询自己的ID。
全部完成之后,现在你应该回到ROOT用户:

su

然后关闭系统的防火墙:

systemctl stop firewalld.service
systemctl disable firewalld.service

如果不放心可以自己修改防火墙设置,开启27015,27005,27020端口(具体看服务器配置文件)。
然后你再回到csgoserver这个用户下:

su csgoserver && cd

启动服务端:

./csgoserver start

默认是休闲模式,如果你要修改游戏模式或者地图,则要更改主配置文件:

vi /home/csgoserver/lgsm/config-lgsm/csgoserver/csgoserver.cfg

修改gamemode和gametype的值即可,到此服务端安装完成。

游戏内设置

接下来进入游戏,按~打开控制台,输入:

connect 你的服务器ip:27015

进入服务器后,输入:

rcon_password 你的OP密码

即可将你自己提升为管理员
因为安装了SourceMod插件,这个插件最原始的功能就是给你提供了一个管理员游戏菜单,你可以在控制台执行如下命令打开菜单:

sm_admin

然后你就可以直接通过菜单来管理服务器了。

注意事项

csgo客户端更新后,服务端也需要更新,更新方法如下:
切到csgoserver户下,并进入到主目录:

su csgoserver && cd

执行更新:

./csgoserver update

更新完成后不要立即重启服务器,否则会出现问题。
如更新后出现无法进入服务器问题,可以尝试输入:

./csgoserver uf

如果还是无效,建议重装服务端。
查看其他指令:

./csgoserver 

即可查看所有相关指令。

参考:

  1. https://docs.linuxgsm.com/commands
  2. https://lala.im/4780.html
最后修改:2020 年 08 月 05 日 06 : 30 PM
如果觉得我的文章对你有用,请随意赞赏

29 条评论

  1. [...]本教程基于:https://www.ecsoe.com/archives/5.html教程所改进 文章出现的图片也是基于EvansT的图片(主要太懒不想重新安装)[...]

  2. Comfort

    Information! Automatically installing missing dependencies.
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    * base: mirrors.huaweicloud.com
    * epel: mirrors.tuna.tsinghua.edu.cn
    * extras: mirrors.huaweicloud.com
    * updates: mirrors.huaweicloud.com
    No package glibc.i686 available.
    No package libstdc++.i686 available.
    博主这个怎么解决啊

  3. b4imetu

    阿里云Check到内网IP有解决方案了吗?在这纠结好久了,连接connect公网ip和私网都连不上服务器

    1. b4imetu
      @b4imetu

      安全组策略的端口我已经全部开放了:协议类型:全部 端口范围:-1/-1 授权类型:IPv4地址段访问
      授权对象:0.0.0.0/0

  4. rian

    刚进去一会就显示banned by sever 这是为啥,看了一下banned_ip和banned_user两个cfg文件都是空白的

  5. [...]使用Centos7搭建CS:GO服务器[...]

  6. 滑稽君

    大佬可以指点一下怎么添加创意工坊地图吗?

  7. 王涵

    非常感谢博主的教程!结合一些其他知识我搭建完成了服务器,但是没有办法使用rcon命令获取管理员权限,csgo控制台给我返回的信息是无法连接到该服务器,有办法解决这个问题吗?

  8. 是猫玖鸭

    修改用户的密码,服务器安全别用弱密码:
    passwd csgoserver
    这步
    然后提示changing password for suer csgoserver
    new password: 这里面写不了东西

    1. 是猫玖鸭
      @是猫玖鸭

      已经解决

      1. 是猫玖鸭
        @是猫玖鸭

        安装csgo服务端
        ./csgoserver install
        fetching core_legacy.sh...FAIL这个怎么办。。

        1. mmllong
          @是猫玖鸭

          wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh csgoserver
          这一步安装不成功是怎么回事,切换后还是不行。服务器要怎么设置啊,安全组只留了个ssh

          1. 91邓先森
            @mmllong

            呜呜呜,我也是这个问题

        2. kymandu
          @是猫玖鸭

          我也是

  9. Jiyuanhuang

    我在搭建的过程中遇到一个warning:
    SteamCMD did not complete the dowload, retrying: attempt 8
    然后就变成了error:
    install csgoserver: SteamCMD is missing
    retry也没有用。但是我之前已经用别的方法安装上steamCMD了。。

    1. Jiyuanhuang
      @Jiyuanhuang

      准确来说应该是9个warning

  10. BarrettGuaN

    博主有遇到过启动csgoserver之后check到内网ip的情况吗?

    1. zhang
      @BarrettGuaN

      兄弟,你问题解决了嘛

      1. BarrettGuaN
        @zhang

        阿里的端口映射我弄的不是很明白 亲测腾讯云可行

    2. EvansT
      @BarrettGuaN

      检查下服务器token有没有成功关联

      1. BarrettGuaN
        @EvansT

        从steam那边来看 是没有 因为一直显示从未登陆 那么要改哪里呢?

        1. EvansT
          @BarrettGuaN

          在服务端的config文件里,你仔细找找,有个地方是填入token的,填入后重启服务端

          1. BarrettGuaN
            @EvansT

            是csgoserver.cfg里的gslt参数吗?这个我已经填了

            1. EvansT
              @BarrettGuaN

              还有就是管理员的SteamID,如果都配置正确后进一次服务器steam那里就会有登陆记录的,没记录就是没成功关联

              1. BarrettGuaN
                @EvansT

                如果你说的是source mod下的admins_simple.ini文件 里面是有管理员id的

              2. BarrettGuaN
                @EvansT

                也是配在csgoserver.cfg里面?

                1. EvansT
                  @BarrettGuaN

                  正常情况下服务端不会出现内网IP的,除非你设置了内网模式

  11. jades

    搭建的服务器怎么关闭vac呀,想弄成hvh

    1. EvansT
      @jades

      这个我也不是很清楚 ̄﹃ ̄

发表评论