Insurgency: Sandstorm

Insurgency: Sandstorm

Not enough ratings
如何在本地游戏中使用模组?
By Oversights2006_
本指南将会既不快速、也不全面的指导你在本地游戏中部署模组,并修改大部分模组中自带可配置的相关参数。因为涉及游戏本身部分内容与适量计算机(软件层面)相关词汇,所以稍安勿躁,耐心阅读,如有疑问,思考再三,尝试自解,若无对策,评论区见。
   
Award
Favorite
Favorited
Unfavorite
一、事前准备
由于沙暴从Source1更换为了UE4,并且使用了Mod.io作为集成模组支持,所以自然的,你应当将重心转移在这俩上面了,它和Valve已经没有关系,SteamWorkshop(创意工坊)也不再需要用到。

  • 为了能正常配置基于UE4的工程,你需要安装Unreal Engine... ...吗?开个玩笑,不需要,只用文本编辑器就可以了,我们需要修改的配置参数都是写进.ini里的(什么是.ini? 它里面储存特定格式的数据,供程序读取相关配置,例如.ymal, .json, .xml, 以及Source1的.cfg都属于配置类型文件);除非你想要直接修改模组里的指定内容,否则就只带上文本编辑器就行了,而且本指南也不会涉及到UE的使用。

关于文本编辑器,如果你的计算机经验不算太丰富,最好使用三方文本编辑器,例如Notepad++[notepad-plus-plus.org],而不是使用Windows自带记事本,因为自带记事本并不会高亮语法与提供其它便捷实用特性。

  • 为了能使用Mod.io的功能,你需要一个能正常工作的网络中继代理/VPN/梯子来访问Mod.io,裸连几乎是不可行的。(当然你要是肉身不在大陆那这步也等于脱裤子放屁了)

叛乱沙暴Mod.io专栏地址 [mod.io]
点击直达Mod发布页,该页面在你打开后应当如下图所示:

更多关于Mod.io的来历与简介,可参考 该文章
二、订阅模组
很好,现在你应该能看见Mod.io的页面了,那么问题来了,我咋样做才能把模组的内容弄到我电脑上呢?

好问题,要做到这点,首先注册Mod.io账号,然后再和Steam账户 绑定,划重点,后面还会再提到。这一步应该很简单吧?我觉得绑定账户这步确实没什么专门说的必要,不过要是有不太熟悉一般网站使用或者英文能力稍欠的朋友,那只能说一下了:
1.点击左侧边栏的头像按钮,弹出悬浮菜单
2.在悬浮菜单栏中选择通过Steam进行登陆

根据情理来说,走Steam接口登陆肯定会绑定Mod.io与Steam账户,但要是在登陆过程中有额外步骤之类的,那还请自行摸索,反正相当简单,因为我懒得也不想在这种步骤上再去解绑、再做过多演示。

那么现在你应该已经登陆上Mod.io了,接下来...话又说回来了,万一我不是Steam平台上购买的游戏呢?万一我是... ...这位兄台,那你自己多摸索两下吧,总之就是我们做的这步要保证的是:

你游戏内登陆的账户是和Mod.io账号绑定的

======================================================================

现在来到模组发布页后,看着琳琅满目的模组,你是否在想,该选啥来玩呢?其实这个话题完全可以做个延伸,不过虽然我很喜欢挥洒文字在我乐意的地方上,但还是尽快简言之。根据本游戏的主要内容与功能实现、一般模组的范畴概念与UE相对而言非常垃圾的模组扩展性来说,可把沙暴的模组分为以下三个类别:Theater、地图、功能,而除地图外几乎所有的模组挂载又均需要通过Mutator来实现。

哎?是不是很想骂人?地图和功能就算了,Theater和Mutator又是什么玩意?不急,既然都来了,那多花几分钟了解了解也并非难事。
  • 什么是Theater?

    这个概念应该要追溯到初代Insurgency。注意,这不是早期需要通过半条命2来挂载的Mod版,而是后来分支并正式在Steam商店出售的独立版本;所以会有一些叫法称其为《叛乱2》。不过时至今日,早期的Mod版叛乱(2007)仍旧在Steam内可以找到并下载。好吧,扯远了,简单来说,Theater在初代叛乱中相当于控制整个游戏中资源与规则该怎么分配的总控,例如地图池,装备添加与配比,装备详细数据,有哪些模式与模式的具体参数等,就在半年多前我曾花了大概一周左右从零开始整合过一个Theater,体验非常不错,当然我只是顺便说一下而已。

    那么在沙暴中,Theater的概念仍旧存在,不过由于在游戏开发具体实现上的差别,沙暴里的Theater基本只局限于对装备和部分非模式相关参数的范畴里了,例如地图与模式是无法再写进Theater里直接选,只能通过控制台指令去控制。(后续会再提到这点)

    所以,Theater这个分类狭义的理解为武器库相关的模组就行。

  • 什么是Mutator?

    简而言之,在沙暴中,任何覆盖默认规则或添加新规则的“规则”,都会通过Mutator(简中翻译应该为突变模式,我目前没用简中玩游戏)去挂载,例如某些你多半已经体验过的、某些原版游戏中自带的“趣味规则”了,比如硬核,高移速、吸血鬼、Frenzy、仅特殊武器、无机瞄等

    同样的,除了地图外,几乎别的所有模组也是需要通过指定Mutator去挂载才可以,例如在知名的ISMC的详情页里,就已经说明了有哪些Mutator,如图红圈所示:
    当然,关于怎么挂载Mutator,有这么多Mutator哪些该用哪些不该用,后面还会再说。

等会,这章节不是说订阅模组的事吗?啊是的是的,事实上在我刚刚提到的概论之后,你应该大致已经知道了这游戏的模组该怎么去选择了,由于我并不打算做什么100%全方位保姆式手把手嘴对嘴教程,并且对于模组的选择也是基于个人喜好的。所以,选择权全部由你自己把控,不过后面的章节里我会例举出若干我自己常用的模组。

我草,你特么bb大半段还是没说咋订阅啊?这位靓仔,其实,这事远比你想象的要简单。
看见那硕大的Subscribe按钮了吗?找到你心仪的模组,然后把鼠标移到它上面,点下去,好了,你已经成功订阅了这个模组,当然,这并不意味着你就可以立马进游戏用了。

接下来,我们需要确认你是否真的成功订阅了某个模组。
目前,我们仍然是通过在外部网站来进行订阅操作的,而你可以在如下图中查看自己的已订阅内容:
勾选My subscriptions,网页会自动筛选出你已经订阅的内容,检查一下,如果有你刚才选择的,那就说明OK。
三、下载模组
合着我光点订阅还不行,还要自己动手下载?哎,实则不然,现在我们可以打开游戏了。
进入到主菜单后,点击MODS选项。

进入MODS选单后,界面应当长这个模样:

这个时候,点击上方的Subscribed按钮切换到自己的已订阅内容,再度检查一下。
注意,这里就是为什么之前提到“严格确保游戏内账户 和 Mod.io账户是绑定的”
如果你绑定的不一样,那你在外部网站进行的订阅和你进游戏的账户就是完全对不上的,那么接下来的下载过程也自然不会正常触发。当然,关于这点我还要继续说明。
  • 如果我绑定的账号不一样,那我咋操作呢?
    嘻嘻,我也不知道。例如你是在GOG上买的游戏,又或者是微软商店里买的,这种应当还是会在最开始登陆时就会绑定。再假如我最初注册Mod.io用的是邮箱或者谷歌的接口,我记得Mod.io账户设定里应该也是有游戏平台账户的绑定选项的,总而言之,言而总之,绑定上吧,不会掉块肉的。

  • 但我又看到游戏内集成的Mod.io和网站上除了显示和操作上有些许差别,但实际上内容都一样,我直接在游戏内的Mod.io操作不就行了?为啥还要专门跑网站上去操作?
    对,这没错,但你总不能时时刻刻都去开游戏去弄吧?又比如,你总得看Mutator的信息知道咋修改配置参数的吧?游戏内集成的Mod.io可做不到这点,当然,你也可以点模组信息进去后的页面里选择在外部浏览器打开该模组对应的Mod.io页面看。总之,你要是非常了解你在干什么,那随意选择就行。结果是一样的,手段就自由发挥了。

现在来看看是如何下载的吧。
在每次启动游戏初始化后,集成的Mod.io都会自动检测你当前账户的已订阅内容与本地mod文件夹,然后判断是否需要进行下载。由于这里我之前已经订阅并下载过了,所以这里展示一下对于新订阅的内容的下载是什么样的:
如图,可以看见这里我们订阅了DeathCam模组,之后会触发下载与解包,查看上方的进度条即可。

进度条显示下载也解包完了呢?很好,通常来说在网络连接顺畅的情况下这里下载完就表示我们已经成功的将指定模组下载到本地了,不过这里我们还是需要去往本地文件里确认是否真的下载完成:
找到你的沙暴安装的路径,并按照下图所示进入存放mod的文件夹。

接下来我们如何得知下载的文件是否完整呢?万一因为途中网络连接出问题导致下载失败呢?
看见上图这些数字命名的文件夹了吗?实际上是对应在Mod.io数据库对应的模组id,那问题来了,我咋知道哪些是哪些的id?很简单,去Mod.io网站上,随机点开任意一个模组,看到如下图圈起来的部分,那就是id,去对应的id找到相应的文件夹就可以了。

现在我们进入到对应id的文件夹,可以看到内容组成如下图所示:
这时候我们点开json文件,其内容应当遵循如下结构:
找到红线部分划出的md5字样,你以为我们会去用md5校验一致性?哎,还真不是,说着玩的。
先别红温,这里的md5实际上应该是对应下载的原始文件,而在我们下载之后,游戏会自动解包出.pak文件到刚才的mod路径里的子文件夹里,所以说,我们能做的也就是去看看子文件夹内的内容是否为.pak文件,以及文件大小是否对应得上。
  • 怎么查看正确的文件大小?点开模组对应的Mod.io详情页,点击右方的DOWNLOAD FILES MANUALLY,即可查看最近更新版本的文件大小。没错,在这里你还可以手动下载不同时期的版本
那如果对不上呢?简单,直接移除掉这个模组的文件夹,重启游戏等待它自检下载即可。

当然,UE的.pak加载也并非只有通过Mod.io,还有很多同为UE制作的游戏并没有接入Mod.io,这时候都是使用手动加载的方式,至于你想要手动下载文件然后试试手动加载?这是个不错的想法,但我就不单独再去做测试了。
四、部署模组(一)
恭喜,现在你应该已经成功的下载了模组。那么是时候试着来在游戏中部署了。
还记得之前提到的Mutator吗?我们现在就要用到它了。进入游戏,打开控制台*,尝试输入如下指令并执行:

open Farmhouse?Scenario=Scenario_Farmhouse_Checkpoint_Security

  • *什么是控制台?控制台的起源,控制台的发展历程,控制台的实用意义,控制台的未来展望...
    开个玩笑,默认情况按下~键即可呼出控制台,我没记错的话可能还需要在游戏的设置菜单里选择是否开启控制台。目前沙暴中仍旧保留实现了一些自Source1甚至GoldSrc就有的指令,例如kill, quit, disconnect等较实用的指令,你应该也会经常用到。

那么问题来了,你这指令输进去就是单纯加载本地游戏的Checkpoint模式里的图啊,模组啥的也没有啊?没错,现在再看这个指令:

open Farmhouse?Scenario=Scenario_Farmhouse_Checkpoint_Security?Mutators=

看见后方拼接的字符了吗?我们除了地图外的模组挂载,统统需要在Mutators后填入对应的Mutator名字才能够进行加载。这就又回到刚开始让你订阅模组的时候了,每个模组的详情页面基本都会写明自己的模组Mutator是什么,除了有些单纯传上来作备份或测试的目的。

例如,我想要玩ISMC1模组(注意啊,ISMC1模组被分为了两个模组去发布,你在Mod.io上会看到的,一个是资产Resource文件,一个才是相关Theater的配置文件,所以这个比较特殊,需要都订阅才能正常用),那么我就可以这样输入指令:

open Farmhouse?Scenario=Scenario_Farmhouse_Checkpoint_Security?Mutators=ISMCarmory_Legacy

此时就会加载ISMC1的主插件中的其中一种。这时候你可能会问了,那不是当时说有好几个Mutator吗?对,没错,所以你需要自己去看别人的详情页里是咋写的,比如ISMC1除了几个不能同时使用的主插件外,剩下的那几个是控制所有角色行动的,比如是否启用硬核模式动画,是否使用慢速移动。

再例如,假如我想玩别的地图呢?哎,我相信肯定有机智的会英语的小朋友已经发现,更改Farmhouse为其它地图名称就可以了,而且Scenario控制的场景还可以变成Insurgents也就是叛军阵营。没错,这里的开图指令同样拥有不少参数可供调整,你可以自行Google,也可以参考我后面上传的我个人自用配置文件。

接下来我们看一下成功的加载好Mutator后的游戏内截图应该是什么样的:
如图,可以看见在选择界面里的右方我们已经拥有了若干“突变模式”

是不是觉得有点绕了?其实静下来想一想就行了,Mutator是沙暴游戏本身的一种加载形式,订阅和下载的是.pak资源文件,很容易区分。

此外,并非所有Mutator都是随便填上就用,但这点我不可能一个一个娓娓到来,因为说到底,你自己得去思考到底哪些能一块用,哪些不能一块用,有些可能实现的功能重复,又或者修改了同一部分,重复、冲突大部分时候并不会导致游戏严重崩溃,只是会被不同优先级加载覆盖掉。

记住最开始我给的分类:Theater,功能和地图。按照这个思路去找,再仔细读作者的说明即可。总之,不可避免的,任何事都需要人去亲自试错才能熟悉并掌握。
五、部署模组(二)
目前我们已经了解如何使用最基本的方式来挂载模组了,那么更多的问题也接踵而至,例如:
  • 我每次想玩模组都得这么干?

  • 比如这局游戏结束了,我还想继续打,但结束后的下一局里进去又变回原版没模组的了,咋回事?

  • 我以前玩别人搭的服务器和我现在本地打的差别很大啊,BOT数量少,每局时间少,补给点也少,不行啊?

慢慢来,首先,对于第一个问题来说,是的,很不幸,每次启动都得这么操作,不过好消息是相应的第二个问题是有解决办法的,我们后面再说。第三个问题,这个问题实际上是游戏本身的配置就可以进行修改的,使用Google直接搜索Insurgency Sandstorm dedicated server config关键词就能找到不少。后面我会提供一份我自用的配置文件。

现在我们回到最上面的两个问题吧,概括一下就是:如何才能方便的挂载模组进本地游戏?
这里我们需要用到一个非常关键的模组,也就是MapVoteLables[mod.io],作者其中的一个实现就是拼接下一轮地图的指定启动参数,也就是说通过这个模组进行换图会自动帮我们输入?Mutators=后所跟的参数,尤其是在我们加载了许多Mutator时会非常方便,同时最重要的是不同地图间也已经实现完全覆盖选择了,配置好这个模组我们每次启动就只用先只挂载这个模组进图就可以无缝衔接用模组了。
MapVoteLabels的运行样式如上两图所示

示范指令:
open Farmhouse?Scenario=Scenario_Farmhouse_Checkpoint_Security?Mutators=MapVoteLabels

备注:
1.UE自带有控制台指令的缓存,位于生成配置文件夹的Input.ini中,你可以在下一章节内找到该文件夹的路径
2.有时候启动游戏后直接使用该指令可能并不会成功加载上Mutator,这时候你可以先开启一轮本地游戏,再使用这个指令重新尝试加载

需要注意的是,MapVoteLabels这个模组目前有一个严重但非致命的问题,在沙暴应该是去年更新的版本后,这个模组在本地游戏时的点选“其它场景”选项会导致游戏崩溃,也就是说这个继承初代叛乱优点的功能等于报废,只能在随机出来的新场景里选,当然,你也可以进对局后开自带的管理员菜单去结束回合并换图(游戏选项内自己调整按键)

在下一章节前,我们还是先说一些注意事项吧。别跳过,很重要。

第一,本地游戏相当于是自建了一个本地服务器,但由于性能和一些基础通信问题,本地服务器相较于一个单独的服务器端,实际上有些功能是缺失的,也就是说,有些模组你会发现不管再怎么配置都无法生效。这点没法,很显然你不可能为了一些不算很重要的体验去租个云服务器,而且也违背了整个教程的根本意义。

第二,所有运算全丢在本地端进行运算可能导致的游戏崩溃问题,尤其在你修改本地游戏里BOT非常多的时候,以及加载了很多拖性能的模组,也许下一次引擎在GC的时候就直接爆内存崩溃了,不要尝试挑战你机器硬件的上限。而且,自从外包给别的工作室更新后,这游戏的优化可以说是越来越鬼扯了。所以为了世界的爱与和平,量力而行。
六、自定义配置(一)
重头戏来了?其实不,写到这的时候我感觉已经马上燃尽了,想法挺多,写了一些也感觉热情快没了。总之,这个章节最开始是打算想详细写一写例如游戏自带的配置参数与一些模组必要的配置参数的,但我想既然重点在于我自己已经写好的配置文件上,那就权当仅供参考,抛砖引玉了。

话不多说,先传文件链接。

个人配置文件外链 [wwuu.lanzouo.com] 访问密码:2006

那么熟悉的感觉又来了,你这文件下了我要放哪儿,咋用?

简单,根据UE工程的普遍尿性,都会把运行产生的信息丢进系统盘的Appdata文件夹里。

啥?什么是Appdata?到哪找啊?

兄弟,这如果还要我专门说的话,那你还是把这教程关了吧。

很好,现在来到了Appdata文件夹,然后按照下图这个路径一路点进去。


这里就是存放通常UE(4)的配置文件的地方了,每个工程(游戏)的配置相互独立,这里我们只需要对Game.ini进行修改即可。注意,在你操作之前,备份好你的原ini配置,使用例如BeyondCompare等对比软件进行文本对比操作即可。当然,我就默认你会这些比较基础的操作了。

你应该会有疑问,这改了Game.ini对我打在线模式有影响吗?答案是,没有。如果真有,那你直接删了等程序重新生成就行了。

我说一下我这份配置里大概都动了什么内容吧。

游戏自带的配置:
  • 大量初始补给点
  • 开启击杀提示
  • 开启被击杀提示(显示距离)
  • 移除友方废物BOT
  • 大幅提升占点所需时间
  • 每个目标点时间为半小时
  • 1.0 BOT难度
  • 固定敌人数量为40,拥有多轮复活波次,想要完全清完每个目标点的敌人应该需要击杀160左右
  • 启用友方复活波次,初始为0,每攻占一个目标点可获得1波次
  • BOT 埋伏与游荡相关参数 基本参考自官匹CO-OP默认,有部分微调
  • 硬核模式(非使用Mutator)重生时不会惩罚移除主武器


启用的三方模组:
  • HUD提示消息(每过2分钟左右提示当前所剩敌人,以及敌人少于3个时会自动播报消息)
  • 自定义生命值(默认300生命值,加入了医生系统,默认按住T键同时看自己脚下即可回血)
  • 第一人称下身(实在没想到沙暴还是这么原汁原味,连个腿部都不做显示)
  • 快速装填(原作者已经实现了多个功能,除了最开始的换弹,现在还有加快拉栓与快速拔枪收枪)
  • 额外备弹(嫌弹药少,榴弹不够爽炸?默认12倍主武器备弹,8倍副武器备弹,50倍榴弹备弹,20倍筒子备弹)
  • 自带电台(只有自己没法叫支援?直接自给自足)
  • 无限支援数量(其中一个修改支援的模组的分支,反正娱乐为主,你也可以拿来练习)
  • 跳射(原版游戏中无法在跳跃的时候射击,现在可以了)
  • 装备检修(提高除榴弹外所有爆炸物的伤害,同时可以捡取更多道具,最多可多捡4个,还可以多捡一把主武器)
  • 移除禁区(想跑到地图外面打黑枪吗?现在可以了,同时还移除了禁区10秒死亡惩罚)
  • 降落伞(从高处跳下时按住空格即可开伞,同时加快了开伞时的移速,利用这点可以极快速转点)
  • 占点帮手(占点完成并触发防守时,会自动生成一个完全隐形无敌的BOT帮你占点,这样你就可以跑出去玩了)
  • 丢弃武器(打空弹药时按下近战键就可以丢枪)
  • 超级支援(归属于MapVoteLabels管理,并行于下列的W武器库,提供几乎变态的支援武器,具体如何自己体验吧)
  • W武器库(归属于MapVoteLables管理,国内作者作品,体积较小同时提供不错的gameplay,类似于ISMC的Theater大修)
  • MapVoteLabels(我已经把所有原版地图的双阵营方向都加上了,此外还分为了两种模式,也就是上面的超级支援或W武器库,因为二者修改Theater导致无法兼容)


注意,上面提到的三方模组你得先订阅下载了才可以用,别兴冲冲的直接啥也不干把配置文件一放就进游戏了。这里我图省事直接截图展示了,根据图里自己去搜了订阅就行。
那我要是不喜欢有些模组呢?简单,配置文件里搜索MapVoteLabels的区域,把拼接挂载的Mutator里去掉你不想要的就行。

再次注意,你会发现我提供的Game.ini是只读属性的,这是因为我写了很多注释,UE4在读取时会自动清除掉注释,假如你没有设置为只读的话。至于你喜欢有还是没有,那就看你了,我只负责说明。
七、自定义配置(二)
那么我们又迎来了一个问题,也是可能最后一个问题了:
我自己想配置别的我喜欢的模组,我该咋做呢?
还是很简单,点进去你喜欢的那个模组的详情页,也正如开头所述,作者通常都会写清楚自己的Mutator的可配置项都有什么,每项的参数都控制啥。参考上图。
把配置项直接按照格式拉下来丢到你的Game.ini里修改即可。
当然,这里再次强调,对于计算机经验稍欠的朋友,务必确保你的格式是对的,可以参考我已经写好的部分,实在不行你把文件丢进去找个大语言模型问吧啊

什么,你还要问怎么才能玩模组地图?能不能把前面我写的看清楚。如果你说的是不知道地图名字的话,那点进去别人地图模组的详情页,他肯定也会写明白的。

更多参考链接:
原版游戏服务器搭建Game.ini配置参考 [github.com]
原版自带的Mutator与相关配置一览 [nodecraft.com]

后记
哦,其实这里是我顺道有感而发写小作文的部分。

还记得应该是19年在另一个账号上买了沙暴,一直没怎么玩,更多的只是对以前Source1时代的一种情怀罢了,后来两年前的时候因为个人安排以及机缘巧合等等原因,又从库里找出了这份续作,也不知怎么回事,后来这代续作我的游玩时间比我想的要多得多。

最开始玩的时候去社区Mod服打,还记得当时社区服挺热闹的,一堆老油条。但没想到过了也就不到三年,服务器不续关的关,人也走了不少,挺唏嘘的。

然后前年年底的时候想着看看能不能自己本地搭模组玩,后来试了试发现可以,然后就偶尔玩玩到现在了。不过一直很好奇为什么到今天我突发奇想写个指南的时候,也还是没有什么公开的中文教程。
不管怎么说,我还是花了个把小时给大致弄出来了。

还记得同时期,也就这一两年内,我心血来潮把cs起源,胜利之日起源,军团要塞2,初代叛乱都下回来过,不知道为什么,老Source1的国内社区虽然也已经差不多凋零,但意外的还是有一些常驻的人始终在玩,三四十,四五十,也甚至还有中学生,就像我以前一样,可能这已经算是一种来自天南海北、别样的老朋友了吧。

不过其实最有趣的是,我其实年龄不算大,甚至可以说有点小,但这种独特的感觉在我较小时接触后就像一种烙印,永久地留在了我脑海里。