《异形丛生:反应下降》服务器搭建指南

0 点赞
异形丛生:虫启天降 (Alien Swarm: Reactive Drop)
转载

搭建并设置游戏专用服务器(Dedicated Server)的指南。 前言 目前网络上的中文《Alien Swarm: Reactive Drop》服务器搭建教程都不甚清晰简洁,为此,我决定写下这篇指南,希望能帮助更多玩家顺利搭建自己的服务器,共同建设ASRD游戏社区。 相比玩家主机开房,专用服务器有以下几个优点: 更稳定:长时间运行不掉线,适合24小时开放 更低延迟:部署在云服务器等高带宽环境中,连接更顺畅 更多玩家:玩家更倾向于低延迟的服务器,方便认识新玩家新朋友 本指南主要基于我自己的搭建经验撰写,过程中也参考了官方英文教程、其他大佬的开服教程等。在此我对各位创作者、分享者和给我提供过帮助的大佬们表示衷心的感谢。 如果你也希望拥有自己的服务器,或者单纯想学习一下专用服务器的搭建流程,欢迎阅览本篇指南。 云服务器设置 搭建专用服务器需要一台运行稳定、网络通畅的机器。服务器的硬件配置要求可参考官方英文教程: https://steamcommunity.com/sharedfiles/filedetails/?id=911978626 不过我觉得这个推荐配置不是很准,可自行根据预算和需求调整 本指南默认你已拥有一台可远程连接的云服务器(如阿里云、腾讯云等),并能使用远程桌面等进行操作。关于云服务商的选择与连接方法,本文不再赘述。 协议与端口说明ASRD的网络通信使用的是 UDP 协议。本指南以端口 27015/UDP 为例。 为了确保其他玩家能连接你的服务器,需要完成以下两个步骤的防火墙设置: 1. 本地操作系统防火墙设置 打开“控制面板” → “系统与安全” → “Windows Defender 防火墙” 点击左侧“高级设置”进入“高级安全 Windows 防火墙” 新建入站规则: 类型:端口 协议:UDP 特定本地端口:27015 操作:允许连接 配置范围:所有网络 命名规则并保存2. 云服务商防火墙(安全组)设置大部分云平台都自带安全组功能,相当于额外的一层防火墙。你需要在安全组规则中放行UDP端口。 以阿里云为例: 登录云服务器控制台 → 你的实例 → 进入“安全组” 添加入方向规则: 协议类型:UDP 端口范围:27015 授权对象:0.0.0.0/0(所有IPv4)注意:两个防火墙必须都开放端口,否则其他玩家将无法连接你的服务器。 如有需要,可自行修改端口;开放多个端口可在一台云服务器上开多个游戏服务器。 这一章重点是确保网络通畅。完成以上设置后,你的云服务器就能作为一台ASRD(其他游戏也可以)服务器的基础平台了。 下载 SteamCMD 与游戏服务器 要搭建 ASRD 的专用服务器,首先需要使用 SteamCMD 下载服务器程序。SteamCMD 是 Valve 官方提供的命令行工具,用于获取和更新游戏服务器文件。在云服务器使用Steam客户端也可以,但硬件要求高于SteamCMD,登录下载等步骤也较为繁琐。 下载与安装 SteamCMDSteamCMD官网 SteamCMD下载链接 解压并将 steamcmd.exe 放在一个为 SteamCMD 准备的独立文件夹内,例如 C: steamcmd 可直接双击steamcmd.exe或使用命令行启动SteamCMD cd C: steamcmd steamcmd 初次打开SteamCMD时会自动下载创建更新文件,准备完毕后窗口会显示 Steam>下载ASRD专用服务器进入SteamCMD后,依次输入以下指令: 设置你的应用安装目录(可选) force_install_dir <路径> // 可选,若不设置则为默认路径 // C: steamcmd steamapps common 使用匿名账户登录Steam login anonymous 下载或更新并校验 ASRD 专用服务器 app_update 582400 validate 下载完成后退出SteamCMD quit执行完以上命令后,文件夹中就会生成一套完整的专用服务器文件。 (默认为C: steamcmd steamapps common Alien Swarm Reactive Drop) Tips: 如果下载中断或文件缺失,可以重复运行 app_update 582400 validate 命令多次直到没有更多的更新内容即可。 可以在steamcmd.exe所在文件夹下创建批处理文件来一键执行指令,例如: 在C: steamcmd创建UpdateServer.bat,内容为 steamcmd +login anonymous +app_update 582400 validate +quit(使用加号即可追加更多指令) Alien Swarm: Reactive Drop游戏的appid为563560,专用服务器(Dedicated Server)的appid为582400,但是两者下载的内容相同,无论使用哪个appid均可。 游戏服务器配置 完成服务器文件下载后,还需要进行一些基础配置,并准备好启动脚本,才能正式运行你的 ASRD 专用服务器。 配置文件server.cfg进入你刚才下载服务器的文件夹,修改 reactivedrop cfg server.cfg 默认路径示例: C: steamcmd steamapps common Alien Swarm Reactive Drop reactivedrop cfg server.cfg如果 server.cfg 文件不存在,可以手动新建一个。 使用文本编辑器,编辑 server.cfg,内容可参考官方英文教程中的Optimizations章节: https://steamcommunity.com/sharedfiles/filedetails/?id=911978626 又来了,官方教程太久没更新,建议根据自己情况进行调整,或与大佬们交流讨论 编写启动脚本在服务器根目录下(srcds.exe所在的文件夹,示例为C: steamcmd steamapps common Alien Swarm Reactive Drop)新建一个 .bat 文件,例如 StartServer.bat,示例内容如下: srcds.exe -console -game reactivedrop -tickrate 60 -port 27015 +map lobby -maxplayers 8 +exec server.cfg +hostname "[CN猫猫大豪斯] Neko's House"参数说明: -console //以控制台模式运行,方便查看输出 -game reactivedrop //指定游戏为 ASRD -tickrate 60 //服务器tick,默认为60 -port 27015 //服务器端口 +map lobby //启动后默认加载的地图 -maxplayers 8 //服务器人数上限 +exec server.cfg //执行cfg文件 +hostname <房间名> //设置服务器名称 保存后双击运行 StartServer.bat 即可启动服务器。 此外,可以通过bat文件写一个简单的脚本,在服务器崩溃时自动重启 srcds.exe。完整的StartServer.bat示例如下: cd %~dp0 echo off cls echo Protecting srcds from crashes... title srcds ReactiveDrop1 :srcds echo (%time%) srcds started. start /wait /high srcds.exe -console -game reactivedrop -tickrate 60 -port 27015 +map lobby -maxplayers 16 +exec server.cfg +hostname "[CN猫猫大豪斯] Neko's House" echo (%time%) WARNING: srcds closed or crashed goto srcds 至此,服务器应当可以正常运行,并可在游戏服务器列表中搜索并连接。 其他问题说明 在服务器搭建与运行过程中,可能会遇到一些常见问题或困惑,以下是一些建议与补充说明。 服务器无法启动 / 缺少DLL报错如果你在启动 srcds.exe 时遇到以下问题: 无反应,窗口一闪而过 报错提示缺少某个 .dll 文件(如 MSVCP140.dll, VCRUNTIME140.dll 等)很可能是服务器系统缺少 Visual C++ 运行库所导致,尤其是新服务器。 解决方法: 安装 Microsoft Visual C++ Redistributable(运行库) 中文乱码问题ASRD 使用的控制台(srcds.exe)较老,对字符编码支持有限。如果你发现控制台标题栏或输出中中文出现乱码,可以通过调整控制台编码方式来修复。 解决方法: 创建一个.reg文件并使用文本编辑器编辑,示例如下: 乱码补丁.reg [HKEY_CURRENT_USER Console C: steamcmd steamapps common Alien Swarm Reactive Drop srcds.exe] "FaceName"="Consolas" "LineWrap"=dword:00000000 "FilterOnPaste"=dword:00000000 "LineSelection"=dword:00000000 "FontSize"=dword:00100000 "CodePage"=dword:0000fde9 "FontWeight"=dword:00000190 说明: 针对 srcds.exe(Alien Swarm Reactive Drop 服务器的控制台程序)进行特定配置: "FaceName"="Consolas" 指定字体为 Consolas。 "LineWrap"=dword:00000000 禁用自动换行。 "FilterOnPaste"=dword:00000000 禁用粘贴过滤,允许粘贴任何文本,不会自动去除不可显示的字符。 "LineSelection"=dword:00000000 禁用行选择功能。 "FontSize"=dword:00100000 设置字体大小为 16。 "CodePage"=dword:0000fde9 将 srcds.exe 的代码页设置为 65001(即 FDE9 的十六进制),对应 UTF-8。 "FontWeight"=dword:00000190 设置字体粗细。 保存后双击添加进注册表,若你的srcds.exe路径不同,需要对第一行的路径进行修改,其余可根据需求自行调整。 即便如此,在服务器名称设置为特定长度的中文时,仍然会出现乱码,原因不明,临时解决方法为在服务器名称中加入一些符号或英文字母,如果大家有什么解决办法,欢迎交流讨论。 服务器无法显示库存徽章这个问题目前原因不明,可能与服务器网络环境或缺失某些文件有关。 临时解决方法: 在服务器系统上安装Steam客户端(打开并等待更新完毕即可,不需要登录) 启动一个 Steam 加速器(如Steamcommunity 302) 重启服务器 关于模组的安装方式ASRD 支持加载 Steam 创意工坊中的地图与模组,服务器端有两种加载方式: 方法1:通过配置文件自动订阅 编辑 reactivedrop cfg workshop.cfg(若没有可自行创建),添加如下内容: rd_enable_workshop_item <创意工坊物品代码>服务器将在重启时自动下载或更新创意工坊物品。 方法2:手动安装 .vpk 文件 将.vpk文件放入: reactivedrop addons服务器启动后会自动加载模组内容。 多开服务器的方法复制srcds.exe在同一文件夹下,使用其他命名,如srcds2.exe。 再创建一个启动srcds2.exe的.bat文件,更改服务器名等配置与端口号,如: srcds2.exe -console -game reactivedrop -tickrate 60 -port 27025 +map lobby -maxplayers 8 +exec server.cfg +hostname "[CN猫猫小豪斯] Neko's House" 文件路径结构示例如果你的步骤与本指南的步骤相同,则最终的文件路径将类似于这样:(同时列出了需要关心的文件的路径与作用) C: steamcmd ├── steamcmd.exe ├── UpdateServer.bat ← 更新服务器的批处理脚本 ├── steamapps common Alien Swarm Reactive Drop │ ├── srcds.exe │ ├── StartServer.bat ← 启动服务器的脚本 │ ├── reactivedrop │ │ ├── addons ← 手动安装 .vpk 插件的路径 │ │ ├── cfg │ │ │ ├── server.cfg ← 服务器配置文件 │ │ │ ├── workshop.cfg ← 创意工坊物品订阅 常用指令srcds.exe中可以使用一些控制台指令,具体指令可以通过下面的网址,或在游戏控制台使用find指令查询。 控制台指令列表 便于管理的 SourceMod 插件(待补充)SourceMod 插件能让管理员更方便的管理服务器(自己开房也可以用)。由于时间和篇幅原因,暂不展开讲解。 这部分待日后补充,如有兴趣可查阅 SourceMod 官方文档或其他教程。 结语 感谢你阅读完这篇《Alien Swarm: Reactive Drop》专用服务器搭建指南! 本指南基于我个人搭建“猫猫大豪斯”服务器的经验、官方的教程文档和其他玩家的分享整理而成,内容难免有疏漏或局限。如果你在搭建过程中遇到问题,或有改进建议,欢迎在评论区留言或私信我讨论,我们可以一起完善这份指南。 同时,也欢迎加入我们的服务器,和其他玩家一起交流、学习、游玩。 这个游戏虽然已有些年头,但依然拥有坚实的玩法基础和潜力,依然不断有新人加入。希望更多热爱它的玩家能加入进来,自己动手搭建服务器、制作地图或模组、建设活跃社区,让这个经典游戏继续焕发光彩。