CSGO服务器的搭建
本文是基于Linux环境下的CSGO服务器搭建,Windows下并不适用,请注意。
一、搭建前的准备
要有一台服务器,最低的标准是1H2G的配置,CPU至少要单核2.5Ghz的频率,不然var会比较的高。
如果要搭建满十服务器的话至少需要5Mbps及以上的服务器带宽,那样才能做到玩家不丢包,如果不搭建满十服务器时的话,计算单位是0.5Mbps/人。
服务端需要40GB的储存空间。
到Steam令牌申请网站申请GLST令牌,App ID 填写 730 备忘录可以添加你的服务器IP,方便以后记忆。
服务器防火墙设置可以选择开放27015与27036端 口,但如果需要使用GOTV等,那就干脆全开好了,记得选择TCP+UDP全开。
连接服务器的工具:
Xshell、FinalShell或者Putty
上传配置文件的工具:
FileZilla
二、连接服务器进行安装部署
服务器在安装时选用的系统是Debian 10或者Ubuntu Server 20.04 LTS,使用SSH工具连接后更新源与系统
apt-get update -y && apt-get upgrade -y
某些云服务器的系统在安装时部分环境不会安装,所以还要安装环境
安装sudo、wget、curl
apt-get install sudo -y
apt-get install wget -y
apt-get install curl -y
接着给服务器安装Steam与CSGO服务端的必要依赖
dpkg --add-architecture i386
sudo apt-get update -y
sudo apt-get install libstdc++6:i386 -y
sudo apt-get install libgcc1:i386 -y
sudo apt-get install libcurl4-gnutls-dev:i386 -y
sudo apt-get install lib32gcc1 -y
sudo apt-get install libgcc1 -y
sudo apt-get install libcurl4-gnutls-dev:i386 -y
由于CSGO的服务端使用root用户启动会存在不可预料的风险,所以我们需要创建一个子用户来运行CSGO服务器
以下步骤是创建了一个名为steam的子用户
useradd steam
usermod -s /bin/bash steam
usermod -d /home/steam steam
mkdir /home/steam
或者
useradd -m steam
mkdir /home/steam
下一步进行安装
方法一:
可以直接从分发软件仓库安装SteamCMD(如果有的话)
sudo apt install steamcmd
如果使用的是64位的云服务器,则需要添加multiverse
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install lib32gcc1 steamcmd
完成之后对steamcmd可执行文件进行链接
ln -s /usr/games/steamcmd steamcmd
方法二:
如果你的服务器正在使用Docker,直接输入下面这一行
docker run -it --name=steamcmd cm2network/steamcmd bash
如果以上两种方法你都不会或者行不通你就需要手动安装了
手动安装
su steam
cd /home/steam
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
上面这一条是全球地区的下载节点,中国内地用户可以使用下面这一条
curl -sqL "https://media.st.dl.bscstorage.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
以上两条命令如果运行出现错误提示可以尝试以下命令
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar zxvf steamcmd_linux.tar.gz
下载完毕之后安装Screen以简化服务器管理和使得进程可以在后台运行
apt-get install screen -y
到这里SteamCMD的安装步骤就告一段落了,接下来是对SteamCMD的配置和CSGO服务器文件的安装
三、启动SteamCMD
如果是通过软件仓库中的软件包安装的:
cd
steamcmd
如果是手动安装的:
cd /home/steam
chmod +x steamcmd.sh
./steamcmd.sh
四、设置应用下载路径并登录 SteamCMD
安装路径设置
force_install_dir /home/steam/csgoserver/
设置完毕之后然后登录
匿名登录(推荐的方法)
下载大多数游戏服务端,可以选择匿名登录
login anonymous
使用 Steam 帐户登录(不推荐)
一些服务端需要你使用一个 Steam 帐户来登录
为了安全起见建议您创建一个服务端专用的 Steam 帐户
一个用户同时只能在一处登录(无论是在图形界面客户端还是在 SteamCMD 登录)
login <用户名>
下一步请输入您的密码
如果 Steam 令牌已经在用户帐户上激活,查看你电子邮箱中的 Steam 令牌验证码并输入它。这仅仅只是第一次登录时需要(以及当你删除了 SteamCMD 用于存储登录信息文件的时候)
如果你已经成功登录了你的帐户,你应该会看到一条消息
五、安装CSGO服务端
在完成安装路径设置和SteamCMD登陆之后,就可以安装CSGO了
app_update 740 validate
等待进度到100就说明安装完成了,此时还会有一个校验过程,也就是检查文件完整性,等待检查完成后安装就完成了,输入以下命令退出
quit
六、配置server.cfg
我们需要配置一些cfg,让服务器按照预定的模式进行启动,在CSGO服务端根目录下的cfg文件夹创建server.cfg可以让CSGO服务端在启动时自动执行这些cfg
这个是一个模板
hostname "" //服务器名称 rcon_password "" //服务器rcon密码 sv_password "" //服务器密码 host_info_show 2 host_players_show 2 sv_region 4 //这个是只在亚洲显示你的服务器,如果要是全球范围显示则设置为255 sv_cheats 0 sv_lan 0 // 以下是一些bot的设置 "bot_difficulty" "3" "bot_chatter" "off" "bot_join_after_player" "1" "bot_quota" "10" "bot_quota_mode" "fill" "bot_defer_to_human_items" "5" "bot_defer_to_human_goals" "0" "bot_dont_shoot" "0" // 机器人无害:关闭 "bot_chatter" "normal" // 机器人无线电:普通 "bot_autodifficulty_threshold_low" "-2.0" // 机器人自动难度门槛低值:值在 -20.0 到 20.0 之间,(最低人类平均分,低于此分数机器人会提高难度) "bot_autodifficulty_threshold_high" "10.0" // 机器人自动难度门槛高值:值在 -20.0 到 20.0 之间,(高于人类平均分,超过此分数机器人会降低难度) sv_setsteamaccount "" //这里填写GLST,就是申请来的那个令牌 //这里要注意,如果全写128的话,将无法保证服务器在理论数据下不丢包,5Mbps 10人这里都写128的 sv_mincmdrate "64" sv_minupdaterate "64" sv_maxupdaterate "128" sv_maxrate 0 sv_minrate 786432 sm_cvar sv_client_min_interp_ratio "2" sm_cvar sv_client_max_interp_ratio "2" sm_cvar net_maxcleartime 0.001 sv_tags //这里填写服务器的标签,逗号分隔 //以下是写入封禁踢出列表 writeid writeip exec banned_user.cfg exec banned_ip.cfg sv_hibernate_when_empty 0/1 //服务器空载休眠 tv_enable 1 tv_delaymapchange 1 tv_delay 45 tv_deltacache 2 tv_dispatchmode 1 tv_overridemaster 0 v_relayvoice 1 tv_snapshotrate 20 tv_timeout 60 tv_transmitall 1 sv_allowdownload 1 sv_allowupload 1 sv_downloadurl "" //这里配置下载站url
七、安装sourcemod与metamod
SourceMOD是一个强大的,高度优化的脚本插件和处理服务器管理平台。
实际上,简单来说就是插件平台,装了这东西之后,你就可以装很多插件了,来实现各种原版服 务端没有的功能,例如回防,多人1v1之类。
我们只需要下载对应操作系统的包,然后扔到CSGO服务端根目录下即可。
wget https://sm.alliedmods.net/smdrop/1.10/sourcemod-1.10.0-git6474-linux.tar.gz
wget https://mms.alliedmods.net/mmsdrop/1.10/mmsource-1.10.7-git971-linux.tar.gz
然后解压
tar -zxvf sourcemod-1.10.0-git6474-linux.tar.gz
tar -zxvf mmsource-1.10.7-git971-linux.tar.gz
接着把解压出来的文件扔到CSGO服务端根目录下
mv addons/ /home/steam/csgoserver/csgo/
mv cfg/* /home/steam/csgoserver/csgo/cfg/
插件这种东西自己去网上找找就有了。
八、启动CSGO服务器
在服务器中创建一个文件命名为start.sh,文件内容是如下
#!/bin/bash cd /home/steam/csgoserver screen -S csgo ./srcds_run -tickrate 128 -debug -game csgo -console -usercon -port 27015 -maxplayers_override 13 -steam_dir /home/steam/ +game_type 0 +game_mode 1 +map de_dust2
复制该文件的路径,在SSH工具中以用户steam的身份输入
bash */start.sh
服务器就成功启动了。