刚过完年,正没事干呢突然就被安利了这个……然而这游戏和L4D2比貌似已经不温不火了,想了一下还是自己搭个最省心了,下一篇估计会带来L4D2的开服经验>_<
那么,开始吧
=====================正文=========================
我这操作系统是Cent7 x64,如果是64位系统请记得装i686的gcc
首先我们需要下载steam官方的steamcmd并解压
mkdir ~/steamcmd
cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -zxvf steamcmd_linux.tar.gz
rm steamcmd_linux.tar.gz
./steamcmd.sh
完成后,匿名登陆服务器。有些是不能匿名下的,可以看这个:https://developer.valvesoftware.com/wiki/Dedicated_Servers_List
上面的命令执行后悔进入steamcmd环境,显示如下
此时键入
login anonymous
即用匿名身份登入
之后用
force_install_dir /home/css/
来强制指定安装目录,目录自选
之后下载服务端,下载指令为
app_update <app_id> [-beta <betaname>] [-betapassword <password>] [validate]
app_update 232330 validate
下载完成会提示
Success! App '232330' fully installed.
此时输入quit或者Ctrl+C退出即可.
网络不稳定或者国内容易导致下载中断,此时继续使用validate参数下载(记得指定下载目录)即可断点续传.
配置文件
新建配置文件,刚安装完的是木有配置文件的
cd /home/css/cs_source/cstrike/cfg nano server.cfg
这里我选择从网上扒一个写好的…因为没有见过长啥样
原贴见:https://tieba.baidu.com/p/1691084105?red_tag=1691421829
// Use this file to configure your DEDICATED server. // This config file is executed on server start. hostname "IPPtech_testServer" //服务器名称 sv_password "" // 服务器密码(进入游戏密码) // "" 表示没有 rcon_password "ipp@ipptech" // 远程OP管理密码 // "" 表示没有 sv_rcon_banpenalty 15 // 封禁的时限 单位 分钟 // 0=永久 sv_rcon_maxfailures 3 // 输入OP密码 错误次数上限 // 达到上限则封禁对方的IP sv_rcon_minfailures 999 // 输入OP密码 错误次数下限 // 达到下限则封禁对方的IP sv_rcon_minfailuretime 3 // 输入OP密码错误间隔时间 单位秒 mp_friendlyfire 0 // 友军伤害 // 0=关闭 // 1=开启 mp_footsteps 1 // 脚步声 // 0=关闭 // 1=开启 mp_autoteambalance 1 // 自动平衡双方人数 // 0=关闭 // 1=开启 mp_autokick 1 // 自动踢除不动的玩家 // 0=关闭 // 1=开启 mp_flashlight 0 // 手电筒 // 0=禁止 // 1=允许 mp_tkpunish 1 // 惩罚队友杀手 // 0=关闭 // 1=开启 mp_forcecamera 1 // 死后跟随 // 0=所有玩家 // 1=仅队友 // 2=仅队友,主视角 sv_alltalk 1 // 警匪通话 // 0=禁止 // 1=允许 sv_pausable 0 // 客户端暂停游戏 // 0=禁止 // 1=允许 sv_cheats 0 // 作弊模式 // 0=关闭 // 1=开启 sv_consistency 1 //在客户端连接服务器时检查文件一致性 // 0=关闭 // 1=开启 sv_allowdownload 1 // 客户端下载服务器资源 // 0=禁止 // 1=允许 (默认) sv_allowupload 1 // 客户端上传自己的喷图 // 0=禁止 // 1=允许 (默认) sv_maxspeed 320 // 客户端最大移动速度 mp_limitteams 100 // 两队人数差异上限 // 超过此上限,新玩家只能当观察员 mp_hostagepenalty 100 // 惩罚人质杀手 // 0=不惩罚 (默认) // 1~N=人质被杀数量,超过则踢出该玩家 sv_voiceenable 1 // 服务器是否允许麦克风语音通讯 // 0=禁止 // 1=允许 mp_allowspectators 1 // 观察员 // 0=禁止 // 1=允许 mp_chattime 10 // 结束一张地图时可以聊天的时间 单位秒 sv_timeout 65 // 客户端连接超时上限 // 超时者自动断开 // 回合相关参数 mp_buytime 0.25 // 每回合内允许购买武器的时间 单位分钟 mp_freezetime 5 // 每回合开始冻结时间 单位秒 mp_roundtime 1.67 // 每回合时间 单位分钟 mp_startmoney 800 // 最初回合开始金钱数 mp_c4timer 35 // C4爆炸倒计时 单位秒 mp_fraglimit 0 // 玩家杀人数上限 // 当一名玩家达到上限,更换地图 mp_maxrounds 20 // 最大回合上限 // 达到上限,自动换地图 mp_winlimit 0 // 得分上限 // 当CT或T方达到此得分,自动换地图 mp_playerid 0 // 当准星指向敌人或队友时,显示他们的名字 // 0=显示所有人 // 1=仅显示队友 // 2=不显示 mp_spawnprotectiontime 5 // 在回合开始n秒后,踢出上一回合的友军杀手 // 带宽速率设置 fps_max 1000 // 服务器fps值 sv_minrate 5000 // 服务器最小传输速率 // 0=无限制 sv_maxrate 0 // 服务器最大传输速率 // 0=无限制 decalfrequency 1 // 玩家喷图的时间间隔单位秒 sv_maxupdaterate 30 // 服务器每秒更新最大频率 // 根据实际网络状况调节 sv_minupdaterate 13 // 服务器每秒更新最小频率 sv_unlag 1 // 玩家延时补偿 // 0=关闭 // 1=开启 sv_maxunlag .5 // 延时补偿最大值默认 0.5 // 0.5=500毫秒 log on // 开始记录日志 sv_logbans 1 // 服务器日志里记录Ban掉玩家的内容 // 0=不记录 // 1=记录 sv_logecho 1 // 将服务器日志反馈到控制台 // 0=关闭 // 1=开启 sv_logfile 1 // 服务器记录日志为文件 // 0=不记录 // 1=记录 sv_log_onefile 0 // 将服务器日志只记录在同一个文件里 // 0=否 // 1=是 sv_lan 0 // 1=局域网 // 0=Internet sv_region 4 // 服务器所在区域注册参数 // -1=全球 // 0=美国东部 // 1=美国西部 // 2=南美洲 // 3=欧洲 // 4=亚洲 // 5=澳洲 // 6=中东 // 7=非洲 sv_contact [email protected] // 服务器管理员邮箱 // 该邮箱会被VALVE记录 //exec banned_ip.cfg //exec banned_ID.cfg //加载封禁的Steam_ID、IP列表
运行
写一个脚本运行就好啦~
cd /home/css/cs_source/ nano cs_source.sh
使用nano编辑脚本
#!/bin/sh echo "Starting CS:Source Server" sleep 1 /home/css/cs_source/srcds_run -console -game cstrike +map de_dust2 -maxplayers 32 -port 27015
这里指定了27015端口,可以根据自己情况修改.
然后Ctrl+X退出,Y保存,(使用vi的同学自己领悟
退出后我们需要给这个脚本执行权限
chmod +x cs_source.sh
之后运行
./cs_source.sh
不出意外的话正常运行,此时要记得在SSH下运行脚本,断开SSH的时候会停止执行,因此需要在screen或者nohup下执行
screen -S csserver
开启一个screen(↑),再执行。csserver为该screen的session name,恢复session的时候用到
./cs_source.sh
观察log未见报错之后使用Ctrl+A+D进行detach(分离,从screen中退出而不结束screen运行的程序,使其后台运行)
退出到SSH后可以使用
screen -list
查看当前运行的screen,及其session name.例如我机器上面就是这样
[root@ippvoid steamcmd]# screen -list There is a screen on: 14132.cs (Detached) 1 Socket in /var/run/screen/S-root.
此时session name为cs,想重新进入该screen 使用screen -r [session name]即可,只有一个session的时候可以省略。
screen -r cs
好啦到这里就结束了CS起源开服的记录~我们下次见>_<
1 评论