BUG: Miner TE code crushed SMP server's map

  • 4 miners in row, crush after some time, no way to recover map without removing miners.



    Currently working at temporary solution will provide more info later.

  • Reason: chunk unloading, whatever chunk with active miner unload game will crush on next loading of chunk with miner.


    other machines not tested yet.


    temporal fix - changing mining pipe block it, this will stop all miners and fix problem.


    added:


    looks like miner will try to operate BEFORE chunk is loaded, or something like this, related to world.obj blockat function, cos this is only line without isnull protection.


    added: i able to reproduce this bug on video (youtube or whatever) or send region file from smp server (IC2 mod only), basic steps:


    1) Go away from spawn, it always loaded, 500 blocks is okay.
    2) Place miner, diamond drill stack of pipes, OV scaner and set of single use batteries.
    3) Wait miner to place few pipes.
    4) Leave game.
    5) Wait 15 seconds.
    6) Join again, server will crush.


    one more addition:


    same shoud happen to pump, teleporter, terramorfer and reactor and basically to any other machine that scan for blocks in world.


  • IF that's the case, since the fix owuldn't be complicated, will there be a patch?

  • this is not "patch" only method to recover your world to backup it and wait for solution.


    second solution is to replace te code for miner with code that does nothing, but i was not able to compile it back.

  • Basically this need hotfix, ever if you stay near miner, on connection problem or server problem you will get map corruption.


    Easy solution try catch block for this expeption, this will force server to continue ever if miner attempt null block.


    Also, looks like miner will crush map if hit void, there is no zero height check (or i missed it).


    Checked other machines:
    Pump - no crush.
    Reactor - no crush.
    Terramorfer - not cheked.