Update from 1.3.2 to 1.4.6 blockID error

  • When I updated from 1.3.2 to 1.4.6, I got the following error:




    Now I tested the singleplayer and it works just fine, so I'm assuming that something got changed in the update for the server. Server stays running it seems, but I can't connect to it with a client.


    I've looked in the config file, and found the code, but I have zero idea what, if anything, to change the value to. Do I have to, and if so, what do I change it to?


    edit: Ok, I did pull my 1.3.2 config file and look in there and the values are radically different than before, so that explains that. So....is there a new value that I can/should change it to so it works, or do I have to accept that my old world can't be used with 1.4.6? If so, I'm a sad panda :(


    edit 2: Problem solved, erased the ic2_map.cfg from the 1.4.6 server world folder. Except that this has now erased all the blocks that I had before, which is very bad. Will work on this further and post progress. However, from what I've seen, it's a fundamental issue with the 1.3.2 blockID's being changed to radically different versions in 1.4.6. Any help on this issue would be greatly appreciated.


    edit 3: It's only the IC2 blocks I put down that are missing, they will however be there if I replace them (this is not an option on the map). It seems as if the old blocks aren't there at all, like they were never placed down (empty air).

  • ...or you could've just copied IC2.cfg from the 1.3.2 install to the new one. Too late now -- when Minecraft loads a world with block IDs it doesn't know what to do with, it deletes them to prevent itself from crashing. The IC2_map is there for your protection against this exact circumstance.

  • ...or you could've just copied IC2.cfg from the 1.3.2 install to the new one. Too late now -- when Minecraft loads a world with block IDs it doesn't know what to do with, it deletes them to prevent itself from crashing. The IC2_map is there for your protection against this exact circumstance.

    Not an issue since I never overwrite the original world files :) Been doing network admin work for 10 years, and you ALWAYS keep backups and work with copies, at least I do.


    So I just need the ic2_map.cfg file from the old server copied over to the new one, correct? Because the old one was causing the block conflict issue in the first place, but I'll give it a try and report.


    edit: didn't work, I get a crash on client connect saying that FML is missing a bunch of blockID's. Have to hit work right now, so feel free to post possible solutions/discussion and I'll hit them when I get home. Much appreciated on the help guys. :)

  • No, you need the entire old world copied over to the new one. IC2_map.cfg does nothing, by itself -- it's just a marker for IC2 to look at and say "so, when this world was created, this is what the values for my block and item IDs were". FML has its own implementation of basically the same thing (it came later, if you're wondering why there are two implementations of the same thing), except FML also checks when you connect to a server -- so if block IDs don't match between client and server, it'll know not to let you on, to prevent crashes and exploding rubber trees*.


    What you need to do is have the old config/IC2.cfg on both your server and client(s) and also re-copy your old server world to the new one (as previously mentioned, the new one was rewritten to delete all IC2 blocks when you first successfully loaded up the world on the server). Doing it this way will keep the exact same block and item IDs that were on the server before, both in the config and in the world itself. IC2 hasn't actually changed its default block ID allocation at all -- but its default block IDs are under 256, and Forge is currently unwilling to allow that as a default; it will only allow it if the config file says so.


    If, for some reason, you want to update the world, there is a script called mIDas, which can load up the world and change the old block IDs to the new ones, as long as you can tell it what to change to what. To my thinking, and for my own personal needs, that's an unreasonable amount of work for something that can be as easily settled by just reusing the old configs. On the other hand, if you're trying to gain compatibility with a fresh install (one that will not have had the old config installed), this is an option.



    * -- I had this happen to me back before Better Than Wolves broke compatibility with Forge (possibly even before Forge existed): my client had BTW flour mills on the block ID that the server had rubber tree leaves. The flour mill block had a default behaviour of emitting random explosion sounds once in a while. Therefore... exploding rubber trees.

  • Home on lunch so figured I'd try the following:


    erase the new world folder
    copy over the 1.3.2 world folder
    copy the old and overwrite the IC2.cfg and main.conf (BC3) files
    run server


    works great, but I can't get the Transformers mod working, mostly because there isn't a config file for me to copy over from 1.3.2 to 1.4.7. The specific error:




    2013-01-23 12:44:56 [SEVERE] [ForgeModLoader] FML has detected item discrepancies
    2013-01-23 12:44:56 [SEVERE] [ForgeModLoader] Missing items : {201=Item 201, Type snyke7.Transformers.ItemPneumaticGenerator, owned by snyke7_Transformers, ordinal 0, name pneumaticGenerator, claimedModId null, 200=Item 200, Type snyke7.Transformers.ItemElectricEngine, owned by snyke7_Transformers, ordinal 0, name electricEngine, claimedModId null}
    2013-01-23 12:44:56 [SEVERE] [ForgeModLoader] Mismatched items : {}



    Will attempt to further fix this when I'm home from work. Aside from this, it seems that the port over has worked well, just need to figure out how to manage this. Any ideas? Can I manually input the blockID values somewhere and have it work?

  • Ok, finished and totally ported over. What worked was to copy the old configs over from BOTH the client and the server from 1.3.2 to the new 1.4.6 server. Tested the following method and vouch it works:


    1. Install the new server, including mods. Run it once to build the structure.


    2. Copy over the old config files for the server (and client too, assuming you have the mods installed for the new client)
    3. Erase the world folder in the new server.
    4. Copy over the old world folder.
    5. Run
    6. ???
    7. Profit.


    Just have to make sure that you copy over the old blockID values in the config files, and then it works no issue.