it gets solved by split my mods into several zip file, quite strange, a bug with classloader?
Please ignore this post
it still occurs
whenever i invoked player.readFromNBT in onPlayerLogin with IPlayerTracker
k, i did nothing, but still occurs\
its my problem, sorry, ignore this topic please
the server unloads overworld(dimension 0) when the only player logs out
i am modder of LainCraft, i kept DimensionManager (and all related things) untouched.
and i checked latest and recommended version of forge, still get to this impossible crash.
patched classes:
ChatAllowedCharacters (for localization)
FontRenderer (wont be patched on serverside) (for localization)
GuiScreen (wont be patched on serverside) (for localization)
NetClientHandler (for modding with clientside player)
PlayerControllerMP (wont be patched on serverside)
ServerConfigurationManager (for modding with serverside player)
serverlog:
i tried to adds "throw new RuntimeExcpetion("TRACETHIS");" to DimensionManager.setWorld, the result shows overworld is unloaded through MinecraftServer.updateTimeLightAndEntities --> DimensionManager.unloadWorlds
and unloadQueue is associated only with DimensionManager.unloadWorld
then unloadWorld is invoked from ChunkProviderServer.unload100OldestChunks which is impossible for overworld (marked as keeploaded by default)
and when i delete AuthManager from my whole mod, it runs normally.(i tried made it not to register any hook, and it still gets the impossible bug)
if necessary i can provide the whole mod which is still under completion
and sorry for my bad english
a simple test mod which adds a command "/spawnworlf" into lan servers.
everyone in the server is allowed to execute.
it will create a tamed wolf for the player who execute it.
tested under modloader.
TestCommand.zip
2012-08-24 21:14:33 [iNFO] [sTDERR] Exception in thread "Minecraft main thread" java.lang.NoSuchMethodError: ModLoader.addCommand(Lp;)V
This method is only available for LanServers