BentoBoxWorld / BentoBox

Expandable Minecraft server plugin for island-type games like SkyBlock or AcidIsland.
https://bentobox.world
Eclipse Public License 2.0
334 stars 136 forks source link

Server crashes on /[player_command] reset #2293

Closed Razorxd1993 closed 8 months ago

Razorxd1993 commented 8 months ago

Expected behavior

Unfortunately I noticed that when a player tries to reset an island/cave the RAM of the server fills up until it crashes and then is in a bootloop because it keeps trying to delete the island/cave until it crashes again.

This cannot be due to the performance of the server, it has enough RAM allocated to it.

This problem also exists on other test servers (Linux and Windows) (regardless of whether more plugins are installed or not)

Observed/Actual behavior

RAM(32gb) runs full as soon as an island/cave is deleted

Steps/models to reproduce

See above

BentoBox version

Screenshot_2024-02-07-23-13-30-173-edit_com android chrome

Plugin list

No response

Other

No response

tastybento commented 8 months ago

Can you share the crash log?

tastybento commented 8 months ago

There are settings in BentoBox's config.yml to change the number of chunks deleted in one go. Try and reduce that number. However, I'd still like to see the crash log.

tastybento commented 8 months ago

Also, are you seeing this on a server without any other plugins installed except for Bentobox? I'd be surprised because of course many servers are running with it, but I'm wondering if it is another plugin that could be causing the issue, like something that tries to back up every chunk if it is changed, like CoreProtect or something.

Razorxd1993 commented 8 months ago

latest.log

https://pastebin.com/hgtnfxwq <<- the crash log too

hi this is the crash log, now tested with this pl: Bentobox 2.0.0 CMI-9.6.10.1 CMILib1.4.5.0 FastAsyncWorldEdit-Bukkit-2.9.1-SNAPSHOT-659 LuckPerms-Bukkit-5.4.82 multiverse-core-4.3.9 Multiversum-Inventare-4.2.6 Multiversum-Portale-4.2.2-SNAPSHOT PlatzhalterAPI-2.11.4 ProtokollBibliothek SmartInvs-1.2.7 Gewölbe-1.7.3 ViaBackwards-4.9.0 ÜberVersion-4.9.2 VoidGen-2.2.1 worldborderapi-1.193.0 worldguard-bukkit-7.0.9-SNAPSHOT-dist

these are the configs - no matter what value I enter, high or low, the ram fills up and the server crashes. The .json is also created in BentoBox/database/IslandDeletion/ and as long as it is there, you are in the bootloop because the island/cave cannot be deleted

paste-speed: 64 delete-speed: 10

BONNe commented 8 months ago

You could try adding this addon: https://github.com/HSGamer/BentoBoxFAWEHandler/releases It would use FAWE to regenerate chunks for islands.

The issue may be because you executed multiple cave resets, and regenerating all the chunks for huge islands may be very taxing, especially if you have something large in distance-between-caves.

You could also enable this option: https://github.com/BentoBoxWorld/BentoBox/blob/develop/src/main/resources/config.yml#L207 It would not try to delete island instantly, but wait until the previous one is completely removed.

The CaveBlock, AcidIsland and SkyGrid are slower on island regeneration, as the chunks for the area already contain data, unlike void worlds.

BentoBox 2.0 is optimized for Minecraft 1.20.4, and we do not have an optimized version for 1.20.1, so the deletion is using the default Bukkit API, which is slow.

Tasty, maybe we could add some kinda separate addon that would use NMS for different Minecraft versions and would hook with delete/paste like FAWE addon does?

Razorxd1993 commented 8 months ago

thank you very much, the addon has helped directly :)

My players and my team thank you from the bottom of their hearts :)