原创
禁止白嫖奖励箱
这是个啥
在多人服务器里,常有玩家不接任务就直接跑进任务 POI,把里面的任务奖励箱(保险箱 / 密封运输箱等)顺手撬开白嫖装备。本模组在玩家加载区块时,自动清除”非任务建筑”里的奖励箱,让奖励只属于真正接了任务、跑了图的玩家。
不会误删 —— 智能保留
满足以下任意一条的 POI,奖励箱会被完整保留:
→ 正经做任务的玩家体验完全不受影响,被清的只有”没人接任务却敞开放着”的白嫖箱。
识别方式:完全以配置文件为准
⚠️ 本模组不做任何”自动猜测”。哪些箱子算奖励箱,100% 由 Config.xml 里你填的方块名决定。
这样做的好处:精准可控、零误删;你的服务器装了什么自定义箱子,填进去就能删,不会动到不该动的东西。
已内置开箱即用的原版奖励箱:
工作原理
挂在区块加载回调上 —— 玩家加载到哪个区块,才处理哪个区块,不做全图扫描,对大地图服务器友好。
既能处理带容器实体的保险箱/英雄箱,也能处理没有实体、纯方块形态的”密封运输箱”(这类箱子开启后才会变成战利品容器,普通容器扫描根本抓不到,本模组按方块数据直接识别)。
识别在加载阶段只读入队,真正删方块统一放到主线程逐帧执行(可限速),避免卡顿与线程冲突。
只在服务端/单机宿主运行并同步给客户端,玩家无需安装。需服务端启用官方自带的 0_TFP_Harmony。
安装方法
-
把整个
禁止白嫖奖励箱文件夹放到服务端的Mods\目录下。 -
确认文件夹内含
ModInfo.xml、Config.xml、NoFreeQuestReward.dll。 -
重启服务器即可生效。
配置说明(Config.xml)
| 配置项 | 默认 | 说明 |
|---|---|---|
| extraBlockNames | 已内置 | 核心。要清除的奖励箱方块名清单,按内部方块名精准匹配。 |
| excludeBlockNames | 空 | 白名单:列在这里的方块名即使命中也不删。 |
| extraLootListNames | 空 | 可选:按战利品表名额外识别奖励箱。 |
| excludeLootListNames | 空 | 白名单:列在这里的战利品表名不删。 |
| keepIfActiveQuest | true | 有在线玩家进行中任务指向该 POI 时保留。 |
| keepIfRecentlyQuestRefreshed | true | 该 POI 最近被任务刷新过时保留。 |
| maxRemovePerFrame | 20 | 每帧最多移除数量,防瞬时卡顿。 |
| enableDebugLog | false | 输出每次移除/保留的调试日志。 |
| debugLogAllLootContainers | false | 诊断模式:把每种容器的方块名各打印一次,专门用来找方块名。 |
怎么加自己服务器的奖励箱?
-
把
debugLogAllLootContainers设为true,重启进图走一圈。 -
在服务端日志里找形如
[扫描] block=xxx loot=yyy的记录,看你想清的箱子叫什么。 -
把那个
block=名填进extraBlockNames,重启生效。完事后把诊断改回 false。
注意事项
enableDebugLog 观察判定,确认无误再关。适用版本
7 Days to Die 3.0 专用服务器 / 单机宿主。需服务端启用官方自带 0_TFP_Harmony 模组(默认即开)。
有问题、需要适配自定义箱子,欢迎跟帖反馈 👇
隐藏内容需要付费才可以看见








鄂公网安备42011202002543号



