Linux搭建CSGO服务器(CentOS、Ubuntu、Debian)

zero 三级用户组 2022-5-9 6041

这个是我自己用的,比较简洁,我也没有截图,(懒!)

一、依赖合集

在Centos中,下载完steamcmd后一般会提示无法打开,原因是依赖库出现问题,所以我们最好在一开始就装好所有的依赖库以防万一
注意!!在安装steamcmd和下载完csgo服务端前请不要安装宝塔面板,我好几次都是因为先安装了宝塔面板导致steamcmd无法打开

CentOS汇总(个人感觉不如Debian,我本人使用Debian11):

  1. yum update
  2. yum upgrade
  3. yum install lib32gcc1
  4. yum install libstdc++6
  5. yum install lib32stdc++
  6. yum update libstdc++-4.8.5-11.el7.x86_64
  7. sudo yum install glibc.i686
  8. yum install zlib.i686
  9. yum install libstdc++.i686
  10. yum install zlib-1.2.11-16.el8_2.i686
  11. yum install libuuid-2.32.1-22.el8.i686
  12. yum install lib32z1
  13. yum install screen

部分最新系统已经含有更新的环境,可以跳过。

Ubuntu/Debian:

1.关于依赖库的安装
Ubuntu相对于Centos来说只有几个库必须安装,但在安装前,我们要先对Ubuntu默认的apt-get库进行更新,否则无法进行下面的操作,具体操作如下:

在root用户下输入以下两个指令(分先后顺序):

  1. apt-get update
  2. apt-get upgrade

等待安装完后即可(在运行apt-get upgrade时可能会出现一个图形化的界面,选择no后在接下来弹出的另一个界面选择ok即可)
2.steamcmd依赖库
在更新完库后,我们需要安装steamcmd所依赖的环境,库名叫lib32gcc1,安装指令如下:

  1. apt-get install lib32gcc-s1

安装完这个库后我们就可以运行steamcmd了。
3.sourcemod依赖库
正确的安装后系统仍识别不到sourcemod的问题不止发生在Ubuntu上,这里给出的仅仅是Ubuntu的解决方法
其实这是因为缺少了依赖,才导致系统无法识别sourcemod,经过寻找,库的名字是libstdc++.so.6,如果你用的是Centos系统,可直接使用yum install libstdc++.i686来进行安装(或者yum update libstdc++),但在Ubuntu,库的名字发成了改变,具体安装指令如下:

  1. apt-get install libstdc++6
  2. apt-get install lib32stdc++
  3. apt-get install lib32stdc++6

安装完后我们重启游戏服务器即可,这时sourcemod就可以被系统识别了
4.部分插件出现Could not find driver "mysql"问题
这个问题也是因为缺少依赖库的问题,安装指令如下:

  1. apt-get install lib32z1

这个库在Centos系统下叫libz.so.1,同样的问题可通过yum安装即可解决
5.Ubuntu安装screen服务

  1. apt-get install screen

二、开始搭建服务器
1.切换至HOME文件夹,下载steamcmd并解压(这里我自己使用的是home文件夹来搭建服务器的,路径这个你们自己选择)

  1. cd /home    // 切换到home文件夹目录下
  2. wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz    //下载steamcmd
  3. tar zxvf steamcmd_linux.tar.gz    // 解压steamcmd
  4. rm steamcmd_linux.tar.gz    //删除下载的安装包,也可以保留

2.运行steamcmd并安装CS:GO服务端(由于上面已经安装了环境,这里的环境就不需要管了,直接输入下面指令就可以了)

  1. ./steamcmd.sh

接下来便是在steamcmd中安装CS:GO
以匿名用户身份登录steamcmd

  1. login anonymous

创建CS:GO服务器文件夹,该文件夹在steamcmd文件夹目录下

  1. force_install_dir ./csgo

安装csgo服务端(15分钟左右)

  1. app_update 740 validate

在看到最后的行的"Success!"后,表明CS:GO服务端安装成功
安装完成后,退出steamcmd(最简单的)

  1. quit

三. 编写CS:GO更新脚本(可选)不会使用vi编辑器,可以使用Finallshell或者winscp等软件,手动创建输入修改权限等

1. 编写steamcmd的runscript脚本,在steamcmd目录下(退出steamcmd.sh后的当前目录),使用vim创建新的update.txt文件

  1. vi update.txt

按 i 进入编辑模式,写入以下语句,然后保存退出(退出点一下esc然后输入:wq,回车一下就ok了)

  1. login anonymous
  2. force_install_dir ./csgo
  3. app_update 740
  4. quit

2. 编写steamcmd运行脚本
在steamcmd目录下,使用vim创建新的csgo_server_update.sh文件

  1. vi csgo_server_update.sh

进入编辑模式,写入以下语句后保存退出(和上面方法一样)

  1. #!/bin/bash
  2. ./steamcmd.sh +runscript update.txt

3. 测试脚本
先给755权限

  1. chmod 775 csgo_server_update.sh
然后在同目录目录下运行更新脚本csgo_server_update.sh
  1. ./csgo_server_update.sh

四、配置server.cfg然后开服

1.先去Steam游戏服务器帐户管理注册自己的令牌,这里注意两个问题,一个是使用大号有一定几率会封禁15天左右,建议使用小号,第二点是新号在注册这个令牌时候,先去申请这个号的Steam网页API注册,不然令牌无效
2.创建server.cfg
我个人喜欢是手动点到cfg文件夹下手动创建server.cfg,当然你也可以用代码切换,按照本教程路径是这样

  1. cd /home/csgo/csgo/cfg
  2. wget http://www.csgodev.com/downloads/server.cfg
  3. vi server.cfg

或者直接

  1. cd /home/csgo/csgo/cfg
  2. vi server.cfg

3.进入编辑模式,在server.cfg文件中添加登录令牌,修改部分参数,然后保存即可

  1. // 新增以下参数:
  2. // steam account,修改为自己刚刚申请的登陆令牌sv_setsteamaccount "4FXXXXXXXXXXXXXXXXXXXXXXXXX"
  3. // 找到并修改以下参数:
  4. // 服务器名称,安全方面
  5. hostname "Fisher's server"    // 服务器在社区服务器浏览器上显示的名称,自行修改为喜欢的名字
  6. rcon_password "12345678"    // CS:GO远程控制台密码,修改为自己定义的密码
  7. sv_password "87654321"    // 服务器连接密码,在连接服务器时输入,不要密码可以留空
  8. // 游戏参数方面
  9. sv_maxrate "128000"    // 服务器最大带宽使用量,默认值非常小,因此会造成choke值异常,此处建议改为128000
  10. sv_minrate "80000"    // 服务器最小带宽使用量,与上面同理,此处建议改为80000
  11. sv_accelerate "5.5"    // 人物移动速度,默认值为10,快到恶心,此处建议修改为5.5

4.开放UDP 27015端口,我建议是tcp、udp都开放,如果你是满十需要开gotv,记得还有27020端口,如果你安装了宝塔,一定要在宝塔再开一边端口,许多人检查半天没问题结果是被宝塔阻拦了。
5.安装screen,启动CS:GO服务器(第一步screen已经安装过了,不用管了)
返回csgo目录,使用screen创建新的会话

  1. cd /home/csgo
  2. screen -S csgo

注意:当screen会话未结束时,在下次ssh登陆时可以使用命令"screen -r csgo"来恢复会话
此时屏幕会清屏,说明你成功进入到"csgo"这个会话当中,这时开始启动服务器

  1. ./srcds_run -debug -game csgo -console -port 27015 -steamcmd_script /home/steam/steamcmd/update.txt -steam_dir /home/steam/ +map de_dust2 -tickrate 128
若系统提示没有srcds_run这个文件,则是你当前的文件夹目录不正确
参数解释:
-debug 开启调试模式
-game 指明游戏,此处是csgo
-console 打开游戏控制台
-port 游戏服务器端口,此处是27015
-steamcmd_script 运行steamcmd的脚本文件地址
-steam_dir Steam的安装地址
+map 服务器加载的地图

五、结束

至此,CS:GO私人服务器的搭建就完成了,可以与同学愉快地玩耍了。要想让服务器在后台继续运行,直接断开ssh连接即可。在下次ssh连接登录后,想要恢复之前的screen会话,输入以下命令即可:

  1. screen -r csgo

六、服务器自动更新(偷懒!)

CSGO服务器自动更新教程

七、使用文档

SM Mod插件:https://www.sourcemod.net
MM Mod插件:https://www.metamodsource.net
Steam网页API注册:https://steamcommunity.com/dev/apikey
Steam 游戏服务器帐户管理:https://steamcommunity.com/dev/managegameservers


CSGO插件分享-申明 1、本网站名称:CSGO插件分享-中文站  网址:https://bbs.csgocn.net
2、本站的宗旨在于为CSGO玩家提供一个插件分享的中文资源平台,多数插件来源于SourceMod论坛,并配以中文介绍和安装教程。
3、欢迎有能力的朋友共享有趣的CSGO插件资源。
4、本站资源大多为百度网盘,如发现链接失效,可以点: 这里进行反馈,我们会第一时间更新。
最新回复 (11)
  • Devour 二级用户组@Ta 2022-5-9 0
    引用 2
  • LuckyCat 一级用户组@Ta 2022-5-10 0
    引用 3
    刚才试了一下,用的centos7,建议先创建csgo目录再匿名登陆,不然csgo会下载到root目录下
  • zero 楼主 三级用户组@Ta 2022-5-10 0
    引用 4
    LuckyCat 刚才试了一下,用的centos7,建议先创建csgo目录再匿名登陆,不然csgo会下载到root目录下
    最开始的要切换到home文件夹再进行下列操作
  • AEISet 三级用户组@Ta 2022-5-11 0
    引用 5
    所以为什么不用LGSM。直接创建个新的用户搭服就好了啊
  • 我不当学长 管理员组@Ta 2022-5-11 1
    引用 6
    AEISet 所以为什么不用LGSM。直接创建个新的用户搭服就好了啊
    LGSM论坛还没人写过,虽然网上也有一些现成的教程了
  • zero 楼主 三级用户组@Ta 2022-5-13 0
    引用 7
    AEISet 所以为什么不用LGSM。直接创建个新的用户搭服就好了啊
    有的人不喜欢lgsm,比如我,哈哈哈
  • weiziyang 一级用户组@Ta 2023-2-7 0
    引用 8
    安装玩了    卡在中间这一步了,怎么卸载,不安装呢?
  • 我不当学长 管理员组@Ta 2023-2-7 0
    引用 9
    weiziyang 安装玩了 卡在中间这一步了,怎么卸载,不安装呢?
    中间指的是什么,网络不好,没下完服务端?
  • Grady 一级用户组@Ta 2023-4-14 0
    引用 10
    这csgodev什么来源?打开是垃圾网站,不知道有没有毒
  • zero 楼主 三级用户组@Ta 2023-4-14 0
    引用 11
    Grady 这csgodev什么来源?打开是垃圾网站,不知道有没有毒
    可以不用管这个,直接新建个server.cfg
  • sgteam 一级用户组@Ta 10月前 0
    引用 12
    centos7  确实不如DB现在
返回