653
收录服务器
749
注册
44 422
玩家
AsyncWorldEdit 异步世界编辑
Async WorldEdit-编辑数百万个数据块,无延迟!
作 者 SB_prime
发布时间 2014年2月1日
支持核心 Spigot
原生版本 1.12
支持版本 1.7,1.8,1.9,1.10,1.11,1.12,1.13,1.14,1.15,1.16,1.17,1.18
点此下载

说明

此插件只有一个功能:消除WorldEdit造成的延迟!这是通过用特殊的异步会话替换 WorldEdits 会话来完成的。所有的框图都是在包中完成的。包大小和绘制块的频率可以在配置中配置。 AsyncWorldEdit 不是 WorldEdit 的重新实现!它附加了原始的 WorldEdit API 和 WorldEdit 类,并尝试修复滞后。因此,您可以访问所有 WorldEdit 操作,并且所有这些操作的工作方式与原始 WorldEdit 中完全相同。所以基本上你会得到相同的命令、相同的权限和相同的体验。除此之外,如果 WorldEdit 团队发布新功能、修复错误,您所需要做的就是更新 WorldEdit,AWE 将照常工作。

 

高级版本
从 2018 年 1 月 1 日开始,AsyncWorldEdit 高级版和免费版本再次成为一个软件。高级版中添加的所有更改和功能现在可供所有人使用。

好的,那么缓存在哪里?首先也是最重要的是,您将不会获得免费版本的支持。基本上你自己。高级版本的所有更新最终将在高级版本发布后添加到免费版本中(可能是几天,也可能是几周)。首先,更改将作为源代码提供。免费版本的 JAR 版本可能会发布,也可能不会。它可能会跳过某些版本,可能会与高级版本在同一天发布,也可能会在几周后发布。将提供没有编译指令和 DRM 模块的源代码。

那么购买高级版后我能得到什么?首先,也是最重要的是,您将获得支持(从简单的故障排除到帮助使用源代码)。其次,您不需要自己构建 jar 文件,您将获得一个预构建的 jar 文件。警告:高级下载页面下载插件的 jar 文件,如果您从其他来源获得该文件,则它是非法副本(提供 jar 的下载会破坏许可证)。我缺少

存储库和项目页面

GitHub 如果 AsyncWorldEdit 缺少您想要的功能,这将使您的工作更加轻松,请向我发送 PM 来描述您的需求。安装教程安装 要安装插件,只需按照以下步骤操作(步骤 5-6 是可选的):

 

  1. 下载并安装WorldEdit 7.1.0
  2. 在spigotmc.org上购买插件
  3. 下载AsyncWorldEdit.jar
  4. 安装AsyncWorldEdit(不再需要注入器)
  5. (o) 启用区块登录和区块访问控制下载BlocksHub
  6. (o) 适合您的进度显示插件的桥梁(例如:如果您想使用ActionBarAPI,则需要AsyncWorldEdit-ActionBarAPI
  7. (o) 如果您想使用内置的老板栏,请考虑安装此插件:AsyncWorldEdit - Boss Bar
  8. 重启服务器
  9. 编辑配置文件
  10. 重新启动服务器或执行/AWE 重新加载


从旧版本升级:
如果您从旧版本的 AWE 升级,大多数情况下您不需要执行任何特殊操作。不过,如果您使用的是仍然带有注入器的旧版本,则需要将其删除。此外,删除 AWE 桥插件(位于 /plugins/AsyncWorldEdit/plugins/ 中)和已安装的文件是一个很好的做法。

3.6.0 之前的版本

要安装插件,只需按照以下步骤操作(步骤 5-7 是可选的):

  1. 下载并安装WorldEdit 6.1.2(查看发行说明以了解确切版本)
  2. 在spigotmc.org上购买插件
  3. 下载AsyncWorldEdit.jar(对于WorldEdit dev,您需要下载AsyncWorldEdit-dev.jar,您可以在版本历史记录中找到它。转到版本历史记录,然后单击“下载”以获取最新的开发版本)
  4. 安装AsyncWorldEdit(注入器将自动安装)
  5. (o) 启用区块登录和区块访问控制下载BlocksHub
  6. (o) 如果您使用的PlotMe版本早于 0.17,并且想要启用 PlotMeFix,请访问plugins/AsyncWorldEdit/plugins并将AsyncWorldEdit-PlotMe*.jar.dis更改为AsyncWorldEdit-PlotMe*.jar。使用适合您的 PlotMe 版本的 jar!
  7. (o) 如果您想使用其他进度显示插件,请为您的进度显示插件启用适当的桥接(例如:如果您想使用ActionBarAPI,则需要AsyncWorldEdit-ActionBarAPI
  8. 重启服务器
  9. 编辑配置文件
  10. 重新启动服务器或执行/AWE 重新加载

重要提示:对于 Minecraft 1.12 及更早版本,请使用旧版本 3.5.4 和 WE 6.1.7.3

3.3.0 之前的版本
要安装插件,只需按照以下步骤操作(步骤 5-7 是可选的):

  1. 下载并安装WorldEdit
  2. 在spigotmc.org上购买插件
  3. 下载AsyncWorld编辑
  4. 安装AsyncWorldEditAsyncWorldEditInjector
  5. (o) 启用区块登录和区块访问控制下载BlocksHub
  6. (o) 如果您使用的PlotMe版本早于 0.17 并且想要启用 PlotMeFix,请将AsyncWorldEdit-PlotMe*放入您的插件文件夹中。使用适合您的 PlotMe 版本的 jar!
  7. (o) 如果您想使用其他进度显示插件,请为您的进度显示插件放置适当的桥(例如:如果您想使用ActionBarAPI,则需要AsyncWorldEdit-ActionBarAPI
  8. 重启服务器
  9. 编辑配置文件
  10. 重新启动服务器或执行/AWE 重新加载

安装 - Forge (Cauldron)
要安装插件,只需按照以下步骤操作:

  1. 下载WorldEditWorldEdit Forge
    1. 将WorldEdit安装到插件文件夹中
    2. WorldEdit forge安装到 mods 文件夹中
  2. 下载AsyncWorld编辑
    1. 将AsyncWorldEditInjector安装到 mods 文件夹中(不要将其放入插件文件夹中!)
    2. AsyncWorldEdit安装到plugins文件夹中(不要将其放入mods文件夹中!)
  3. 按照从 p5 开始的常规版本的安装说明进行操作。


执行安全操作时出错...
AsyncWorldEdit在异步线程中对更改的块进行排队,然后将它们放入包中。由于许多 WorldEdit 操作需要从地图中获取块,AsyncWorldEdit 需要在准备阶段(在异步线程中)获取块。由于几乎不应该从异步线程调用任何 API 调用(最多有风险)AsyncWorldEdit 检查它是否可以在异步线程中执行块获取。如果它检测到不可能/不允许,则会将其分派到主线程。有时AWE无法检测到不允许的操作,这会导致操作失败。 AWE 将此事实记录在日志中(执行安全操作时出错)并使用调度程序执行操作。如果所有操作都使用调度程序进行处理,您会遇到速度急剧下降的情况。另一方面,不可能 100% 确定异步线程的 get 操作不会失败。为了 100% 确定 AWE 需要将自己的类注入 Bukkit 内部工作中。

许可证
如需完整许可证,请访问此链接

问题
要报告问题,请使用Github (或此处的高级版)问题跟踪器。

我仍然遇到延迟!
阅读

自动更新
该插件不提供自动更新功能,它只会在有更新时提醒服务器所有者。要禁用此功能,请在配置中将checkVersion设置为false 。或者,如果您不想接收更新信息,可以删除AWE.admin.version权限节点。

块记录器和块访问控制
可以记录 WorldEdit 放置的块并可以强制执行块访问。这是使用一个名为BlocksHub的特殊插件来完成的。要启用块日志记录(或块访问控制),您需要在 AWE 配置中启用它。此功能要求您下载、安装和配置BlocksHub,然后安装任何受支持的块记录器(访问控制器)。

新的记录器和新的访问控制插件将直接添加到 BlocksHub 插件中。

警告:要启用 Direct Chunk API 和 BlocksHub 集成,您需要在选项中启用它。

你能走多快?最近, spigotmc.org
上启动了一个线程,您可以在其中向其他人展示使用 AsyncWorldEdit 放置方块的速度有多快。您还可以使用该线程来参考如何根据您的硬件规格配置 AsyncWorldEdit。该线程可以在这里 找到我可以排队多少块?



所有测试均在受控环境中完成。使用官方spigot,只安装了AWE和WE软件,并且服务器上有1个玩家。 AWE 配置未更改。

在最小服务器 (512m) 可用内存 ~200m 上,我设法排队最多 1 000 000 个块。但在队列达到 500,000 个块之后,由于垃圾收集器的影响,TPS 开始急剧下降。因此,我不建议在具有 200m 可用 RAM 的服务器上排队超过 500 000 个块。

在一台拥有 1g 内存、大约 700m 可用空间的服务器上,我设法排队最多 2 500 000 个块。在队列达到 2,000,000 个块后,TPS 由于垃圾收集器而开始下降。

添加额外的 RAM 会导致每增加 500m 的可用 RAM,排队块的最大数量大约增加 1 500 000 个块。当我禁用块冻结功能时,我设法对额外的 20% 块进行排队(每额外 500m 的空闲 RAM 需要 1 800 000 个块)。

插件 X 在安装 AWE 后停止工作
如果插件在安装 AsyncWorldEdit 后停止工作,请与我联系。我会尽力提供帮助。

AsyncWorldEdit 2.x 的 BPS 低于 1.x。怎么了?
在 AsyncWorldEdit 2.x 中,我添加了块放置的最大时间限制。引入这是为了优化低端机器的插件。您需要记住,AsyncWorldEdit 的目的是限制 TPS 下降,而不是尽可能快地执行操作。因此,默认配置经过优化以限制 TPS 使用而不是 BPS。如果您有一台强大的机器或者您可以忍受 TPS 的小幅下降,您应该根据您的规格优化配置。如果你想有一个稳定的 BPS,就像在 1.x 版本中一样,你应该在配置文件中禁用时间限制。