AsyncWorldEdit 是一个旨在解决 WorldEdit 操作导致服务器卡顿问题的插件。它通过将 WorldEdit 的方块操作异步化、分批次执行来显著降低对服务器 TPS 的影响,同时完全保留原版 WorldEdit 的所有命令、权限和功能体验。
💡核心特性
- 异步化处理:将 WorldEdit 的方块放置操作转移到异步线程中执行,避免阻塞主线程。
- 分批次放置:方块会被打包并按可配置的速率和包大小进行放置,从而平滑服务器负载。
- 无缝集成:并非重写 WorldEdit,而是直接增强其 API,因此与原版 WorldEdit 完全兼容。
- 功能同步:当 WorldEdit 发布新功能或修复时,只需更新 WorldEdit,AsyncWorldEdit 即可自动适配。
🎮安装与升级
标准安装 (最新版本)
- 下载并安装 WorldEdit 7.1.0。
- 从 spigotmc.org 购买插件。
- 下载
AsyncWorldEdit.jar。 - 将
AsyncWorldEdit.jar 放入服务器的 plugins 文件夹。 - (可选) 如需方块记录或访问控制,请下载并安装 BlocksHub。
- (可选) 如需进度显示,安装对应的桥接插件 (例如:使用 ActionBarAPI 需安装
AsyncWorldEdit-ActionBarAPI)。 - (可选) 如需使用内置 Boss 血条进度显示,请安装
AsyncWorldEdit - Boss Bar 插件。 - 重启服务器。
- 根据需要编辑配置文件 (
plugins/AsyncWorldEdit/config.yml)。 - 重启服务器或执行
/AWE reload 使配置生效。
重要版本说明
- 升级旧版:从较新版本的 AWE 升级通常无需特殊操作。但如果旧版使用了注入器 (
injector),请务必将其移除。建议同时删除 /plugins/AsyncWorldEdit/plugins/ 目录下的桥接插件和 installed 文件。 - Minecraft 1.12 及更早版本:请使用 AsyncWorldEdit 3.5.4 版本和 WorldEdit 6.1.7.3 版本。
- 警告:合法的 JAR 文件仅能从官方 Premium 下载页面获取。从其他来源下载的均为盗版。
🔧配置与优化
性能调整
AsyncWorldEdit 的默认配置旨在最大限度地减少 TPS 下降,而非追求极限的方块放置速度 (BPS)。如果你的服务器硬件较好或可以接受轻微的 TPS 波动,可以通过调整配置文件来获得更高的性能。
- 关键参数:配置文件中可以调整方块包的大小和放置频率。
- 时间限制:2.x 版本引入了最大时间限制以优化低配机器性能。若需要像 1.x 版本那样稳定的高 BPS,可以在配置文件中禁用此时间限制。
队列容量与内存
可排队的方块数量取决于服务器的可用内存。以下为测试参考:
- 512MB 内存 (约 200MB 空闲):最大队列约 1,000,000 方块。超过 500,000 后,垃圾回收可能导致 TPS 显著下降。
- 1GB 内存 (约 700MB 空闲):最大队列约 2,500,000 方块。超过 2,000,000 后 TPS 开始下降。
- 大致规律:每增加 500MB 空闲内存,可多排队约 1,500,000 个方块。禁用“方块冻结”功能可额外提升约 20% 容量。
❓常见问题
插件兼容性
- 其他插件失效:如果安装 AsyncWorldEdit 后其他插件停止工作,请联系开发者寻求帮助。
- 进度显示:如需在操作时显示进度条、ActionBar 信息等,必须安装对应的桥接插件。
- 方块记录:如需记录 WorldEdit 放置的方块或进行权限控制,必须安装 BlocksHub 及其支持的日志/控制插件,并在 AWE 配置中启用集成。
错误与故障排除
- “Error performing safe operation”:此警告表示 AWE 在异步线程中获取方块时遇到潜在风险,已自动切换至主线程处理。这是正常的安全机制,偶尔出现不影响使用。如果大量出现此错误,可能会导致速度下降。
- 仍然感到卡顿:请参考官方论坛的性能调优线程,根据你的硬件配置优化 AsyncWorldEdit 设置。
- BPS 低于旧版本:请检查并调整配置文件中的时间限制相关设置。
✨依赖与扩展
必需依赖
可选依赖
- BlocksHub:用于方块操作日志记录和访问控制。
- PlotMe:与旧版 PlotMe 的兼容性支持。
- 进度显示桥接插件:
- ActionBarAPI
- BarAPI
- BountifulAPI
- TitleManager
- WelcomeTitle (仅限 1.8)
- ActionMessager (仅限 1.8)
使用 AWE API 的插件
- AmazingTerrainGenerator
- AsyncWorldEdit - Boss Bar
- 如果你是插件开发者并使用了 AWE API,请联系作者将你的插件加入此列表。
⭐其他信息
- 许可证:详情请查看完整许可证。
- 问题反馈:请使用 GitHub Issue 跟踪器 (免费版) 或 Premium Issue 跟踪器 (付费版) 报告问题。
- 自动更新检查:插件仅会通知新版本,不会自动更新。可在配置中将
checkVersion 设为 false 禁用,或移除 AWE.admin.version 权限节点。 - 统计数据 (MCStats):插件使用 MCStats 收集匿名统计信息 (如操作系统、Java 版本等)。可在
plugins/PluginMetrics/config.yml 中将 opt-out 设为 true 来全局禁用所有插件的 MCStats 统计。
---
项目作者/开发者: SBPrime
致谢: 感谢所有前任开发者、测试人员和文档作者。
支持开发: 如果你喜欢这个插件,可以购买其 Premium 版本以获得直接的技术支持并获取预构建的 JAR 文件。