CS起源服务器架设

刚过完年,正没事干呢突然就被安利了这个……然而这游戏和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环境,显示如下

Steam>

此时键入

login anonymous

即用匿名身份登入

之后用

force_install_dir /home/css/

来强制指定安装目录,目录自选

之后下载服务端,下载指令为

app_update <app_id> [-beta <betaname>] [-betapassword <password>] [validate]
如
Steam>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 "[email protected]" 

// 远程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.例如我机器上面就是这样

[[email protected] 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起源开服的记录~我们下次见>_<