Level Stuck Bug
Expected behavior
Instant level calculation. This is how it works in BSkyBlock.
Observed/Actual behavior
Even if I restart the server it stays stuck for the whole day. It only happens in AOneBlock.
Steps/models to reproduce
There is no console error or something, I don't know how to reproduce.
BentoBox version
PAPER 1.21.4 (1.21.4-4f6cdd2 (MC: 1.21.4)) BentoBox: 3.4.0-SNAPSHOT-b2887 AOneBlock 1.19.0-SNAPSHOT-b436 Bank 1.9.0-SNAPSHOT-b113 Border 4.4.3-SNAPSHOT-b237 Chat 1.3.1-SNAPSHOT-b88 Level 2.21.0 TwerkingForTrees 1.6.0-SNAPSHOT-b105 Warps 1.16.0-SNAPSHOT-b385
Plugin list
Paper Plugins (2): CrazyCrates, nightcore
Bukkit Plugins (135):, AdvancementDone, ajParkour, AnnouncerPlus, AntiCurse, AntiPopup, AntiSpamPlugin, AutoPickup, AxInventoryRestore, AxVaults, BeastLib, BeastWithdraw, BentoBox, BentoBox-AOneBlock, BentoBox-Bank, BentoBox-Chat, BentoBox-Level, BentoBox-Warps, BestTools, BlachAdverts, BlachArmorChecker, BlachChatLog, BlachDiscord, BlachFarmerTransfer, BlachFloorLock, BlachFlyPerm, BlachFriends, BlachInvisibleRegions, BlachIsTop, BlachPreview, BlachSignInfo, BlachTPerm, BlachUnicode, BlockEffects, *BlockSpawnerEXP, BlueSlimeCore, BungeeGuard, ChatBrawl, ChatSentinel, Citizens, CombatLogX, CooldownsX, CoreProtect, CosmeticsCore, CrazyEnvoys, CustomOreGen, DecentHolograms, Delivery, DeluxeMenus, DeluxeTags, DisableSignEdit, eBackup, EntityDetection, Essentials, EssentialsSpawn, ExcellentEnchants, ExcellentShop, ExtractableEnchantments, Farmer, FarmProtection, FlipCard, floodgate, *GAListener, GrimAC, GSit, HeadBlocks, IllegalStack, Infiniteannouncements, InfiniteFishing, InteractiveChat, InvisibleItemFrames, *IPLimit, IslandNPC, IslandTime, ItemsAdder, LangUtils, *lbChat, *lbSponsor, LeaderOS, LiteBans, LitLibs, LitMinions, LockettePro, LoneLibs, LPC, LPX, LuckPerms, mcMMO, McmmoGuiV2, MCPets, MeltItems, MineableSpawners, MineBlocks, ModelEngine, Multiverse-Core, *mVipSurem, MyCommand, MythicMobs, OpenInv, packetevents, PinataParty, PlaceholderAPI, PlugManX, ProtocolLib, Quests, RepairGui, ServerTours, ShopGUIPlus, ShopGUIPlus-SellGUI, Shopkeepers, Skellett, Skript, skript-reflect, *skUtilities, *SlimePad, *SmartInvs, TAB, *TaskScheduler, ToolStats, Topper, TradeAudit, TradeSystem, Ultimate_BlockRegeneration, UltimateRewards, UltimateTimber, Vault, ViaBackwards, ViaVersion, Votifier, Vulcan, WarpSound, *WebSender, WorldBorderAPI, WorldEdit, WorldGuard, YetkiliSure
Other
No response
I'll need to reproduce this and the best way is to get a copy of your database and you tell me which user UUID is having the issue. If you use JSON then zip up the BentoBox database and paste it here. Or if it's too big let me know.
First of all, when this problem starts, all my players have the issue. But sure I will tell you a UUID. Can I send the zip through Discord?
Hey - sorry - busy week - yes, you can send me the file, or a link to the file via Discord. But also you can send it by email to tastybento @ bentobox . world
I can't send it by email. Can you add me as a friend on Discord? My nickname is wassu
Done
Sent
Hmm, it worked immediately. I'll need a copy of your BentoBox/addons folder so I know I have the exact same settings. Then, if that still doesn't replicate a copy of your AOneBlock world folder. Oh and also a copy of your BentoBox config.yml.
> oba level wassu
[16:57:22 INFO]: Calculating level...
[16:57:22 INFO]: Estimated wait: 10 seconds
[16:57:22 INFO]: [BentoBox] Added island to Level queue: Location{world=CraftWorld{name=oneblock_world},x=0.0,y=120.0,z=0.0,pitch=0.0,yaw=0.0}
[16:57:23 INFO]: [BentoBox] Starting to scan island level at Location{world=CraftWorld{name=oneblock_world},x=0.0,y=120.0,z=0.0,pitch=0.0,yaw=0.0}
[16:57:23 INFO]: [BentoBox] Completed Level scan.
[16:57:23 INFO]: [BentoBox] Level Log for island in OneBlock at 0,120,0
[16:57:23 INFO]: [BentoBox] Island owner UUID = 3776a2ea-5b5f-33b4-9506-9613c2b140f5
[16:57:23 INFO]: [BentoBox] Total block value count = 4
[16:57:23 INFO]: [BentoBox] Formula to calculate island level: blocks / level_cost
[16:57:23 INFO]: [BentoBox] Level cost = 100
[16:57:23 INFO]: [BentoBox] Deaths handicap = 0
[16:57:23 INFO]: [BentoBox] Initial island count = 0
[16:57:23 INFO]: [BentoBox] Previous level = 0
[16:57:23 INFO]: [BentoBox] New level = 0
[16:57:23 INFO]: [BentoBox] ==================================
[16:57:23 INFO]: [BentoBox] Regular block count
[16:57:23 INFO]: [BentoBox] Total number of blocks = 1
[16:57:23 INFO]: [BentoBox] Grass Block: 1 blocks x 4 = 4
[16:57:23 INFO]: [BentoBox] Subtotal = 4
[16:57:23 INFO]: [BentoBox] ==================================
[16:57:23 INFO]: [BentoBox] Blocks not counted because they exceeded limits: 0
[16:57:23 INFO]: [BentoBox] ==================================
Hmm, I can't replicate this yet with the database and addons you provided. The closest I came was by setting my island protected size to a 500 range, which made it calculate for a minute (M2 Mac, so pretty fast). But that wasn't stuck for all the time.
In the log when this happens, it should show something like:
[07:34:07 INFO]: BoxManager issued server command: /ob level
[07:34:07 INFO]: [BentoBox] Added island to Level queue: Location{world=CraftWorld{name=oneblock_world},x=-34000.0,y=120.0,z=40000.0,pitch=0.0,yaw=0.0}
[07:34:50 INFO]: [BentoBox] Completed Level scan.
Do you have any logs from when this happened that you can share?
Same issue here, nothing useful in logs and ppl get in-queue message instead. Was fine in 1.21.1, started when I've updated both server version and bentobox. Using MV for worlds too
Using:
- Bentobox 3.5.0, Bentobox-AOneblock 1.18.2, Bentobox-Level 2.21.0
Hmm I think the best approach will be for me to give you a debug version of Level that may be a bit spammy in the console but will hopefully tell use where it is hanging. There is a known issue with servers where if errors occur in async threads they sometimes never show anything in the console. I might have to dump to a log file instead. Anyway, I'll try and put something together soon.
@TheLaoming @wassuemir Here's a debug build for Level that should help show where the hanging occurs when it does. If it does, please capture the console log around the time so I can see where it may be hanging. Thanks!
@TheLaoming Thanks for the DM and the log file. From the log, I see the following occurred:
- At 16:34:53, a user started a level calculation for their AOneBlock world island at x=15600.0,y=80.0,z=-13200.0
- It looks like it's quite a big world with loads of blocks on it and it took about 5 seconds to calculate
- At 16:34:59, it finishes and the level is 225.
- Someone then made a new AOneBlock island at x=-15600.0,y=80.0,z=-22800.0. This caused the Level addon to do a zeroing at 16:40:42.
- This finished at 16:40:43.
What was the user experience and what didn't happen? It looks like the level was calculated correctly. Did it just not show?
I am currently having this issue where the levels don't update automatically. When I run the /level
I am currently having this issue where the levels don't update automatically. When I run the /level it updates their level but if I don't run this command, it will not update. I tried adding the placeholder in the scoreboard thinking it may force an update but unless I manually run the command, the level does not change.
That's unrelated to this ticket, but it's also how Level works. It doesn't constantly update. It's driven by the player issuing the command. You can also have it kick off when they login by selecting that option in config.yml.
I am currently having this issue where the levels don't update automatically. When I run the /level it updates their level but if I don't run this command, it will not update. I tried adding the placeholder in the scoreboard thinking it may force an update but unless I manually run the command, the level does not change.
That's unrelated to this ticket, but it's also how Level works. It doesn't constantly update. It's driven by the player issuing the command. You can also have it kick off when they login by selecting that option in config.yml.
Apologies. I thought it was a related issue. Is there an option in the config for updating the levels on login? While we are off-topic, do you have a discord server for support?