Insurgency 大栓服服务器开设指北:其一

摘自[1].

官方服务器的搭建

首先从官方标准服务器搭建开始。我们首先要一台有公网 IP 的 Linux 服务器,假设系统是 CentOS 7,其它系统应该是类似的,只需要改一下安装软件包的指令。

基本要求:10 GB 服务器硬盘空间

安装 SteamCMD

SteamCMD 是命令行式的 Steam,有普通的 Steam 的所有功能,不过因为没有 GUI,资源开销要低很多,适合服务器用。

首先更新下软件包,以及安装基本的依赖软件。以 root 用户登录,在 ssh 中运行以下指令:

yum update
yum install unzip tree screen wget

第一条指令更新系统中的软件包,第二条指令安装必要软件包 unzip(解压),tree(文件列表),screen(后台),wget(下载)。

接下来,参照[2]安装 SteamCMD。

安装 SteamCMD 所需的依赖。

yum install glibc.i686 libstdc++.i686

新建一个普通用户进行下面的操作。也可以用 root 用户进行,不过官方不推荐。

adduser xxx
su xxx

xxx 是普通用户的名字,可以自己起一个。第二条指令从 root 用户切到了普通用户。

进入该用户的家目录(/home/xxx)

cd ~

新建一个给 SteamCMD 准备的文件夹

mkdir SteamCMD
cd SteamCMD

下载并解压 SteamCMD 在这个文件夹

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

到这里 SteamCMD 就安装好了。

安装 Insurgency 独立服务器

启动 SteamCMD,以匿名帐户登录

./steamcmd.sh
login anonymous

安装 Insurgency Dedicated Server

force_install_dir ./insurgency_server
app_update 237410

等待一会儿就装好了。可能出现错误 0x402 啥的,就再输入一次最后一条指令。成功完成后, Insurgency 服务器就基本装好了。

运行服务器

新建或修改 server.cfg 文件

cd insurgency_server/insurgency/cfg
nano server.cfg

这个文件是一些基本的服务器设置,可以参照同目录下的 template 编写。下面是一个例子:

// ---------------------------------------------------------------
// Server Info Options
// ---------------------------------------------------------------
//hostname "[CN]LA DA SHUAN Server - test" // 服务器名字,不能显示汉字,后面可以通过插件解决
rcon_password "stupid_password"    // rcon 密码,我不知道做什么的,建议设置复杂点
sv_password "" //服务器密码,公开服务器留空
sv_pure 0  //纯净,设为0 允许mod

// 这一串是调 tick 的好像,不好用可以全部扔掉
sv_maxrate 128000
sv_minrate 30000
sv_minupdaterate 64
sv_maxupdaterate 128
sv_mincmdrate 64
sv_maxcmdrate 128

sv_timeout 125 //连接超时,别设太短了

mp_coop_lobbysize 8 // 最大玩家数,实际情况由地图和theater决定

spec_freeze_enable 0  //死亡回放,0不启用
sv_battleye 0 //不启用 BE反作弊(有VAC这玩意没什么用)

//---------------------------------------------------------------------------
//SourceMOD Plugins //SourceMOD插件选项,目前还没有装

plugin_option 0 //占位的,没有用处

//---------------------------------------------------------------------------

// ---------------------------------------------------------------
// Server Logging Options 日志选项
// ---------------------------------------------------------------
log on
sv_logbans 1
sv_logecho 1
sv_logfile 1
sv_log_onefile 0


sv_deadtalk 1 //上帝视角也能发言
sv_hud_deathmessages 1 //Death message

// ---------------------------------------------------------------
// Game Mode Options (Change text with in the quotes)
// ---------------------------------------------------------------
// "mapcycle.txt" - by default this contains the most popular options
// "mapcycle_all.txt"  - all possible map/mode combinations for PvP
// "mapcycle_ambush.txt" - only ambush (VIP) mode
// "mapcycle_attackdefend.txt" - mix of attack/defend modes
// "mapcycle_cooperative.txt" - checkpoint, outpost, hunt
// "mapcycle_firefight.txt" - all firefight maps
// "mapcycle_flashpoint.txt" - all flashpoint maps
// "mapcycle_infiltrate.txt" - all infiltrate (CTF) maps
// "mapcycle_objrespawn.txt" - all modes featuring respawning for completing objectives
// "mapcycle_occupy.txt" - all occupy maps
// "mapcycle_push.txt" - all push maps
// "mapcycle_singlelife.txt" - mix of all single life modes
// "mapcycle_skirmish.txt" - all skirmish maps
// "mapcycle_workshop.txt" - used by Workshop system
mapcyclefile "mapcycle_checkpoint.txt" //用官方检查点地图列表

// ---------------------------------------------------------------
// Enabling Matchmaking (Change text with in the quotes)
// More info: https://steamcommunity.com/app/222880/discussions/2/558746089590579609/
// ---------------------------------------------------------------
// "pvp" (Player vs Player)
// "custom" (Custom rules and modded servers)
// "coop" (Cooperative)
sv_playlist coop //会显示在合作服务器列表中

然后开放服务器的端口,以便客户端连接。一般去服务器提供商的网页找找。游戏默认的端口是 27015/udp,没有修改的话就开放这个。

最后,使用 screen 运行服务器!

screen -S ins /home/xxx/SteamCMD/insurgency_server/srcds_run -port 27015 +map district_coop +maxplayers 32 -workshop

解释一下,上面一串是 srcds_run 文件所在的目录,指定在 27015 端口运行,初始地图为 district_coop, -workshop 添加创意工坊支持。

等一堆代码跑完以后,终端出现了什么 VAC 正在运行之类的句子,就可以把 screen 切到后台了。快捷键是 Ctrl+A,再按 D.

如果要切回来:

screen -r
screen -r ins

第二条指令是指定窗口名字的切换,如果只有一个窗口在后台用第一条指令就行了。

如果要杀掉窗口(结束服务器运行),快捷键是 Ctrl+A,再按 K。

到这里,官方规则的 coop 服务器已经运行起来了,可以去游戏里看看有没有。


  1. https://steamcommunity.com/sharedfiles/filedetails/?id=854506744 ↩︎

  2. https://developer.valvesoftware.com/wiki/SteamCMD#Downloading_SteamCMD ↩︎

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注