前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在腾讯轻量云Linux上搭建 CSGO 服务器

在腾讯轻量云Linux上搭建 CSGO 服务器

原创
作者头像
奈月希
发布2023-02-16 21:12:53
4.7K0
发布2023-02-16 21:12:53
举报
文章被收录于专栏:主机萌站

在腾讯轻量大盘鸡推出时,我写了篇关于 Windows Server 环境的教程。但很多云村朋友都要我更新一篇Linux搭建csgo服务器教程。

Windows教程可参考:在Windows服务器上简易部署 CSGO 服务端 - 主机萌站 (idc.moe)

附上服务器购买:https://url.cn/3KAz5hBQ 购买30GB以上硬盘的服务器即可~

Step1:基本设置|安装Steamcmd

  1. 使用ssh以root用户身份登录到服务器,创建名为steam的用户,并切换到该用户和该用户的根目录下(用户名可以自行选择,但在后续的操作中,路径需要进行替换)

useradd -m steam # 添加名为steam的用户

su steam #切换到steam用户

cd /home/steam/ #切换到steam用户的根目录下

  1. 创建名为steamcmd的文件夹,下载steamcmd并解压。

mkdir steamcmd #创建名为steamcmd的文件夹

cd steamcmd/ #切换到文件夹目录下

wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz #下载steamcmd

tar zxvf steamcmd_linux.tar.gz # 解压steamcmd

rm steamcmd_linux.tar.gz #删除下载的安装包,也可以保留

  1. 安装运行steamcmd所需的环境,运行steamcmd并安装CS:GO服务端

sudo yum install glibc.i686 # 安装steamcmd运行所需的库

sudo yum install libstdc++.i686 #有的主机已经安装其他同样效果的依赖,不用多次安装

./steamcmd.sh

Step2:通过Steamcmd安装CSGO服务端

  1. 以匿名用户身份登录steamcmd

login anonymous

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

force_install_dir ./csgo_server

  1. 安装csgo服务端(需要至少30G磁盘空间)

app_update 740 validate

在看到如下图片中最后的行的”Success!”后,表明CS:GO服务端安装成功(此处使用了更新成功的图片,但同样是”Success!”字样)

安装成功提示
安装成功提示

安装成功提示

  1. 安装完成后,退出steamcmd

quit

Step3:编写CS:GO更新脚本(可选)

CSGO更新的频率还是挺高的,服务端也是要同步更新的,所以我们可以写一个小脚本来一键更新服务端。

  1. 编写steamcmd的runscript脚本
  • 在steamcmd目录下(退出steamcmd.sh后的当前目录),使用vim创建新的update.txt文件
代码语言:txt
复制
 ```
代码语言:txt
复制
 vi update.txt
代码语言:txt
复制
 ```
  • 进入编辑模式,写入以下语句,然后保存退出
代码语言:txt
复制
 ```
代码语言:txt
复制
 login anonymous
代码语言:txt
复制
 force_install_dir ./csgo_server
代码语言:txt
复制
 app_update 740
代码语言:txt
复制
 quit
代码语言:txt
复制
 ```
  1. 编写steamcmd运行脚本
  • 在steamcmd目录下,使用vim创建新的csgo_server_update.sh文件
代码语言:txt
复制
 ```
代码语言:txt
复制
 vi csgo_server_update.sh
代码语言:txt
复制
 ```
  • 进入编辑模式,写入以下语句后保存退出
代码语言:txt
复制
 ```
代码语言:txt
复制
 #!/bin/bash
代码语言:txt
复制
 ./steamcmd.sh +runscript update.txt
代码语言:txt
复制
 ```
  • 若出现了权限不足的情况,提升权限再次运行即可
代码语言:txt
复制
 ```
代码语言:txt
复制
 chmod 775 csgo_server_update.sh
代码语言:txt
复制
 ```

Step4:配置并运行CS:GO服务端

  1. 前往Steam游戏服务器帐户管理注册steam服务器登录令牌。没有该令牌服务器只能在本地网络中进行连接,在社区服务器浏览器中也不会显示。
  • 在App ID中填入CS:GO的ID:730。备忘录选填。
代码语言:txt
复制
 [![填写AppID会返回你的登录令牌](https://timlzh.github.io/images/pasted-2.png)](https://timlzh.github.io/images/pasted-2.png)
代码语言:txt
复制
 [填写AppID会返回你的登录令牌](https://timlzh.github.io/images/pasted-2.png)
  • 点击创建之后便获得了登录令牌,不要将该令牌泄露出去,该令牌用于服务器在CS:GO社区服务器中验证
  1. 下载服务器配置文件server.cfg
  • 切换目录到CS:GO的cfg文件夹下,下载server.cfg文件,编辑server.cfg文件
代码语言:txt
复制
 ```
代码语言:txt
复制
 cd csgo_server/csgo/cfg/
代码语言:txt
复制
 wget http://www.csgodev.com/downloads/server.cfg
代码语言:txt
复制
 vi server.cfg
代码语言:txt
复制
 ```
  • 进入编辑模式,在server.cfg文件中添加登录令牌,修改部分参数(这部分一定要改,不然很影响游戏体验!)
代码语言:txt
复制
 ```
代码语言:txt
复制
    // 新增以下参数:
代码语言:txt
复制
 // steam account,修改为自己刚刚申请的登陆令牌
代码语言:txt
复制
 sv_setsteamaccount "4FXXXXXXXXXXXXXXXXXXXXXXXXX"
代码语言:txt
复制
 // 找到并修改以下参数:
代码语言:txt
复制
 // 服务器名称,安全方面
代码语言:txt
复制
 hostname "Nice's CSGO Server"    // 服务器在社区服务器浏览器上显示的名称,自行修改为喜欢的名字
代码语言:txt
复制
 rcon_password "***"    // CS:GO远程控制台密码,修改为自己定义的密码
代码语言:txt
复制
 sv_password "***"    // 服务器连接密码,在连接服务器时输入,不要密码可以留空
代码语言:txt
复制
 // 游戏参数方面
代码语言:txt
复制
 sv_maxrate "128000"    // 服务器最大带宽使用量,默认值非常小,因此会造成choke值异常,此处建议改为128000
代码语言:txt
复制
 sv_minrate "80000"    // 服务器最小带宽使用量,与上面同理,此处建议改为80000
代码语言:txt
复制
 sv_accelerate "5.5"    // 人物移动速度,默认值为10,快到恶心,此处建议修改为5.5
代码语言:txt
复制
 ```
  • 最关键的参数在下图已经用红笔圈出来了
代码语言:txt
复制
 [![服务器配置](https://timlzh.github.io/images/pasted-3.png)](https://timlzh.github.io/images/pasted-3.png)
代码语言:txt
复制
 [服务器配置](https://timlzh.github.io/images/pasted-3.png)
  • 修改完以上参数之后,服务器便可以启动了,关于server.cfg中的其他参数说明,可以在server.cfg文件的注释中查看,也可以前往CSGODev查看
  1. 开放UDP 27015端口
  • 前往腾讯云轻量云防火墙控制面板,我这里为了省事全端口开放
代码语言:txt
复制
 [![开放端口](https://p.itxe.net/images/2023/02/10/msedge_PU2kmobzoL.png)](https://timlzh.github.io/images/pasted-4.png)
  1. 安装screen,启动CS:GO服务器
  • 安装screen,以便CS:GO服务进程在后台运行
代码语言:txt
复制
 ```
代码语言:txt
复制
 sudo yum install screen
代码语言:txt
复制
 ```
  • 返回csgo_server目录,使用screen创建新的会话
代码语言:txt
复制
 ```
代码语言:txt
复制
 cd /home/steam/steamcmd/csgo_server/
代码语言:txt
复制
 screen -S csgo
代码语言:txt
复制
 ```
  • 注意:当screen会话未结束时,在下次ssh登陆时可以使用命令”screen -r csgo”来恢复会话
  • 此时屏幕会清屏,说明你成功进入到”csgo”这个会话当中,这时开始启动服务器
代码语言:txt
复制
 ```
代码语言:txt
复制
 ./srcds_run -debug -game csgo -console -port 27015 -steamcmd_script /home/steam/steamcmd/update.txt -steam_dir /home/steam/ +map de_dust2
代码语言:txt
复制
 ```

参数解释: -debug 开启调试模式 -game 指明游戏,此处是csgo -console 打开游戏控制台 -port 游戏服务器端口,此处是27015 -steamcmd_script 运行steamcmd的脚本文件地址 -steam_dir Steam的安装地址 +map 服务器加载的地图(此处只能用官方地图,创意工坊地图请看后面)

  • 当看到如下图所示的界面之后,说明服务器成功地运行,可以在游戏中连接了
代码语言:txt
复制
 [![服务器启动成功](https://timlzh.github.io/images/pasted-5.png)](https://timlzh.github.io/images/pasted-5.png)
代码语言:txt
复制
 [服务器启动成功](https://timlzh.github.io/images/pasted-5.png)
  • 记下红圈中的服务器IP地址,等会要用

Step5:连接服务器

控制台输入connect+空格+你的ip.

Step6:使用创意工坊地图

  1. 注册Steam网页API
  • 前往Steam网页API注册页面注册API,获得Authkey(注意不要泄露出去)
代码语言:txt
复制
 [![Authkey](https://timlzh.github.io/images/pasted-6.png)](https://timlzh.github.io/images/pasted-6.png)
代码语言:txt
复制
 [Authkey](https://timlzh.github.io/images/pasted-6.png)
  1. 获取创意工坊地图ID
  • 在steam的创意工坊中打开自己想要的地图的页面,复制浏览器地址上的ID。比如说,aim_map_c的地图ID是465367694
代码语言:txt
复制
 [![获取地图ID](https://timlzh.github.io/images/pasted-7.png)](https://timlzh.github.io/images/pasted-7.png)
代码语言:txt
复制
 [获取地图ID](https://timlzh.github.io/images/pasted-7.png)
  1. 启动服务器
  • 在csgo_server文件夹中输入命令
代码语言:txt
复制
 ```
代码语言:txt
复制
 ./srcds_run -debug -game csgo -console -port 27015 -steamcmd_script /home/steam/steamcmd/update.txt -steam_dir /home/steam/ +host_workshop_map 465367694 -authkey 3XXXXXXXXXXXXXXXXXXXXXXX
代码语言:txt
复制
 ```
代码语言:txt
复制
 > 相同的参数在之前有解释,这里只解释新的参数:
 > +host_workshop_map 465367694 **切换地图为来自创意工坊的地图,后面的数字填入刚刚获取的地图ID**
 > -authkey 3XXXXXXXXXX **Steam网页API的Authkey,填入刚刚获取的API Authkey**
  • 如果不想通过重启服务器的方法来更换地图,可以在服务器控制台中输入以下命令:
代码语言:txt
复制
 ```
代码语言:txt
复制
 changelevel XXXX    // XXXX可以是创意工坊地图ID,也可以是官方地图名字
代码语言:txt
复制
 ```
代码语言:txt
复制
 [![服务器后台直接更换地图](https://timlzh.github.io/images/pasted-8.png)](https://timlzh.github.io/images/pasted-8.png)
代码语言:txt
复制
 [服务器后台直接更换地图](https://timlzh.github.io/images/pasted-8.png)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • Step1:基本设置|安装Steamcmd
  • Step2:通过Steamcmd安装CSGO服务端
  • Step3:编写CS:GO更新脚本(可选)
  • Step4:配置并运行CS:GO服务端
  • Step5:连接服务器
  • Step6:使用创意工坊地图
相关产品与服务
云防火墙
腾讯云防火墙(Cloud Firewall,CFW)是一款基于公有云环境下的 SaaS 化防火墙,主要为用户提供互联网边界的防护,解决云上访问控制的统一管理与日志审计的安全与管理需求。云防火墙不仅具备传统防火墙功能,同时也支持云上多租户、弹性扩容功能,是用户业务上云的第一个网络安全基础设施。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档