Minecraft Comes Alive (MCA)

Minecraft Comes Alive (MCA)

13M Downloads

Client Crash with MCA 5.1.2 for 1.7.10

Opened this issue ยท 9 comments

commented

Hi Mate,

I'm getting a client crash on login - the server prompts the below;

[13:51:33] [Server thread/ERROR]: Exception caught during firing event cpw.mods.fml.common.gameevent.PlayerEvent$PlayerLoggedInEvent@203ce372:
java.lang.NullPointerException
at mca.core.forge.EventHooksFML.playerLoggedInEventHandler(EventHooksFML.java:85) ~[EventHooksFML.class:?]
at cpw.mods.fml.common.eventhandler.ASMEventHandler_186_EventHooksFML_playerLoggedInEventHandler_PlayerLoggedInEvent.invoke(.dynamic) ~[?:?]
at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54) ~[ASMEventHandler.class:1.7.10-1614.46]
at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140) [EventBus.class:1.7.10-1614.46]
at cpw.mods.fml.common.FMLCommonHandler.firePlayerLoggedIn(FMLCommonHandler.java:572) [FMLCommonHandler.class:1.7.10-1614.46]
at net.minecraft.server.management.ServerConfigurationManager.initializeConnectionToPlayer(ServerConfigurationManager.java:241) [oi.class:?]
at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeServerSideConnection(NetworkDispatcher.java:200) [NetworkDispatcher.class:1.7.10-1614.46]
at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeHandshake(NetworkDispatcher.java:475) [NetworkDispatcher.class:1.7.10-1614.46]

commented

Not sure if I have done It right, but this at the very least lets me back on the server.

https://github.com/DraksterAU/minecraft-comes-alive/commit/b0958f53d25932c1f47946d5af6adf6acadba234

commented

Corrupted player data, unfortunately seems to stem from mods that add new dimensions.

commented

Can you have player data cleared when it gets corrupted at the very least? A recurring server crash is something that should be prevented..... It's hard to tell what player data is corrupted.

commented

Yes, it's located in the world folder in a folder called playerdata-mca. File names are player UUIDs, so you'd have to look up the UUID of the player who's connecting. The name of the player will appear in the server console just before the error you've posted.

commented

I'm asking if you can have some validation on the player data in your mod and if it fails, delete it. Don't crash the server.
MCA not supporting multiple dimensions is a bit ... Sad.

If admins are offline overnight none of the US based players can play for a whole day... (Our admins are based in oceanic region).

Manual intervention shouldn't be required :P

commented

sorry if I sound like a dick, lol!

commented

Does anything in your player data perform a teleportation or try to load the world in the player data?
You might need to send dimensionRegisterPackets. They're an optional thing in forge designed to prevent crashes like this.... Some mod authors that add dimensions use them some don't. It's far more reliable for the mod that relies on the dimension being registered to do it for them... For example SGcraft does this.

commented

Flat out deleting the player data isn't really a solution. The issue also doesn't occur without mods that add additional dimensions, and doesn't always occur when they do add dimensions. Seems to point to someone else's blunder when handling dimensions, so not much I can do in that sense.

commented

IIRC without checking all I do is look for the overworld's save directory. Data shouldn't be created per dimension. If I knew exactly which mod(s) caused this issue I could reliably debug it.