CS:GO开服架设服务器搭建游戏配置方法教程教学
基于Centos7.X的CS:GO私人服务器搭建
大家好我是艾西今天跟大家分享一下自己个人怎么用服务器搭建CS:GO steam游戏架设方法及步骤,需要准备那些东西。
服务器、Xshell远程软件、FileZilla、API密钥 & 服务器登录令牌、
部署:连接服务器、部署、更新脚本、下载安装插件
准备服务器:
服务器(服务器是必备的,当然自己家的电脑可以搭建起来吗?我的答案是可以。我建议用服务器,因为24小时全天运行,且稳定有专业的机房人员管理,机房的湿度温度以及磁场等因素都是决定机器网络正常运行的关键。自家电脑搭建起来很卡自己玩玩学习一下还是可以的,但是想游戏运行顺畅个人建议用服务器架设搭建游戏)我这里用Centos7.X做演示
配置越高的服务器对于游戏的整体运营以及游戏体验都会有很大的提升,有能力的可以直接上I9游戏高频系列
下面正式开始服务器搭建
一. 创建新用户,安装steamcmd,安装CS:GO服务端
1. 使用ssh以root用户身份登录到服务器,创建名为steam的用户,并切换到该用户和该用户的根目录下(用户名可以自行选择,但在后续的操作中,路径需要进行替换)
useradd -m steam // 添加名为steam的用户
su steam // 切换到steam用户
cd /home/steam/ // 切换到steam用户的根目录下
2. 创建名为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 //删除下载的安装包,也可以保留
3. 安装运行steamcmd所需的环境,运行steamcmd并安装CS:GO服务端
sudo yum install glibc.i686 // 安装steamcmd运行所需的库
sudo yum install libstdc++.i686 // 有的主机已经安装其他同样效果的依赖,不用多次安装
./steamcmd.sh
在操作无误的情况下,看到下面的命令行之后,steamcmd就安装完成了
steamcmd成功安装
接下来便是在steamcmd中安装CS:GO
以匿名用户身份登录steamcmd
login anonymous
创建CS:GO服务器文件夹,该文件夹在steamcmd文件夹目录下
force_install_dir ./csgo_server
安装csgo服务端(15分钟左右)
app_update 740 validate
在看到如下图片中最后的行的"Success!"后,表明CS:GO服务端安装成功(此处使用了更新成功的图片,但同样是"Success!"字样)
安装(更新)成功
安装完成后,退出steamcmd
quit
二. 编写CS:GO更新脚本(可选)
1. 编写steamcmd的runscript脚本
在steamcmd目录下(退出steamcmd.sh后的当前目录),使用vim创建新的update.txt文件
vi update.txt
进入编辑模式,写入以下语句,然后保存退出
login anonymous
force_install_dir ./csgo_server
app_update 740
quit
2. 编写steamcmd运行脚本
在steamcmd目录下,使用vim创建新的csgo_server_update.sh文件
vi csgo_server_update.sh
进入编辑模式,写入以下语句后保存退出
#!/bin/bash
./steamcmd.sh +runscript update.txt
3. 测试脚本
在steamcmd目录下运行脚本csgo_server_update.sh
./csgo_server_update.sh
若运行结果如下所示,则更新脚本编写完成,以后可以直接使用该命令一键更新CS:GO服务器
CS:GO更新脚本
若出现了权限不足的情况,提升权限再次运行即可
chmod 775 csgo_server_update.sh
三. 配置并运行CS:GO服务端
1. 前往Steam游戏服务器帐户管理注册steam服务器登录令牌。没有该令牌服务器只能在本地网络中进行连接,在社区服务器浏览器中也不会显示。(网站可能无法连接,推荐使用Steamcommunity 302工具修复连接问题)
在App ID中填入CS:GO的ID:730。备忘录中填入:CSGO服务端令牌(选填)
填写App ID
点击创建之后便获得了登录令牌,不要将该令牌泄露出去,该令牌用于服务器在CS:GO社区服务器中验证
2. 下载服务器配置文件server.cfg
切换目录到CS:GO的cfg文件夹下,下载server.cfg文件,编辑server.cfg文件
cd csgo_server/csgo/cfg/
wget http://www.csgodev.com/downloads/server.cfg
vi server.cfg
进入编辑模式,在server.cfg文件中添加登录令牌,修改部分参数(这部分一定要改,不然很影响游戏体验!)
// 新增以下参数:
// steam account,修改为自己刚刚申请的登陆令牌
sv_setsteamaccount "4FXXXXXXXXXXXXXXXXXXXXXXXXX"
// 找到并修改以下参数:
// 服务器名称,安全方面
hostname "Fisher's server" // 服务器在社区服务器浏览器上显示的名称,自行修改为喜欢的名字
rcon_password "12345678" // CS:GO远程控制台密码,修改为自己定义的密码
sv_password "87654321" // 服务器连接密码,在连接服务器时输入,不要密码可以留空
// 游戏参数方面
sv_maxrate "128000" // 服务器最大带宽使用量,默认值非常小,因此会造成choke值异常,此处建议改为128000
sv_minrate "80000" // 服务器最小带宽使用量,与上面同理,此处建议改为80000
sv_accelerate "5.5" // 人物移动速度,默认值为10,快到恶心,此处建议修改为5.5
最关键的参数在下图已经用红笔圈出来了
服务器配置
修改完以上参数之后,服务器便可以启动了,关于server.cfg中的其他参数说明,可以在server.cfg文件的注释中查看,也可以前往CSGODev查看
3. 开放UDP 27015端口
前往服务器防火墙控制面板,添加防火墙规则或找机房放行端口
开放端口
4. 安装screen,启动CS:GO服务器
安装screen,以便CS:GO服务进程在后台运行
sudo install screen
返回csgo_server目录,使用screen创建新的会话
cd /home/steam/steamcmd/csgo_server/
screen -S csgo
注意:当screen会话未结束时,在下次ssh登陆时可以使用命令"screen -r csgo"来恢复会话
此时屏幕会清屏,说明你成功进入到"csgo"这个会话当中,这时开始启动服务器
./srcds_run -debug -game csgo -console -port 27015 -steamcmd_script /home/steam/steamcmd/update.txt -steam_dir /home/steam/ +map de_dust2
若系统提示没有srcds_run这个文件,则是你当前的文件夹目录不正确
参数解释:
-debug 开启调试模式
-game 指明游戏,此处是csgo
-console 打开游戏控制台
-port 游戏服务器端口,此处是27015
-steamcmd_script 运行steamcmd的脚本文件地址
-steam_dir Steam的安装地址
+map 服务器加载的地图(此处只能用官方地图,创意工坊地图请看后面)
当看到如下图所示的界面之后,说明服务器成功地运行,可以在游戏中连接了
服务器启动成功
记下红圈中的服务器IP地址,等会要用
四. 在游戏中连接服务器
1. 由于国服的社区服务器浏览器和世界服的不一样,世界服现在也免费了,因此目前我们使用世界服进行连接。(关于如何切换到世界服,请自行百度)
2. 打开社区服务器浏览器,点击“收藏夹选项卡”,输入服务器IP地址,点击“在此地址上查找游戏”,然后选择找到的服务器,点击“将选定游戏服务器添加至收藏夹”
服务器搜索与添加
连接服务器,双击收藏夹中刚刚添加的服务器,输入密码即可,注意输入法
加入服务器
4. Enjoy!
PS:实测4人在64tick情况下,loss和choke基本为0%,延迟稳定在25ms左右
连接延迟
五. 使用社区地图
1. 注册Steam网页API
前往Steam网页API注册页面注册API,获得Authkey(注意不要泄露出去)
获得Authkey
2. 获取创意工坊地图ID
在steam的创意工坊中打开自己想要的地图的页面,复制浏览器地址上的ID。比如说,aim_map_c的地图ID是465367694
获取地图ID
3. 启动服务器
在csgo_server文件夹中输入命令
./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
相同的参数在之前有解释,这里只解释新的参数:
+host_workshop_map 465367694 切换地图为来自创意工坊的地图,后面的数字填入刚刚获取的地图ID
-authkey 3XXXXXXXXXX Steam网页API的Authkey,填入刚刚获取的API Authkey
若看到以下Log,则表示服务器切换到创意工坊的地图成功
服务器成功切换到创意工坊地图
按照上面的步骤再次连接服务器,就会发现服务器地图切换为创意工坊的地图了,Enjoy!
4. 更换地图
如果不想通过重启服务器的方法来更换地图,可以在服务器控制台中输入以下命令:
changelevel XXXX // XXXX可以是创意工坊地图ID,也可以是官方地图名字
服务器后台直接更换地图
5.更多关于创意工坊地图的命令,可以参考官方给出的文档:CSGO_Workshop_For_Server_Operators
六. 添加Mod和插件
有兴趣的人可以找我
常用插件为sourcemod和metamod,装了这俩之后才能装满十,kz,僵尸等等插件。
需求:满十竞技服务器,可自定义皮肤、手套
1.需要用到的插件以及网站
Sourcemod
Metamod
满十
皮肤
手套
multi1v1(如果想搭建1v1服务器,就把此插件替换满十)
下载
sourcemod
metamod
pugsetup
weapons和gloves与上述步骤相同。
全部下载完成并解压。注意:.tar.gz格式的文件解压一次为.tar,需打开tar文件夹再解压里面的文件一次。
打开sourcemod-1.10.0-git6539-linux\addons\sourcemod\configs\core.cfg,将最后一项"FollowCSGOServerGuidelines" "yes"中的yes改为no。否则皮肤插件无效。
3. 上传至服务器
打开filezilla,“文件”→“站点管理器”,新站点,协议选择SFTP,主机填写自己服务器的公网IP地址,用户为之前创建的csgo。连接。
右边的远程站点进入/home/csgo/steamcmd/csgo_server/csgo,左边的本地站点进入具体的插件文件夹内。选中cfg和addons文件夹,并上传。
同样地,把所有的插件的cfg文件夹和addons文件夹都上传至/home/csgo/steamcmd/csgo_server/csgo。
4./home/csgo/steamcmd/csgo_server/csgo/addons/sourcemod/configs/admins_simple.ini 文件可以添加添加sourcemod的admin管理员用户,格式为
“STEAM_1:1:122170925” “z”
“STEAM_1:1:528138521” “z”
“STEAM_1:1:223831180” “z”
“STEAM_1:1:445039989” “z”
“STEAM_1:1:451545623” “z”
“STEAM_1:0:521375560” “z”
“STEAM_1:1:440635526” “z”
“STEAM_1:0:246580798” “z”
“STEAM_1:0:546754288” “z”
“STEAM_1:0:124344904” “z”
左侧为steamid,进入游戏房间,打开控制台输入status即可看见当前房间所有玩家的steamid。
5.进入控制台,编辑服务器参数文件。
[csgo@VM-16-4-centos steamcmd]$ vim /home/csgo/steamcmd/csgo_server/csgo/cfg/autoexec.cfg
sv_setsteamaccount “XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX” //填入服务器登录令牌
hostname “csgoserver” //修改服务器名称
rcon_password “123” //服务器OP密码
sv_password “123” //设置服务器加入密码(可选)
sv_maxcmdrate “200” // 服务器cmd最大带宽使用量
sv_maxrate “786432” // 服务器最大带宽使用量,默认值非常小,因此会造成choke值异常,此处建议改为128000
sv_mincmdrate “10” // 服务器cmd最小带宽使用量
sv_minrate “80000” // 服务器最小带宽使用量,与上面同
理,此处建议改为80000
sv_sendvelocity “1”
6.编写启动指令
vim /home/csgo/steamcmd/csgo_server/start5.sh
./srcds_run -game csgo -tickrate 128 -console -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2 -maxplayers_override 14
添加执行权限
[csgo@VM-16-4-centos csgo_server]$ chmod +x /home/csgo/steamcmd/csgo_server/start5.sh
7.启动服务器
新建screen
[csgo@VM-16-4-centos csgo_server]$ screen -S csgo
启动服务器
[csgo@VM-16-4-centos csgo_server]$ /home/csgo/steamcmd/csgo_server/start5.sh
注意:screen 的用法具体自行搜索,常用的有
退出当前screen但程序继续运行——按住ctrl的同时先点击A,再点击D。
列出所有screen——screen -ls
删除screen——screen -S ### -X quit
其它有用的插件比如warmod等等可以在x社区找到,安装方法一般是放在cfg以及addon文件夹内,使用方法在插件原文里说明的也比较详细,这里我就给大家略过了。
至此,CS:GO私人服务器的搭建就完成了。要想让服务器在后台继续运行,直接断开ssh连接即可。在下次ssh连接登录后,想要恢复之前的screen会话,输入以下命令即可:
screen -r csgo