基于Centos7.X的CS:GO社区服搭建
基于Centos7.X的CS:GO私人服务器搭建
由于比完了赛,在学校太过无聊,便想搭建一个CSGO社区服务器,方便舍友同学进来游玩,顺便帮助一些有想法的人,让他们少走一点弯路
一、创建新用户,并下载steamcmd安装CSGO服务端
1.安装steamcmd所依赖的环境
sudo yum install glibc.i686 // 安装steamcmd运行所需的库
sudo yum install libstdc++.i686 // 有的主机已经安装其他同样效果的依赖,不用多次安装
1.使用root用户登录到服务器,接着创建一个名为steam的用户,并进到该用户的根目录下,下载steamcmd并且安装
useradd -m steam //创建一个名叫steam的用户(-m表示自动建立用户的登入目录)
su steam //登录到steam用户
cd /home/steam //进入到steam用户的目录下
2.创建一个名为steamcmd的目录,进入到目录下安装steamcmd
mkdir steamcmd //创建名为steamcmd的目录
cd steamcmd //进入到steamcmd目录下
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz //下载steamcmd的安装包
tar zxvf steamcmd_linux.tar.gz && rm steamcmd_linux.tar.gz// 解压steamcmd并删除安装包
3.使用匿名用户登录steamcmd,并且下载CSGO服务端
./steamcmd.sh //运行steamcmd
如果你上面的操作没有问题的话,你输入了./steamcmd.sh就会出现如下的界面
然后输入如下命令
login anonymous //用匿名用户登录(当然你也可以直接登录自己的账号)
force_install_dir ./csgo_server //选择服务端安装的目录
app_update 740 validate //开始下载服务端并验证完整性
quit //退出steamcmd
服务端一般下载时间半小时左右,主要还是看网络配置,如果中途退出了,只需重新输入
app_update 740 validate
下载即可
二、配置并运行服务端
1.去Steam游戏服务器账户管理注册一个steam社区服令牌(如果没有注册令牌,则只能在本地游玩,并且社区服页面也搜不到该服务器)如果登录不上去可以使用UU加速器加速Steam或者使用Steamcommunity 302工具修复连接问题
申请的时候记得在AppID中填上CSGO的ID:730
单击创建之后便会生成一个登录令牌,生成之后先保存下载,待会儿要用
2.创建server.cfg文件
切换到服务端目录下,创建名为server.cfg的文件
cd csgo_server/csgo/cfg/
vim server.cfg
进入到编辑模式,我现在把我的服务器配置放出来供你们参考,如有需要自行修改
sv_setsteamaccount “” //在此输入你刚刚获取到的登录令牌
rcon_password “” // OP 密码
// “” 表示没有
hostname “DG_s1mple’s server”
// 服务器名称
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 0 // 手电筒
// 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 0 // 友军伤害
// 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 30
// 一方最大胜利回合数,达到此数量,自动重新载入新地图
// 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 0 // 警匪通话
// 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
// 0=无限制
// 局域网=25000
sv_maxspeed 320 // 客户端最大移动速度
// 服务器最小传输速率<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 vaudio_speex // 语音通话解码
// vaudio_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 0
// 客户端暂停游戏
// 0=禁止
// 1=允许
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
sv_maxrate “128000” //服务器最大带宽使用量,默认值非常小,因此会造成choke值异常,此处建议改为128000
sv_minrate “100000” //服务器最小带宽使用量,与上面同理,此处建议改为80000
3.添加一个防火墙规则(如果是云服务器)
去防火墙面板添加一个规则,允许UDP协议的27015端口
三、安装screen,用screen启动csgo服务端
安装screen程序,让csgo服务端在后台运行
yum -y install screen
然后进入到csgo_server目录下新建一个会话
cd /home/steam/steamcmd/csgo_server/
screen -S csgo
如果你的终端清屏了,说明运行成功,接下来运行这个命令
./srcds_run -game csgo -console -ip 0.0.0.0 -usercon +game_type 0 +game_mode 1 +port 27015 +map de_mirage -tickrate 128 -maxplayers_override 12 +mapgroup mg_active -nobots
如果提示你没有srcds_run这个文件,就说明你所在路径有问题
最后出现如图界面就可以正常登陆游玩了!
四、连接服务器
进入服务器列表,选择收藏夹,然后点右下角添加服务器,输入服务器的IP地址后,点击将此地址添加至收藏夹
最后选择后点击右下角连接即可
文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!本文仅用于学习与交流,不得用于非法用途!
如果还需要装插件的教程,请评论,我也会更新的,如果没有那就算了