CSGO服务器部署,tick128设置方法,创意工坊地图添加,mod添加方法

部署基础资料参考文档:

一篇文章教你如何架设CSGO服务器_GamerNoTitle的博客-CSDN博客_csgo服务器搭建

在windows系统搭建CSGO服务器的教程! (zoneidc.com)

使用CentOS 7搭建csgo服务器 - EvansT's Blog (ecsoe.com)

阿里云 CentOS 8.2 搭建CSGO服务器 - 知乎 (zhihu.com)

CS:GO服务器搭建进阶篇-管理员配置及插件的灵活运用 - 地皮小木屋 (dpii.club)

CSGO比较好的server.cfg服务器参数设置 - Welcome to XiongTianQi.CN


地图添加:

CSGO:全球攻势服务器添加创意工坊地图方法教程 - Welcome to XiongTianQi.CN


MOD添加参考文档:

CS:GO服务器插件平台Sourcemod+Metamod – CSGO资料库 (csgocn.net)


tick128参考文档:

Csgo settings 128 tickrate and server.cfg!!! - AlliedModders (alliedmods.net)


使用工具:

Steam 社区 :: Steam 游戏服务器帐户管理 (steamcommunity.com)

Steam 社区 :: Steam 网页 API 密钥 (steamcommunity.com)



本地部署系统为Centos7.6

服务器配置:2U4G8M

部署前检查服务器空间,至少需要预留40G


预先安装环境包:

yum install glibc.i686 libstdc++.i686

以上两个包缺少的会影响steam工具的启动和mod使用


新建用户(可以不用配置密码)

useradd steam


安装screen,以方便放入后台操作

yum -y install screen

用法参考:

使用screen命令将会话放入后台,以便随时调用进入程序后台_技术共享_ (teddyou.com)


进入操作窗口:

screen -S csgo


切换用户,进入用户目录(后续操作均以此用户,且在默认用户路径下操作)

su steam
cd


下载服务器工具,并解压

wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar xf steamcmd_linux.tar.gz


启动工具,安装csgo服务器包

./steamcmd.sh


在steam>提示符内,匿名登录,并下载csgo服务器包

login anonymous
force_install_dir ./csgo_server
app_update 740 validate
quit


若在以后需要对服务器进行升级,启动steamcmd后使用以下命令(与上面的命令差不多,去掉了validate)

login anonymous
force_install_dir ./csgo_server
app_update 740
quit

或编辑成脚本加入时间计划任务完成自动更新,脚本参考如下:

#!/bin/bash
./steamcmd.sh +login anonymous +force_install_dir csgo_server +app_update 740 +quit


待安装完成后,新建服务器配置文件

vim /home/steam/csgo_server/csgo/cfg/server.cf


配置文件内内容参考文件中注释,修改并内容写入:

以下范本仅用作参考,目前已经发现根据以下内容配置会导致语音聊天失效。

rcon_password "" // OP 密码
// "" 表示没有
hostname "服务器"
// 服务器名称
sv_region 255 // 服务器所在区域注册参数
// 255=全球
// 0=美国东部
// 1=美国西部
// 2=南美洲
// 3=欧洲
// 4=亚洲
// 5=澳洲
// 6=中东
// 7=非洲
sv_rcon_minfailures 3
// 允许输入OP密码 错误次数下限 // 达到下限则封禁对方的IP
sv_rcon_banpenalty 5
// 封禁的时限 单位 分钟
// 0=永久
sv_maxupdaterate 100
// 服务器每秒更新最大频率
// 根据实际网络状况调节
// sv_maxrate / 300 = 要设的值 // 默认=30
// 局域网=101
sv_minupdaterate 40
// 服务器每秒更新最小频率
sv_unlag 1
// 玩家延时补偿
// 0=关闭
// 1=开启(默认)
sv_maxunlag 0.5 // 延时补偿最大值默认 0.5 // 0.5=500毫秒(默认)
sv_voiceenable 1 // 服务器是否允许麦克风语音通讯 // 0=禁止
// 1=允许(默认)
sv_unlagsamples 1 // 延时补偿数据包平均采样数量 // 默认=1
sv_unlagpush 0 // 服务器推进延时补偿
// 0=关闭(默认)
// 1=开启
mp_autokick 0 // 自动踢除不动的玩家
// 0=关闭(比赛默认)
// 1=开启
mp_autocrosshair 0 // 自动瞄准
// 0=关闭(默认)
// 1=开启
mp_autoteambalance 0
// 自动平衡双方人数
// 0=关闭(比赛默认)
// 1=开启
mp_buytime 0.25 // 每回合购买武器装备时间单位分钟 // 比赛默认=0.25
mp_consistency 1 // 防止某些模型被更改
// 0=关闭
// 1=开启(默认)
mp_c4timer 35 // C4爆炸倒计时单位秒
// 比赛默认=35
mp_decals 300 // 墙壁上的血花弹孔贴图细节数据传送(200-300)
mp_falldamage 1 // 高处落下伤害
// 0=关闭
// 1=开启(默认)
mp_fadetoblack 0 // 死后黑屏
// 0=关闭(默认)
// 1=开启
mp_flashlight 1 // 手电筒
// 0=禁止
// 1=允许(默认)
mp_forcechasecam 2 // 死后跟随
// 0=所有玩家
// 1=仅队友
// 2=仅队友,主视角(比赛默认)
mp_forcecamera 2 // 死后视角选择
// 0=全部视角
// 1=仅队友,全部视角
// 2=仅队友,主视角(比赛默认)
mp_footsteps 1 // 脚步声
// 0=关闭
// 1=开启(默认)
mp_fraglimit 0 //杀人数上限(1~n),超过上限就换地图 // 0=关闭(默认)
mp_freezetime 8 // 每回合开始冻结时间单位秒
mp_friendlyfire 1 // 友军伤害
// 0=关闭(默认)
// 1=开启
mp_friendly_grenade_damage 1
// 友军手雷伤害
// 0=关闭
// 1=开启
mp_hostagepenalty 0 // 惩罚人质杀手
// 0=不惩罚(默认)
// 1~N=人质被杀数量,超过则踢出该玩家
mp_limitteams 0 // 两队人数差异上限
// 超过此上限,新玩家只能当观察员 // 比赛默认=10
sv_logbans 1
// 服务器日志里记录Ban掉玩家的内容 // 0=不记录
// 1=记录
mp_logecho 0 // 将服务器日志反馈到控制台 // 0=关闭
// 1=开启
mp_logdetail 3 // 服务器日志里记录攻击信息 // 0=不记录任何信息
// 1=记录敌人攻击
// 2=记录队友攻击
// 3=记录所有攻击
mp_logfile 1 // 服务器记录日志为文件 // 0=不记录
// 1=记录
mp_logmessages 1 // 服务器日志里记录谈话内容 // 0=不记录
// 1=记录
mp_maxrounds 30 // 回合上限,达到此上限,自动重新载入新地图
// 0=无回合上限(默认)
mp_playerid 0 // 当准星指向敌人或队友时,显示他们的名字
// 0=显示所有人(比赛默认)
// 1=仅显示队友
// 2=不显示
mp_roundtime 2
// 每回合时限单位分钟
mp_timelimit 0
// 地图最大时限,达此时限,自动重新载入新地图
// 0=无时限
mp_tkpunish 0
// 惩罚队友杀手
// 0=关闭(默认)
// 1=开启
mp_startmoney 800 // 第一回合开始金钱(800~16000) // 加时赛=10000
mp_winlimit 0
// 一方最大胜利回合数,达到此数量,自动重新载入新地图
// 0=无限制(默认)
sv_aim 0
// 自动瞄准
// 0=关闭(默认)
// 1=开启
sv_airaccelerate 10 // 玩家在空中移动的速度
// 默认=10
sv_airmove 1 // 在空中移动&转向
// 0=禁止
// 1=允许(默认)
sv_allowdownload 1
// 客户端下载服务器资源 // 0=禁止
// 1=允许(默认)
sv_allowupload 1
// 客户端上传自己的喷图 // 0=禁止
// 1=允许(默认)
sv_alltalk 1 // 警匪通话
// 0=禁止(默认)
// 1=允许
sv_proxies 1 // HLTV代理
// 0=禁止
// 1=允许(默认)
sv_cheats 0 // 作弊模式
// 0=关闭(默认)
// 1=开启
sv_clienttrace 1.0 // 客户端模型的范围框的尺寸
// 默认 1.0
sv_clipmode 0
// 锁定客户端快速模式
// 0=关闭(默认)
// 1=开启
sv_friction 4
// 地面摩擦力默认 4
// 数值越低,摩擦越小
sv_gravity 800 // 重力默认 800
sv_maxrate 20000 // 服务器最大传输速率<0-25000> // (服务器上传带宽 x 125) /服务器设定的最大人数 = 要设的值
// 0=无限制
// 局域网=25000
sv_maxspeed 320 // 客户端最大移动速度
sv_minrate 0
// 服务器最小传输速率<0-25000> // 0=无限制
sv_send_logos 1 // 客户端相互之间传送喷图
// 0=禁止
// 1=允许(同时确保sv_allowdownload键值为1)
sv_sendvelocity 0
// 服务器混合物理运算,适用于较好配置的服务器 // 0=关闭
// 1=开启
sv_send_resources 1
// 自动向客户端传送地图关联的*.res文件里包括的资源文件 // 0=关闭
// 1=开启(同时确保sv_allowdownload为1)
sv_stepsize 18
// 玩家的步伐距离
// 默认 18
sv_stopspeed 75
// 玩家停止移动时的速度默认 75
sv_timeout 65
// 客户端连接服务器超时的时限,达到时限则断开连接
sv_voicecodec voice_speex // 语音通话解码
// voice_miles是HL引擎长期以来用的语音解码(默认),占用带宽较大,为32kbps
// voice_speex是Valve新加入的解码,优于voice_miles,占用带宽较少,为2.4kbps至15.2kbps
sv_voicequality 5
// 客户端语音通话质量(确保sv_voicecodec voice_speex)
// 1=非常差...........占用带宽 2.4 kbps // 2=差...............占用带宽 6.0 kbps // 3=中等.............占用带宽 8.0 kbps // 4=好...............占用带宽 11.2 kbps // 5=非常清晰.........占用带宽 15.2 kbps
allow_spectators 1
// 观察员模式
// 0=禁止
// 1=允许
decalfrequency 30
// 玩家喷图的时间间隔单位秒
edgefriction 2
// 玩家与玩家、墙壁、物体之间的摩擦
// 默认 2
host_framerate 0
// 与Demo录制有关
// 0<N<1 为慢录
// n=0 为正常(默认)
// n>1 为快录
log on
// 开始记录日志
pausable 1
// 客户端暂停游戏
// 0=禁止
// 1=允许
// Steam社区服务器验证
sv_setsteamaccount xxx
// 模式参数
game_mode 1
game_type 0
mapcyclefile mapcycle.txt
// 地图循环列表所在的.txt文件
// *.txt = cstrike\*.txt文件
// Use this file to configure your DEDICATED server. // This config file is executed on server start.
// load ban files
exec listip.cfg
exec banned.cfg


如果需要强制开启服务器的tick128,在以上配置文件中合适位置写入以下内容

sv_maxrate 0
sv_minrate 80000
sm_cvar sv_maxcmdrate 128
sv_mincmdrate 128
sv_minupdaterate 128
sm_cvar sv_maxupdaterate 128


获取key值,用以开服(若无此key授权,讲无法在公开网络进行游戏)

Steam 社区 :: Steam 游戏服务器帐户管理 (steamcommunity.com)

进入以上链接,登录拥有csgo游戏的账号(建议另外注册一个账号)

游戏ID需要填写730,备忘录内容不限定。

保存生成的授权码(登录令牌),将此授权码放置在服务器的/home/steam/csgo_server/csgo/cfg/server.cfg的sv_setsteamaccount参数后面


开启服务器

/home/steam/csgo_server/srcds_run  -game csgo -console -usercon -tickrate 128 +game_type 0 +game_mode 0 +mapgroup mg_bomb +map de_dust2 -maxplayers_override 20

maxplayers_override是设置服务器人数


以上为服务器的基础部署过程。

创意工坊地图添加方法如下:

首先需要先去steam创建一个合集,获得合集的ID(在合集页面的URL中,一串数字)放置在启动参数的host_workshop_collection中

然后取合集中的一个地图物品ID,放置在启动参数host_workshop_map中

需要获取authkey授权码,前往Steam 社区 :: Steam 网页 API 密钥 (steamcommunity.com),登录开服使用的steam账号,填入任意数值,获得authkey。

根据上面内容,参考以下命令启动csgo服务器(可选择加入-insecure参数,关闭VAC验证)

/home/steam/csgo_server/srcds_run -game csgo -console -usercon -tickrate 128 -ip 0.0.0.0 -port 27015 -maxplayers_override 20 +game_type 0 +game_mode 1 +host_workshop_collection 2761265336 +host_workshop_map 1951805843 -authkey XXXXXX

服务器将会自动下载合集中的地图,所以首次开服不一定能够立刻进入此创意工坊地图。


添加MOD这里不做详细讲解,直接引用上面链接中的内容,预先安装mod环境


  1. 1、下载Metamod(注意系统类型):http://www.sourcemm.net/downloads.php?branch=stable

  2. 2、制作CSGO专属VDF:http://www.sourcemm.net/vdf

  3. 3、下载Sourcemod(注意系统类型):http://www.sourcemod.net/downloads.php?branch=stable

  4. 4、将刚才下载的两个压缩包解压到同一目录下

  5. 5、最后将刚才下载的metamod.vdf文件放到addons/文件夹下,覆盖原文件即可

  6. 6、将所得到的addons/,cfg/这两个文件夹复制到游戏服务器的csgo/文件夹下即可完成插件平台的安装


然后再进行MOD的安装,得到MOD包后,根据MOD包内的路径,放置相应位置。


发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。