KasperFranz / BetterChunkLoader

A Chunkloader plugin for SpongeForge
GNU Lesser General Public License v3.0
20 stars 14 forks source link

Non overworld dimension issues #35

Closed clienthax closed 4 years ago

clienthax commented 4 years ago

Couple things reported by my players

Goodmorning. I want to inform that new "better chunk loaders" don't work properly if placed in other dimensions or planets (we tried Moon and Mars) and if we travel away from the loader or back to the Overworld, the chunk loader is not working anymore. Even with /bcl bal we can't see our chunk anymore and if we go back to the chunkloader it's recognized as a simple iron block with a blaze rod on it.

Due to this we can't use powered portals anymore as the destination region is not loaded.

The new chunkloaders don't appear to be working properly. They are working for my quarry in the mining dimension (I am getting items in my chests and progress is made) but those items don't then get transferred to my ME system in the overworld (unless im stood near the ME, or, weirdly, the quarry)- I have this set up with an Ender chest and a 4x accelerated import bus. I have double checked the radius of the loader and the reliability of my power supply. I only notice this when my ender pouch is full after some time from the quarry, so items are not being drawn in by the ME while I am away from it.

KasperFranz commented 4 years ago

That is interesting,

so this is only a problem in specific worlds?

KasperFranz commented 4 years ago

Can you please provide what versions you are using of the following:

What modpack you are usign

clienthax commented 4 years ago

Latest sponge RC, (Compiled my own bcl from around the time when this was opened), and latest bclforgelib from the same time.

Asked the player if they stay loaded if someone is still in the other dimension

No, they don't sadly. After someone leave the dimension and come back, they are not seen as chunk loaders anymore but as a simple iron block unconfigured. The claim doesn't show up in che list anymore.
ktole1999 commented 4 years ago

hello, i know you just tagged this as to-do but i was curious if you had any insight on how difficult this would be to resolve?

KasperFranz commented 4 years ago

I have not been able to reproduce the times I have tried, so if you can provide more information then it would really help

clienthax commented 4 years ago

I have a feeling that this is due to the world being unloaded at the time of request, which causes the ticket to fail.

ktole1999 commented 4 years ago

user was in the current world as the chunkloader. when he disconnected the console gave this message.

10:20:56 [Info] [NetHandlerPlayServer]: CharZinta lost connection: Disconnected. 10:20:56 [Info] [STDOUT]: [net.kaikk.mc.bcl.forgelib.BCLForgeLib:log:150]: [BCLForgeLib] Removed chunk loader at chunk DIM-28:53,22 (r:3). 10:20:56 [Info] [DedicatedServer]: CharZinta left the game

KasperFranz commented 4 years ago

Thst would indicate a online only loader. If not I will have to look more into it :)

ktole1999 commented 4 years ago

they are online only but when players disconnect the loader resets and prompts for configuration next time they are used. many thanks for any help you can offer.

KasperFranz commented 4 years ago

That is different from what this bug report is about, can you please create a new one with as much details as you have

Thanks

ktole1999 commented 4 years ago

how is that different? when player leaves the dimension whether traveling to an alt dim or logging off the loader resets and converts back to iron block.

KasperFranz commented 4 years ago

Ahh sorry, I misunderstood the problem.

What kind of world is that dimension?

ktole1999 commented 4 years ago

placed 4 chunkloaders. overworld, end, mining dimension and moon. Let me know if you need more info or would rather i start a new incident.

forge-1.12.2-14.23.5.2847-universal BetterChunkLoader-3.7.0-S7.1.0 bclforgelib-1.12.2-1.1

19:38:07 [Info] [NetHandlerPlayServer]: BeboBobo lost connection: Disconnected. 19:38:07 [Info] [STDOUT]: [net.kaikk.mc.bcl.forgelib.BCLForgeLib:log:150]: [BCLForgeLib] Removed chunk loader at chunk DIM-6:8,3 (r:1). 19:38:07 [Info] [STDOUT]: [net.kaikk.mc.bcl.forgelib.BCLForgeLib:log:150]: [BCLForgeLib] Removed chunk loader at chunk world:-2,0 (r:1). 19:38:07 [Info] [STDOUT]: [net.kaikk.mc.bcl.forgelib.BCLForgeLib:log:150]: [BCLForgeLib] Removed chunk loader at chunk DIM1:4,1 (r:1). 19:38:07 [Info] [STDOUT]: [net.kaikk.mc.bcl.forgelib.BCLForgeLib:log:150]: [BCLForgeLib] Removed chunk loader at chunk DIM-28:-30,-60 (r:0). 19:38:07 [Info] [DedicatedServer]: BeboBobo left the game

KasperFranz commented 4 years ago

What mod pack is this with?

With my testing (just using sponge forge) it works in all dimensions - so this could indicate there is a problem between mods.

The above message

[BCLForgeLib] Removed chunk loader at chunk DIM-6:8,3 (r:1).

Does not mean that it has removed the chunk loader, but simply that it is no longer loading - most likely because it is a personal loader

ktole1999 commented 4 years ago

ok i just logged back in and it appears the only chunkloader that reset was the one on dim-28 which is the moon for galacticraft. the other 3 chunkloaders i placed still show up in /bcl list. hope this helps. Its a custom modpack.

clienthax commented 4 years ago

I am pretty sure this is related to the world not being loaded when the chunk request is issued.

https://github.com/MinecraftForge/MinecraftForge/blob/1.12.x/src/main/java/net/minecraftforge/common/ForgeChunkManager.java#L746

[14:52:23] [Server thread/INFO] [STDOUT]: [net.kaikk.mc.bcl.forgelib.BCLForgeLib:log:150]: [BCLForgeLib] Added chunk loader at chunk DIM-1:99,117 (r:0)
[14:52:23] [Server thread/WARN] [Sponge]: /**********************************************************************************************************************************/
[14:52:23] [Server thread/WARN] [Sponge]: /*                                        Could not pass  ClientConnectionEvent$Join$Impl                                         */
[14:52:23] [Server thread/WARN] [Sponge]: /**********************************************************************************************************************************/
[14:52:23] [Server thread/WARN] [Sponge]: /* Could not pass the event ClientConnectionEvent$Join$Impl to an Event Listener!                                                 */
[14:52:23] [Server thread/WARN] [Sponge]: /*                                                                                                                                */
[14:52:23] [Server thread/WARN] [Sponge]: /* Since the event can be modified during the event's listener,                                                                   */
[14:52:23] [Server thread/WARN] [Sponge]: /* there could be adverse side effects of the exception occurring                                                                 */
[14:52:23] [Server thread/WARN] [Sponge]: /* such that duplications or other game breaking issues could exist.                                                              */
[14:52:23] [Server thread/WARN] [Sponge]: /*                                                                                                                                */
[14:52:23] [Server thread/WARN] [Sponge]: /* Due to the nature of the exception, this is not likely an exception                                                            */
[14:52:23] [Server thread/WARN] [Sponge]: /* that is covered by SpongeForge or Forge itself, and therefore should                                                           */
[14:52:23] [Server thread/WARN] [Sponge]: /* be reported to the mod/plugin author first prior to reporting to                                                               */
[14:52:23] [Server thread/WARN] [Sponge]: /* Sponge or Forge.                                                                                                               */
[14:52:23] [Server thread/WARN] [Sponge]: /*                                                                                                                                */
[14:52:23] [Server thread/WARN] [Sponge]: /* Owning Mod/Plugin: betterchunkloader                                                                                           */
[14:52:23] [Server thread/WARN] [Sponge]: /* Exception:                                                                                                                     */
[14:52:23] [Server thread/WARN] [Sponge]: /*     java.lang.NullPointerException: null                                                                                       */
[14:52:23] [Server thread/WARN] [Sponge]: /*     net.minecraftforge.common.ForgeChunkManager.requestTicket(ForgeChunkManager.java:746)                                      */
[14:52:23] [Server thread/WARN] [Sponge]: /*     net.kaikk.mc.bcl.forgelib.BCLForgeLib.loadChunk(BCLForgeLib.java:130)                                                      */
[14:52:23] [Server thread/WARN] [Sponge]: /*     net.kaikk.mc.bcl.forgelib.BCLForgeLib.addChunkLoader(BCLForgeLib.java:77)                                                  */
[14:52:23] [Server thread/WARN] [Sponge]: /*     net.kaikk.mc.bcl.BetterChunkLoader.loadChunks(BetterChunkLoader.java:278)                                                  */
[14:52:23] [Server thread/WARN] [Sponge]: /*     net.kaikk.mc.bcl.Events.onPlayerLogin(Events.java:107)                                                                     */
[14:52:23] [Server thread/WARN] [Sponge]: /*     org.spongepowered.common.event.listener.JoinListener_Events_onPlayerLogin299.handle(Unknown Source)                        */
[14:52:23] [Server thread/WARN] [Sponge]: /*     org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:97)                                       */
[14:52:23] [Server thread/WARN] [Sponge]: /*     org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:383)                                     */
[14:52:23] [Server thread/WARN] [Sponge]: /*     org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:347)                                     */
[14:52:23] [Server thread/WARN] [Sponge]: /*     org.spongepowered.mod.event.SpongeModEventManager.extendedPost(SpongeModEventManager.java:450)                             */
[14:52:23] [Server thread/WARN] [Sponge]: /*     org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:419)                                     */
[14:52:23] [Server thread/WARN] [Sponge]: /*     org.spongepowered.common.event.SpongeEventManager.post(SpongeEventManager.java:467)                                        */
[14:52:23] [Server thread/WARN] [Sponge]: /*     org.spongepowered.common.SpongeImpl.postEvent(SpongeImpl.java:249)                                                         */
[14:52:23] [Server thread/WARN] [Sponge]: /*     org.spongepowered.common.util.NetworkUtil.initializeConnectionToPlayer(NetworkUtil.java:384)                               */
[14:52:23] [Server thread/WARN] [Sponge]: /*     net.minecraft.server.management.PlayerList.initializeConnectionToPlayer(PlayerList.java:2407)                              */
[14:52:23] [Server thread/WARN] [Sponge]: /*     net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.completeServerSideConnection(NetworkDispatcher.java:255) */
[14:52:23] [Server thread/WARN] [Sponge]: /*     net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.access$100(NetworkDispatcher.java:72)                    */
[14:52:23] [Server thread/WARN] [Sponge]: /*     net.minecraftforge.fml.common.network.handshake.NetworkDispatcher$1.func_73660_a(NetworkDispatcher.java:205)               */
[14:52:23] [Server thread/WARN] [Sponge]: /*     net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:285)                                                 */
[14:52:23] [Server thread/WARN] [Sponge]: /*     net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:180)                                                  */
[14:52:23] [Server thread/WARN] [Sponge]: /*     net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:790)                                                */
[14:52:23] [Server thread/WARN] [Sponge]: /*     net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:397)                                      */
[14:52:23] [Server thread/WARN] [Sponge]: /*     net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668)                                                */
[14:52:23] [Server thread/WARN] [Sponge]: /*     net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526)                                                         */
[14:52:23] [Server thread/WARN] [Sponge]: /*     java.lang.Thread.run(Thread.java:748)                                                                                      */
[14:52:23] [Server thread/WARN] [Sponge]: /**********************************************************************************************************************************/
ktole1999 commented 4 years ago

any help with this is greatly appreciated.

KasperFranz commented 4 years ago

I have no issues with the following setup: Mods:

If I go to the moon, place a chunk loader (normal), go back to the overworld - the chunk is still loaded.

It does, however, remove it on reboot (it does not load it in when the world loads - which is what I will look into now

KasperFranz commented 4 years ago

This is related to the lovely stuff around worlds not being loaded when the server is starting up, I will see what we can do about this 👍🏼

KasperFranz commented 4 years ago

Please try this dev build BetterChunkLoader-3.8.0-S7.1.0-dev.jar.zip

If no issues I will create a RC with it :)

ktole1999 commented 4 years ago

test complete using the dev build and issues resolved. chunkloaders no longer reset after server restart. you are correct, it has to do with the fact that world was not loaded during server restart. many thanks and keep up the good work.

KasperFranz commented 4 years ago

Closed as this is now resolved, please reopen if any issues i found :)