Skip to content

常见问题解答#

安装#

如何安装 BentoBox、BSkyBlock 以及所有其他插件?#

开始的最简单方式是从 https://download.bentobox.world 下载一套插件和 BentoBox。 你也可以查看本教程来了解其他方法。 欢迎加入我们的社区!

配置#

如何制作我自己的自定义岛屿?#

你提到了我们的内置原理图格式,我们称之为蓝图蓝图页面提供了所有开始使用蓝图的相关信息,以及一些你可以用来进一步自定义它们的提示和技巧。 你也可以看看这个视频,虽然它已经过时了,但可能会帮助你在几分钟内创建你的第一个蓝图。

需要哪个版本的数据库?#

最低要求版本:

  • MySQL 5.7 或更高
  • MariaDB 10.2.3 或更高
  • MongoDB 3.6 或更高
  • SQLite 3.28 或更高
  • PosgreSQL 始终推荐使用最新版本

如何增加玩家的岛屿大小?#

每个岛屿都有一个受保护区域。你可以增加保护区域,直到岛屿间的距离。岛屿范围可以通过命令或给予岛屿所有者一个权限来增加。权限仅在玩家登录时检查,所以如果你只使用权限,玩家必须重新登录才能生效。命令立即生效。记住,受保护范围适用于整个岛屿。

权限

给予所有者 [游戏模式].island.range.<数字> 权限。

  • 岛屿所有者必须重新连接服务器以应用更改
  • 如果岛屿所有者更改,则岛屿范围将调整为新岛屿的范围权限,或者如果所有者没有权限,则恢复到默认范围。

命令

使用 /[admin_command] range 命令。

问题#

我的世界中正在生成超平坦区块#

相关问题: BentoBox#1212, BSkyBlock#247

超平坦世界。 (图片来源:1213videogamer on PlanetMinecraft)。

如果你开始看到在你的世界中生成超平坦区块,那么是因为世界生成器不再适用于这个世界了。 这可能有几个原因。它们按可能性顺序排列。

我们强烈建议你恢复到这种情况之前的备份。 虽然我们提供指导帮助从这种事件中恢复,以防你没有备份可用,我们不能保证它们的有效性。此外,这些解决方案旨在尽可能解决问题,但忽略了对性能或玩家岛屿的影响。请知悉使用它们。

作为快速修复,管理员设置控制台中有一个设置可以删除超平坦区块。这是修复损害的主要工具,但除非你修复了根本原因,否则它只会导致超级延迟,并且永远不会正确解决问题。

无论如何,立即停止你的服务器,以防止对你的世界造成进一步的损害

原因#

BentoBox 或游戏模式插件不再运行#

为什么?

BentoBox 或游戏模式插件在服务器上未启用。 这可能发生在你更新 BentoBox 或游戏模式插件到一个与你的服务器或其中一个插件不兼容的版本时。

解决方案

调查为什么 BentoBox 或游戏模式插件不再启用。 阅读日志以找到启动时的错误。 尝试一次添加一个插件启动你的服务器,找出哪个插件导致问题。

bukkit.yml 文件中没有为这个世界设置生成器#

为什么?

这通常是情况。 在将服务器的默认世界设置为游戏模式插件的世界时,你忘记了在 bukkit.yml 文件中为该世界指定正确的生成器。

解决方案

确保你彻底遵循了本教程的每一步。

游戏模式配置中的 use-own-generator 选项设置为 true#

为什么?

这是一个常见的错误。

用户往往误解这个选项,以为它允许他们激活一个“魔法”圆石生成器(但它是一个插件!)。 事实上,这并不是这个选项的设计目的,这在配置文件中关于这个选项的评论中已经清楚说明了:

# 使用你自己的世界生成器。
# 在这种情况下,插件不会生成任何东西。
# 如果使用,你必须在 bukkit.yml 文件中指定世界名称和生成器。
# 见 https://bukkit.gamepedia.com/Bukkit.yml
use-own-generator: false

最终,这也可能发生在你忘记在 bukkit.yml 文件中指定世界名称和对应的插件名称作为其生成器。

解决方案

如果你不打算使用外部插件来生成世界,那么你应该将这个选项设置回 false

相反,你应该确保你在 bukkit.yml 文件中指定了世界名称和相应的插件名称作为其生成器。

另一个插件试图控制这个世界的生成器#

为什么?

虽然非常罕见,但这仍然可能发生。

一些插件,尤其是世界管理类的(例如 Multiverse),往往提供可以覆盖我们世界的生成器的设置。

解决方案

回顾你所有的插件,找出哪一个最有可能引起问题。 首先调查世界管理插件或自定义编码的插件,它们与世界交云。 要么向它们的开发者报告问题,要么修复涉及的配置文件。

BentoBox 或游戏模式插件中存在bug#

为什么?

哎呀!

如今,这非常罕见。 但出于某些原因,它可能仍然会发生。

解决方案

确保这实际上是一个 BentoBox 相关的 bug:一个接一个地从你的服务器中移除所有插件,直到只剩下 BentoBox。

如果问题不再发生,这意味着另一个插件引起了它。 在这种情况下,请参考[本节](https://bentobox-world.readthedocs.io/en/latest/FAQ/#another-plugin-is-trying-to-control-the-generator-of-this

-world)。

如果问题仍然发生,这意味着这是一个 BentoBox bug。 请在我们的 bug 跟踪器上报告它

如何清理超平坦区块?#

如果你有备份,使用它们将你的服务器的世界和 BentoBox 数据库恢复到之前的状态。

如果你没有备份,登录你的服务器并使用 /[admin-command] settings 命令打开管理员设置面板。 找到“清理超平坦”标志并切换它开启。 根据你的设置、地区和你运行的 BentoBox 版本,名称、图标或描述可能有所不同。 但我们相信你无论如何都能找到那个标志!

BSkyBlock 管理员设置面板中的清理超平坦标志

这个标志会随着时间慢慢地从你的世界中再生任何超平坦区块。 这发生在区块被加载时,所以你可能想要传送到这些区块来强制再生,或者你可以让这个标志开启几天。 不要忘了在某个时刻禁用这个标志! 它相当占用资源...

当玩家创建他们的岛屿时,我的服务器延迟了!#

粘贴岛屿或生成区块是这个问题的主要原因。

首先,粘贴速度可能对你的服务器来说太快了。 尝试降低它。 在 BentoBox config.yml 中查找此设置:

# 粘贴蓝图时每个tick粘贴的方块数。
# 较小的值将有助于减少明显的延迟,但会使粘贴花费稍长时间。
# 相反,较大的值将使粘贴花费的时间减少,但这种好处很快就会受到
# 必须加载的区块数量增加的影响,这通常会导致服务器挂起。
paste-speed: 64

如果你正在运行 timings,BlueprintPaster 任务应该理想地花费很长时间,但占用一个 tick 时间的百分比较低。

如果服务器在粘贴岛屿时仍然挣扎,那意味着它在生成区块时遇到困难。 作为插件,我们对此几乎没有控制权,但这里有一些你可以做的事情来减轻这个问题:

  • 尝试减少游戏模式配置文件中的“岛屿间距离”设置。 较低的值意味着需要生成更少的区块。 这将要求你完全重置世界和数据库。
  • 使用 Paper 作为你的服务器软件。 Paper 处理异步区块生成。
  • 预生成世界。 尤其是对于生成器资源密集的游戏模式,如 CaveBlock 或 SkyGrid。

我不能在我的岛屿上放置树苗!#

相关问题: BentoBox#277

如果没有向玩家显示消息告诉他们他们不能放置树苗,那么意味着 BentoBox 导致这个问题。

如果你在服务器上使用 GriefPrevention,这个插件有一个配置选项防止玩家放置所谓的“天空树”。

如何更改岛屿距离?#

所有游戏模式都有一个玩家岛

屿之间距离的配置。在 BSkyBlock 中,它被称为 distance-between-islands,在这里的 config.yml 文件中可以找到:

# 岛屿的半径,以方块为单位。(所以岛屿之间的距离是这个值的两倍)
# 它对每个维度是相同的:主世界,地狱和末地。
# 这个值在游戏中无法更改,如果它有所不同,插件将不会启动。
# /!\ BentoBox 目前不支持在游戏中更改此值。如果你需要更改它,请完全重置你的数据库和世界。
  distance-between-islands: 400

在 BSkyBlock 的情况下,默认值是 400,这意味着玩家将彼此相距 800 个方块。它还意味着玩家的保护区域可以增长到 400 的值。

大多数时候,默认设置应该足够你的服务器。然而,一些管理员喜欢让玩家更远地分开,或者有时,让他们更紧密地聚集在一起。无论你选择什么,一旦游戏运行,你不能更改这个值。如果你尝试更改它,BentoBox 会拒绝启动并在控制台中给出警告,如下所示:

[14:08:20 ERROR]: [BentoBox] *****************CRITICAL ERROR!******************
[14:08:20 ERROR]: [BentoBox] 岛屿距离不匹配!
世界 'bskyblock_world' 距离 800 != 岛屿范围 400!
数据库中的岛屿 ID 是 BSkyBlock99ea1c15-f5f8-410a-9019-d6b843a5a254。
config.yml 中的岛屿距离在游戏中不能更改!修复 config.yml 或清理数据库。
[14:08:20 ERROR]: [BentoBox] 无法加载岛屿!禁用 BentoBox...
[14:08:20 ERROR]: [BentoBox] *************************************************
这是一种保护机制,因为如果你更改了值并能够继续,岛屿可能最终会堆叠在一起,这会导致非常不开心的玩家!

但我才刚开始我的服务器!我如何更改这个值并清理数据库?

我将假设你正在使用默认的 JSON 数据库(平面文件)。按照这些步骤:

  1. 停止服务器
  2. 将 config.yml 的岛屿距离值更改为你想要的任何值。
  3. 如果你没有运行其他 BentoBox 游戏,或者只是想重置一切,那么删除 plugins/BentoBox/databaseplugins/BentoBox/database_backup 文件夹
  4. 删除游戏模式创建的世界,对于 BSkyBlock,默认情况下,这些文件夹在你的服务器文件夹中:bskyblock_worldbskyblock_world_netherbskyblock_world_the_end
  5. 重启服务器。

如果你的服务器已经在运行其他 BentoBox 游戏模式,那么事情会稍微复杂一点: 1. 停止服务器 2. 将 config.yml 的岛屿距离值更改为你想要的任何值。 3. 打开 plugins/BentoBox/database/Island 文件夹并删除所有以你的游戏模式名称开头的文件,例如,BSkyBlock99ea1c15-f5f8-410a-9019-d6b843a5a254.json 4. 删除游戏模式创建的世界,对于 BSkyBlock,默认情况下,这些文件夹在你的服务器文件

夹中:bskyblock_worldbskyblock_world_netherbskyblock_world_the_end 5. 重启服务器。

如果你使用的是其他数据库,如 MySQL,那么步骤相同,但你需要使用 SQL 命令来移除数据库、表或条目。

如何启用地狱传送门相互链接?#

在 BentoBox 1.16 中,我们实现了一个选项来正确链接传送门。然而,这个选项只有在 server.properties 中启用了 allow-nether 和在 bukkit.yml 中启用了 allow-end 时才有效。

要启用链接地狱传送门,你需要在游戏模式配置中找到选项 create-and-link-portals 并将其设置为 true

要启用创建正确的末地黑曜石平台(如原版末地),你需要找到选项 create-obsidian-platform 并将其设置为 true

请注意,启用这些选项会打开与原版 Minecraft 相同的无限黑曜石生成漏洞。

API#

我如何开始为 BentoBox 编写插件?有 API 吗?#

是的,绝对有 API。 编写插件与编写插件非常相似,只是有更多的 API 可用,如团队、保护、命令、面板和粘贴等。

按照本教程来创建你的第一个插件!


Last update: April 2, 2024 06:06:05