terrarium-earth / Cadmus

A land claiming mod that allows users to claim land to protect your home from thieves, bandits and monsters, and admins to claim land with region flags and advanced protection!
MIT License
21 stars 8 forks source link

[Bug]: Public Server crashes if you appear in the Deep Dark/Ancient City #7

Closed QuillInkyDink closed 1 year ago

QuillInkyDink commented 1 year ago

Bug Description

I currently admin and run a public minecraft server that has almost 40 members in it. I added this mod in along with other updated mods and Resourceful Lib and optional Journey Map as I updated the server to 1.20. Got all the mods put in their proper places and booted up the newly updated server and came in by myself (since I'm admin and wanted to do a quality check before letting everybody back in) to test out the mods to make sure everything was working properly. I used this mod with ease and parsed out my entire base area (which is quite large) with zero issue. Everything was absolutely perfect and I loved the mod to bits with the ease of use. I then went into the nether where we have our nether hub to go to one of my members bases who is in the Deep Dark, specifically made themselves at home within four Ancient Cities, to test out a different unaffiliated mod. This member had a small auto chicken farm on one side, and an auto moss farm on the other (which I later turned off and turned out to not be the issue). Almost immediately upon going through the nether portal to this members base and taking a few steps into their base, the server will crash and immediately restart. I tried to come back in three more times once the server rebooted and without fail would boot me again and error out. It was quite bizarre, and I spent legitimately 14 hours scouring codes (based on the error logs) of each of the other 13 mods I also had on this server trying to figure out which one it could have been. After many hours, I finally put the server into just vanilla, find out it's definitely one of the mods, and basically just did a process of elimination with each mod. Cadmus became the last test, and even tested without Cadmus but kept Resourceful Lib in place, and concluded that Cadmus has some sort of strange bug that may just be having an issue with either one of the mods I use (which honestly is not too intense of mods) or some sort of other catastrophic failure with places like the Deep Dark itself.

I have tested this mod in other places in the Overworld too, and it seems it only errors out in the Deep Dark.

My hypothesis is that when I was updating the server, it had some strange issues during it's update where it couldn't identify wool blocks or many colours, but the server corrected itself with those blocks. I have to wonder if for some reason the mod had difficulty "reading" the naturally generated wool blocks in the Ancient City, OR because the Ancient City is well below 0 from the surface, if perhaps it has a difficulty reading to that depth of the minecraft world. Food for thought, I may be absolutely wrong, but thats what I guess 14 hours of trying to figure out why my server wasn't working has done to my very mushed up brain.

If it's helpful, these are the other mods my server was also using: FabricAPI, Lithium, Starlight, VoiceChat, VCInteraction, Colytra, JourneyMap, Coords Display, Status

Highly doubt that the mods not playing nice is the cause but I've listed them anyway.

How to Reproduce?

  1. Find an Ancient City
  2. Walk or run in it
  3. Server boots you and crashes

Expected Behavior

Booted from the server, server crashes, then reboots

Version

0.0.1

Mod Loader Version

1.20—1.20.1

Mod Loader

Fabric

Logs or additional context

This is the error message I would get every time I would walk or run around anywhere in the Ancient City:

[Server thread/ERROR]: Encountered an unexpected exception net.minecraft.class_148: Exception ticking world at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:901) ~[server-intermediary.jar:?] at net.minecraft.class_3176.method_3813(class_3176.java:283) ~[server-intermediary.jar:?] at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:824) ~[server-intermediary.jar:?] at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:671) ~[server-intermediary.jar:?] at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:265) ~[server-intermediary.jar:?] at java.lang.Thread.run(Thread.java:833) ~[?:?] Caused by: org.spongepowered.asm.mixin.injection.callback.CancellationException: The call method_7731 is not cancellable. at org.spongepowered.asm.mixin.injection.callback.CallbackInfo.cancel(CallbackInfo.java:101) ~[sponge-mixin-0.12.5+mixin.0.8.5.jar:0.12.5+mixin.0.8.5] at net.minecraft.class_1755.handler$zzc000$cadmus$emptyContents(class_1755.java:535) ~[server-intermediary.jar:?] at net.minecraft.class_1755.method_7731(class_1755.java) ~[server-intermediary.jar:?] at net.minecraft.class_2357$8.method_10135(class_2357.java:395) ~[server-intermediary.jar:?] at net.minecraft.class_2347.dispense(class_2347.java:16) ~[server-intermediary.jar:?] at net.minecraft.class_2315.method_10012(class_2315.java:90) ~[server-intermediary.jar:?] at net.minecraft.class_2315.method_9588(class_2315.java:113) ~[server-intermediary.jar:?] at net.minecraft.class_4970$class_4971.method_26192(class_4970.java:1113) ~[server-intermediary.jar:?] at net.minecraft.class_3218.method_14189(class_3218.java:728) ~[server-intermediary.jar:?] at net.minecraft.class_6757.method_39390(class_6757.java:215) ~[server-intermediary.jar:?] at net.minecraft.class_6757.method_39377(class_6757.java:98) ~[server-intermediary.jar:?] at net.minecraft.class_3218.method_18765(class_3218.java:323) ~[server-intermediary.jar:?] at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:897) ~[server-intermediary.jar:?] ... 5 more

Code of Conduct

AlexNijjar commented 1 year ago

I'm sorry you had to go through that, sounds like pain. I fixed the bug that appeared in the log, however I have no idea what it has to do with the Deep Dark. The bug in question was an issue with the way Cadmus prevented players from using water buckets in protected chunks.

I've attached the jar. Before I push the update, can you test it on your server to see if that fixes it? Thank you.

cadmus-fabric-1.20.1-0.0.2.jar.zip

QuillInkyDink commented 1 year ago

I'll test it out and let you know how it turns out! Thank you!

QuillInkyDink commented 1 year ago

Gave it a thorough test (and also had to update my server to 1.20.1 but that's ok) and it's works like a charm now! Thank you so much!