Works with

  • 简单状态
  • 自定义状态框架
  • 氏族
  • 经济学
  • 服务器奖励
  • 区域管理器
  • 真正的 PVE
  • 通知
  • 废弃基地
  • 技能树
  • Water Bases Rust 插件 – Lone Design
  • Water Bases Rust 插件 – Lone Design
  • 驳船

显示简要信息

关于 Raid Protection

终极基地保护插件,允许玩家支付资源以换取对其基地或拖船的可配置保护。此插件已针对性能、质量和集成社区建议的功能进行了彻底重写。

 

特征

panel-small.png.e63dcece004676c01e4b9564beedcdf8.png

 

您可以通过多种不同的方式配置此插件以满足您的服务器需求。许多功能可以完全通过插件配置文件进行修改或禁用。这些包括:

  • 在线和/或离线基地保护
  • 交易货币以获得保护或免费提供
  • 玩家可以打开/关闭保护
  • 基于权限的保护层
  • 配置受保护的内容以及保护对象
  • 设置保护持续时间的限制
  • 用于显示基地保护的指示灯
  • 如果掠夺者可以通过伤害耗尽保护余额,则允许掠夺者绕过保护的选项
  • 为较大的基地/氏族提供更昂贵的保护,而为小团体提供更便宜的保护选项。
  • 与原版 Rust 无缝融合的 UI。

免責聲明

此插件将由所有者自行决定更新。在购买任何插件之前,我建议检查上次更新的日期并参考支持票,看看最新的 Rust 游戏版本是否存在任何问题。如果游戏更新破坏了此插件,请打开支持票(如果尚不存在)并在 Discord 上直接给我发消息(链接在下面找到)。

如何使用

  1. 配置插件并加载它
  2. 加载后,为您自己(或您的组)分配一个保护级别权限。
  3. 放置一个新的工具柜,或找到您之前放置的工具柜。
  4. 打开工具箱库存,在顶部您应该会看到两个选项卡:“维护”和“保护”。选择保护选项卡以查看 RAID 保护信息。
  5. 在此屏幕上,您将能够花费配置的货币以购买数小时的保护。默认情况下,此货币为 scrap。
  6. 使用右侧的按钮添加一些小时的保护,您应该会看到该状态发生变化,以显示您受到保护的时间。
  7. 您的基地现在将在指定的时间内受到保护。

笔记

  • 您可以使用 Clear 按钮提取所有余额并停止保护
  • Pause/Resume 按钮可用于在不更改余额的情况下启动/停止保护。
  • Info (信息) 按钮将显示一个面板,其中显示有关保护的其他信息。
  • +Max 按钮将存入您可以承受的最大时间

 

快速入门预设

这个插件有很多文档,因为你可以用它做很多事情!但是,它不必很复杂。如果您心中有一个简单的用例,则可以使用这些预设配置之一来获取所需内容,或者将其用作起点,而无需自己弄清楚!

重要: 您需要为默认权限组分配 raidprotection.level.1 权限,以用于这些配置中的任何一个。

  •  永远免费
    • 为所有具有 1 级权限的玩家提供免费的突袭保护
    • 拖船底座保护
    • 推荐用于 PvE 或轻型 PvP 服务器
  • 仅限离线
    • 与默认配置相同,但仅提供离线保护
    • 1 级保护限制为 48 小时
    • 包括 2 级权限和无限小时保护 (VIP)
    • 拖船底座保护
    • 推荐用于 PvP 服务器
  • 硬核
    • 仅脱机保护
    • 两个保护级别,一个有 48 小时的限制,一个没有限制
    • 根据业主数量和建筑规模增加的额外成本
    • Raiders 可以损坏结构并导致其“流血”保护平衡,以尝试以足够的伤害来禁用保护
    • 激活保护的显著延迟
    • 拖船底座无保护
    • 推荐用于硬核 PvP 服务器

升级版本

当新版本发布时,您可能需要删除 config 和 lang 文件并重新加载它们以适应新的更改。除非有特别说明,否则您不需要删除数据文件。只要您不删除数据文件,您的所有保护余额就会保留,即使在版本之间也是如此。并非所有更新都需要此过程,但如果需要,您将收到如下消息的通知:

要解决这个问题,只需删除 config 和 lang 文件并重新加载插件。您需要手动更新这些文件以符合您的需求。

从 v3.4.0 开始,从以前的版本升级时,您不再需要删除配置文件。但是,您仍应在安装更新后检查配置,以验证是否未发生意外更改。

保护级别

image.thumb.png.64e7efbd00aa4954758096246fd28874.png

保护级别是向玩家分配一组特定规则的方式。这些保护级别将添加到配置文件中,然后分配给自动生成的权限。

每个保护级别都需要一个唯一的 Rank 属性,此 Rank 决定了为玩家分配多个保护级别时的优先顺序。在这种情况下,玩家的保护等级将始终是他们获得的最高等级保护等级。

保护级别在配置文件中进行管理,以下是有关某些属性的一些信息:

  • 每次受保护的 损坏成本 – 此金额将从每个受保护的损坏点的保护余额中扣除。因此,如果此值设置为 1,并且有人试图对受保护的结构造成 100 点伤害,并且该结构具有 100% 的保护,那么将扣除 100 点余额。如果在同一示例中只有 50% 的保护,则只会扣除 50 余额。实体抗性也被考虑在内(树枝会比金属受到更多的伤害,等等)。
  • 每小时基本成本 – 这是按每小时保护收费的固定成本。
  • 每个授权玩家的小时成本 – 此金额将按每个所有者每小时收取一次。如果玩家的军团规模较大,可以用来向玩家收取更多费用。
  • 每层楼每小时费用 – 此金额将按每层楼每小时收费。可用于为玩家收取更多费用以保护更大的基地。
  • 最长保护时间 – 可以申请保护的最大小时数。如果设置为 null,则没有限制。
  • 脱机保护百分比 – 当所有所有者都处于脱机状态时,结构将获得的保护百分比。值 0 将不受保护,值 100 将受到完全保护。
  • 在线保护百分比 – 当至少一个所有者在线时,结构将获得的保护百分比。值 0 将不受保护,值 100 将受到完全保护。
  • Rank – 一个数字值,表示当为玩家分配多个保护等级时的重要性顺序。值越高表示重要性越高。例如,如果玩家同时被分配了保护等级 1 和保护等级 2,那么他们放置的工具柜将是保护等级 2 而不是 1。这些等级必须是唯一的,请勿创建具有相同等级的保护级别。此值需要为 1 或更高,不能为 0。
  • Delay after 受到伤害 – 在结构受到未受保护的伤害后,保护可以开始的秒数。建议在 PvP 服务器上将其设置为更高的数量。
  • 离线保护延迟 – 在最后一个拥有者离线后,离线保护开始之前的秒数。建议在 PvP 服务器上将其设置为更高的数量。
  • 当所有者离线时,伤害会重置计时器 – 如果将此设置为 true,则如果突袭已经在具有仅离线保护的结构上开始,但保护尚未生效(由于延迟计时器),则攻击者可以无限期地继续突袭,只要他们在所有者离线时继续造成伤害。如果设置为 false,则当所有者离线时,攻击者将只有一定的时间来继续他们的突袭。
  • 允许拖船保护 – 如果设置为 true,则具有此保护级别的玩家可能会获得拖船基地的保护。对于这些拖船底座,可以在船的燃料库存中访问保护板。拖船基地的创始人是第一个授权拖船的玩家。
  • 创始人限制 – 玩家可以成为创始人并获得突袭保护的工具柜数量。如果玩家超过此限制,则未来的工具柜将不会受到保护,直到摧毁足够多的先前放置的工具柜以使其处于限制范围内。如果玩家放置了一个工具柜,并且他们已经超过了限制,一旦他们不再超过限制,他们就可以在信息面板中“激活”该工具柜,让它获得突袭保护。如果此值设置为 null,则没有限制。

 

创始人和所有者

owners-small.png.0326567016cf80e695b0e5ec66eaa2e5.png

放置工具柜后,放置它的玩家将被永久标记为该工具柜的“创始人”和建筑特权。该建筑特权的保护级别完全源自创始人的保护级别,因此除非创始人的保护级别发生变化,否则不会改变。

每当玩家在工具柜上获得授权时,他们将被永久标记为该工具柜的“所有者”。所有者是所有参与者,包括创始人,他们曾经在工具柜上获得授权。这意味着,即使玩家取消了自己的授权,他们仍将被列为所有者。所有者很重要,因为他们会影响 Online/Offline 保护的触发方式。只有当所有所有者都处于离线状态时,才会授予基地离线保护,否则,如果至少有一个所有者在线,则会授予在线保护(如果有)。

对于拖船基地,创始人是第一个授权自己在拖船上的玩家。

 

权限

  • raidprotection.admin
  • raidprotection.level.x – 这些权限是根据配置中的保护级别设置自动生成的,当插件加载时,它们将显示在服务器控制台中(除非您将 Enable Console Messages 设置为 false)
  • raidProtection.ignore – RAID Protection 不会将任何具有此权限的玩家视为所有者。他们不会显示在所有者列表中,也不会计入离线保护的团队成员计数。即使他们被分配了保护级别,他们建造的基地也不会得到保护。这对管理员组很有用,这样您就不必记得在工具箱上取消身份验证。但是,如果此权限被撤销,则该玩家将被追溯计为当前认证的所有工具柜的所有者。

 

命令

播放器命令

这些命令不需要任何权限,任何玩家都可以使用。

  • /pro – 显示 RAID 保护信息面板,需要在当前区域的 Tool Cupboard 上授权。
  • /lev – 显示一个屏幕,告诉玩家他们个人分配的保护级别,并解释随之而来的好处。

管理员命令

这些命令需要 raidprotection.admin 权限才能使用。

  • /tc – 显示一个包含所有可用 admin 命令的屏幕
  • /tc 帮助 – 与 /tc 相同
  • 使用上述命令可在游戏中查看完整的命令列表。

 

配置

默认配置文件:
以下是对一些字段的解释:

  • Enable Logging – 设置为 true 可保留 Tool Cupboards 保护活动的日志。日志将保存到 oxide/logs/RaidProtection 文件夹中。建议仅出于调试目的启用此功能,因为如果您有更大的服务器,它将占用大量存储空间。
  • Enable Ledger – 设置为 true 以跟踪 Tool Cupboard 的保护余额更改。这些账本文件存储在 oxide/data/RaidProtection/Ledgers 中。建议保持启用此功能,因为如果玩家出现问题,它将帮助您回滚余额。这不会像日志记录那样占用太多存储空间,因为它只跟踪余额。
  • 启用控制台消息 – 设置为 false 可在插件重新加载时禁用信息消息。
  • 命令 – 您可以在此处更改此插件使用的命令的前缀。
  • 聊天消息图标 ID – 用于聊天消息肖像的 Steam ID。
  • 保护标签偏移 – 此值将调整保护标签在工具柜菜单中的垂直位置。正值将使其向上移动,负值将使其向下移动。有助于使这些选项卡不会与使用该区域的其他 UI 插件冲突。
  • Image Settings (图像设置) – 插件使用的图像的链接。
  • 指示器设置 – 当您攻击受保护的结构时(默认情况下)显示在右上角的指示器的设置。您可以更改其大小和位置或禁用它。
  • 插件集成 – 如果您希望此插件利用其他受支持插件的功能,请将其中任何一项设置为 true
  • 自定义状态框架设置(如果未启用自定义状态框架集成,则忽略)
    • Popup Attack Indicator – 如果设置为 true,则当玩家攻击受保护的结构时,将短暂地显示一个状态。
    • Persistent Status For Owners – 如果设置为 true,则当玩家位于其所有者所在的受保护区域中时,将显示状态。启用后性能消耗略高。
    • Persistent Status For Non Owners – 如果设置为 true,则当玩家位于其不是其所有者的受保护区域中时,将显示状态。启用后性能消耗略高。
    • 装备锤子时的弹出状态 – 如果设置为 true,则当他们拿着锤子时,会出现一个状态,指示他们所在区域的保护等级。无论您是否是该区域的所有者,都会显示此字段。
  • 保护设置
    • 取消授权时已删除管理员所有者 – 通常,即使所有者取消授权,您也无法删除该所有者。但是,如果启用此设置,则允许管理员在从工具箱取消授权时将自己作为所有者删除。他们还可以通过命令来实现这一点。
    • 允许余额提取 – 如果设置为 true,则玩家将在工具柜面板中看到一个“清除”按钮,允许他们提取任何保护余额。
    • 允许最高存款 – 如果设置为 true,将有一个“+Max”按钮,该按钮将购买玩家可以承受的最大保护小时数。
    • 销毁橱柜时奖励剩余余额 – 如果设置为 true,则摧毁工具柜的人将获得保护余额中的任何金额。
    • 货币物品 – 将用作保护货币的物品,只有当您使用服务器奖励或经济作为您的货币时,才会被覆盖。如果希望它是具有皮肤的自定义项目,则可以在项目名称后加上 # 后跟皮肤 ID。例如,“scrap#12345” 只接受皮肤为 12345 的废料物品。
    • 受保护实体 – 如果其中任何一个设置为 true,则该类型的实体将包含在 Raid 保护中。如果您使用的是其他保护插件,例如 TruePvE,那么您将需要将这些插件配置为不与其他插件正在保护的内容重叠。
    • Protected from – 如果这些设置为 true,则来自该类型源的损害将受到保护。默认情况下,Authed Players 设置为 false,这意味着玩家将能够损坏自己的结构,但敌方玩家不能。
    • 保护级别 – 有关信息,请参阅有关保护级别的部分。
    • Protect twig – 如果设置为 true,则 twig 构建块将获得 RAID 保护。如果设置为 false,则 twig 构建块将不会获得突袭保护,即使由基地的所有者放置也是如此。

明细账

从 Raid Protection v3.2.0 开始,您可以选择将分类账配置为启用。启用后,该插件将保留所有 Tool Cupboard 的日志保护平衡更改。这些日志将保存到 oxide/data/RaidProtection/Ledgers。每个 Tool Cupboard 都有一个 ledger 文件,其 filename 将作为该 Tool Cupboard 的实体 ID。您可以使用 /tc id 命令查看工具箱的 ID 是什么(请参阅命令部分)。分类账的好处是,每个余额更改都有一个特定的 GUID 标识符,可用于在玩家出现问题时将工具柜的余额恢复到该确切状态。账本文件的示例可能如下所示:

ID 为 2250729 的工具柜的分类帐文件

[
  "05/26/2023 16:17:56,ad87f16e-52eb-4689-887f-ecc53cd3ff13,0,Withdraw",
  "05/26/2023 16:18:20,108e54c0-98c4-46df-9eb3-e17192c37bb3,0,CollectionStopped",
  "05/26/2023 16:18:23,a2f03162-200c-47ce-948e-b0c703435e51,0,CollectionStarted",
  "05/26/2023 16:18:28,5c83390e-bbd2-4049-8ec9-8f2951746159,0,Withdraw",
  "05/26/2023 16:19:29,cd892a3f-249b-4cad-8949-abf904656288,20,Added",
  "05/26/2023 16:19:31,6e710dfc-23c2-4375-8c4f-07017d4d44c6,40,Added",
  "05/26/2023 16:19:31,bc51f8c7-3f3a-4abc-8fd2-8bb4c47fe454,60,Added",
  "05/26/2023 16:20:25,f08cfa34-a623-4de3-9027-7c3acb3e3ec3,60,CollectionStarted",
  "05/26/2023 16:20:52,a849be59-899c-4779-bba6-2f5f1b0ffb8d,59.93055,CollectionStopped"
]

每行的格式如下,从左到右由命令分隔。

  • 余额活动的日期和时间
  • GUID 标识符,由 /tc restore 命令用于回滚余额
  • 在给定时间工具柜的保护余额
  • 关于这种平衡发生了什么变化的简短描述性原因

例如,使用上面列出的账本文件,如果我们想将 Tool Cupboard 回滚到集合开始之前(最后一个 “Added” ),我们可以运行以下命令。

/tc restore 2250729 bc51f8c7-3f3a-4abc-8fd2-8bb4c47fe454

运行此命令会将 ID 为 2250729 的工具柜的余额设置回其余额 60。

从 v3.2.3 开始,您还可以将所有 Tool Cupboard 批量恢复到特定时间或日期。

例如,使用上面列出的账本文件,如果我们想将 tool cupboard 回滚到时间 16:19:00。我们可以运行以下命令。

/tc ledger rollback 16:19

这会将 ALL TOOL CUPBOARDS 回滚到给定时间之前的第一个账本条目。在这种情况下,该条目将在 16:18:28 时为 GUID=5c83390e-bbd2-4049-8ec9-8f2951746159,因为这是 16:19:00 之前的最新条目。因此余额将为 0。

回滚还可以接受除时间之外的日期。例如,如果要回滚到第二天中午,可以运行以下命令。

/tc ledger rollback "5/25/2023 12:00"

请注意,此工具柜没有追溯到那么远的分类帐条目。在这种情况下,橱柜的余额将设置为零。请注意,如果您包含日期和时间,则值必须用引号括起来(请参阅上面的示例)。

拖船基地

从 v3.3.0 开始,可以选择性地允许拖船底座使用 Raid Protection。这可根据保护级别进行配置。拖船底座可以利用普通工具柜底座的所有功能。您可以访问驾驶员座椅燃料库存中拖船底座的保护面板。对于拖船基地,基地的创始人被认为是第一个授权拖船的玩家。

插件集成

氏族

此插件为 Clan 提供内置支持。如果玩家在部落中,它会自动将所有部落成员视为所有者。这当然意味着即使成员被踢出部落,所有者也不会被移除。

真正的 PVE

只要两个插件都以非冲突的方式配置,此插件就与 True PVE 兼容。例如,如果您使用 True PVE 为玩家提供保护,那么在 Protected entities 部分下的 Raid Protection 配置文件中,您应该将 Authed Players 和 Unauthed Players 都设置为 false,以避免钩子冲突错误。如果您确实看到 Hook 冲突,请参阅本文档中有关如何解决 Hook 冲突错误的部分。

区域管理器

此插件与 ZoneManager 兼容,无需任何额外配置。如果区域具有 “undestr” 标志,则 ZoneManager 将优先。

自定义状态框架

如果您已安装 CustomStatusFramework,并且想要利用 Raid Protection 配置文件中的状态指示器(显示在右下角),请在 Plugin Integration 部分下,将 Custom Status Framework 设置为 true

简单状态

Simple Status 是一个仍在开发的插件,它将成为 Custom Status Framework 的替代性、性能更友好的选项。此插件尚不可用,但从 v3.4.0 开始,已添加配置选项以支持此插件发布。

指标预览:
indicator1-small.png.20276cbb2179b974a1c092875af30947.pngindicator2-small.png.9088220bd2c13e78e999653825099ff8.pngindicator3-small.png.49289960eb5afdd7d1ed747a9b04bb79.png

 

经济和服务器奖励

如果您希望将经济余额或服务器奖励积分用作货币而不是物品,您可以在配置的插件集成部分将其中之一设置为 true。请务必仅将其中一项设置为 true,否则两者都将被禁用,并且您将在控制台中收到警告。

具有经济性的保护板:

economics-small.png.7eaa86ed8683c7cab3b501dfcaad362c.png

无衰减

此插件与 NoDecay 兼容,无需任何额外配置。

通知

如果要使用 Notify 作为指示器的来源,您可以在 Raid Protection 配置中为其启用该标志。

废弃基地

如果您在集成配置中启用了 Abandoned Bases,则标记为 Abandoned 的基地将不会获得 RAID 保护。

可突袭基地

由可突袭基地生成的基地将被突袭保护忽略。它们不应该出现在账本中,玩家不能为它们添加余额。

技能树

如果在集成配置中启用了技能树,则它将阻止具有开锁技能的玩家在突袭保护区域中撬锁。

其他插件

应该与大多数其他插件兼容,因为它们不使用 onEntityTakeDamage 钩子。如果他们确实使用了这个钩子,那只是意味着你必须更改你的配置设置,参见钩子冲突部分以获取更多信息。

图像

如果您在使用此插件提供的默认图像时遇到任何问题,我建议您自己托管它们。可以在配置中更改 url。这是一个包含所有图像的 zip 文件。
icons.zip正在获取信息…

截至 2023 年 8 月 19 日,我可以确认此插件与 Carbon 兼容。如果您遇到任何与 Carbon 相关的问题,请打开支持票证。

钩子冲突

如果您在服务器控制台中收到类似于以下内容的消息:

OnEntityTakeDamage resulted in a conflict between the following plugins: NoDecay - True (Boolean), RaidProtection (False (Boolean))

这意味着另一个插件与 Raid Protection 冲突。在大多数情况下,这是一个简单的解决方法,它只是意味着您需要更新 Raid Protection 配置文件,以不保护其他插件已经在保护的相同实体。因此,例如,如果您已经有一个插件,使玩家无法相互攻击,则不需要 Raid Protection 来完成这项工作,因此在配置的 Protected entities 部分中,您应该将 Authed players 和 Unauthed players 设置为 false 以避免冲突。

旧版本

您可能已经在 uMod 上看到过这个插件的免费版本。该版本 (2.X.X) 将在 umod 上免费提供,但不再受支持。

如果你是从免费版本升级,必须先删除 config/lang/data 文件,然后才能安装 v3.0.0 及以上版本。如果您不删除这些文件,您可能会遇到问题,因为尽管名称相同,但该插件已被完全重写,因此与免费版本完全不兼容。

 

Developer API

        /*
         * Returns 0 if entity unprotected and 100 if entity fully protected
         */
        private float GetProtectionPercent(BaseEntity entity)

        /*
         * Returns a list of the owners of the structure associated with the given entity
         */
        private List<BasePlayer> GetOwners(BaseEntity entity)

        /*
         * Returns the player who is the founder of the structure associated with the given entity. Can be null.
         */
        private BasePlayer GetFounder(BaseEntity entity)
          
        /*
         * Returns the protection balance of the structure associated with the given entity
         */
        private float GetProtectionBalance(BaseEntity entity)
          
        /*
         * Returns the hours of protection remaining of the structure associated with the given entity
         */
        private float GetProtectionHours(BaseEntity entity)

不和

如果您想报告错误、需要支持、有建议或想在我发布更新时收到通知,您可以通过此链接加入我的插件开发 discord:

插件开发 Discord 链接

编写和维护这些插件需要大量的工作。捐赠是提供一些积极反馈的一种方式,这有助于我继续制作它们!
在这里请我喝杯咖啡!

 

常见问题

请在打开支持票证之前查看此部分,这可能会为我们双方节省一些时间!

问:我在右下角没有看到状态指示器。

A: 状态指示器来自另一个名为 CustomStatusFramework 的插件,您必须在配置文件中安装并启用它才能获取指示器。

问:我有保护时间,但我能够损坏我自己的结构。

默认情况下,“Authed players” 能够损坏他们自己的结构。您可以在配置文件中更改此设置。

问:在工具箱面板中没有显示“添加时间”按钮。

答:如果保护的成本为 0,则不会显示小时按钮。

问:我设置了最长保护时间,但上面显示“永久保护”

A:如果防护成本为 0,则不能有最大防护时间。

问:我已取消对工具柜的授权,但我仍然被列为所有者。

A:取消授权后,不会删除 Owner。只有管理员才能删除所有者。

Q: 如何处理重叠的工具柜?

答:如果玩家的底座上有重叠的工具柜,那么每个橱柜都需要自己的保护。哪些实体受到保护取决于管理该实体的工具柜。

Q: 玩家的漏洞利用只能通过取消授权来保护吗?

答:取消授权对希望利用仅限离线保护的玩家没有帮助,因为即使他们取消授权,他们仍会被视为所有者。

问:玩家可以通过从不授权来利用仅限离线保护吗?

答:如果玩家从未在 T橱柜上获得授权,则他们不会计入在线状态,因此可能会发生离线保护。但是,除非获得授权,否则玩家无法添加或管理保护余额,因此保护余额将耗尽,尤其是在设置了最大保护时间的情况下。

问:我为马匹提供了保护措施,但现在马匹从不拉屎

答:如果马没有失去健康,它们永远不会吃东西,因此也不会拉屎,这是保护马的副作用。

问:为什么保护功能在右下角显示“待处理”?

答:待处理意味着您只有离线保护,或者您的结构最近受到了损坏,因此保护被延迟。有关更多信息,请参阅工具柜保护面板。

问:我在控制台中看到 Raid Protection 和 True PvE 之间的冲突警告

答:请参阅 TruePvE 和 Hook 冲突的文档部分

Q: 我看到 Image failed download (图像下载失败)!错误:HTTP/1.1 429 请求过多

答:请参阅文档的“图像”部分。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。