minecraft1.7.10用のIC2 classicは2種類ある。安定している方と安定していない方だ
GCPで動かし始めたMinecraftサーバー。IC2 classicを導入して遊んでいたんですが、時折クラッシュすることがありました
// Would you like a cupcake? Time: 4/22/17 7:16 AM Description: Ticking block entity java.lang.IllegalArgumentException: Energy source ic2classic.core.block.wiring.TileEntityElectricBatBox@28fa649b is not added to the enet. at ic2classic.core.EnergyNet.emitEnergyFrom(EnergyNet.java:140) at ic2classic.core.EnergyNet$EventHandler.onEnergyTileSource(EnergyNet.java:553) at cpw.mods.fml.common.eventhandler.ASMEventHandler_30_EventHandler_onEnergyTileSource_EnergyTileSourceEvent.invoke(.dynamic) at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54) at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140) at ic2classic.core.block.wiring.TileEntityElectricBlock.func_145845_h(TileEntityElectricBlock.java:139) at net.minecraft.world.World.func_72939_s(World.java:1939) at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:489) at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:636) at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:334) at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685)
色々調べてみたところ、Eneregy関連のロジックに問題があるらしく、Batboxといった電力をプールする系のブロックの電力が空になると発生する模様。遠出して拠点に戻る際、Batboxがあるところに近づくと確実に発生するので、チャンクロードのタイミングで発生しているっぽい。
この現象が発生した後、インする度にサーバーが即死するという困った状況に見舞われるわけです(´・ω・`)
結論としては、1.7.10に対応したIC2 classicは2種類あり、今回問題が発生したimmbis版ではなく、もう一つのSpeiger版を使うことで回避できました。
ただし入れ替えすると、ワールドに設置していたimmbis版のマシンはごそっと消滅します。 機能的にはほぼ同一ですがMod自体が異なるので、まーしょーがないですね。