[ModloaderMP] Mod load ordering issues

  • In my case the problem currently occurs before IC2 is even loaded; an addon module wants IC2 to load first, but everything I've tried (naming the files starting 0-9 then in alphabetical sections, and then re-uploading them in the order I want them loaded; etc) has failed to remove the problem that modules are not loaded in either the order I specify (to satisfy dependencies) or to automatically catch errors and retry the remaining modules in a subsequent pass.


    Posting logs of the problem is somewhat meaningless; the required solution is already known to me; I just don't know if there's a properly documented method that is known to always work (instead of behavior that /had/ worked in the past but now does not), or a proper place to report / obtain the loader's offending source and offer a patch (to sort the list of incoming filenames and operate on that).

  • Nameyour mainfile it something with mod_Z[name]
    Or at least a letter with something past I.

    Yeah wonderful tip I think a lot people been getting owned with this. I was loading advance machines before IC it was crying. So All I did was rename it. But even sometimes rebooting second time works really strange lol.

    Check out Our Brand New GT New Horizons Server .:Here:.
    Check out Our Brand New GT New Horizons Let's Play Series .:Here:.

  • Nameyour mainfile it something with mod_Z[name]
    Or at least a letter with something past I.

    I already told you I /was/ doing that. I tried letters AND numbers. Does this need to happen /inside/ the .zip file? I have to repack other people's mods instead of renaming their containers?

  • Just to try /everything/ all over again....


    Oddly it seems to ignore the outward timestamps, the ctime on the files, the filenames of the files; yet is still repeatable.


    Filenames ls -lrt mods/




    I removed everything in mods/ then copied the files back over one at a time, in order (via for x in * ; do cp "$x" "destination/$x" ; done)



    ModLoader.txt log


    I -believe- the error is in the ModLoader.class (part of the modloadermp server package, but from Ritsugami's modloader?)


  • Let me guess, Linux server? If so, modloader load order is kinda borked right now...
    There may be a work-around here if you're adventerous


    http://code.google.com/p/addit…issues/detail?id=18&can=1

  • Hi.
    The way people usually get this to work (assuming you are on Linux) is to put all mod-of-mods into the .jar of Minecraft itself. If you were running a Linux Minecraft server with IC2 and Advanced Machines, you'd put the contents of the advanced_machine_server.zip into the minecraft_server.jar. while leaving IC2 in the /mods directory. Minecraft loads everything that is in the .jar last, and since you have all of the mods requiring dependencies on other mods in your .jar they are guaranteed to load after their required mod, assuming their required mod is in the /mods directory still.


    This problem is caused directly my ModLoader and the way it reads load order. It loads files based on how the OS it's running on does it, so on Windows machines it's alphabetical. Linux is (I believe) creation date of the files.

  • Hi.
    The way people usually get this to work (assuming you are on Linux) is to put all mod-of-mods into the .jar of Minecraft itself. If you were running a Linux Minecraft server with IC2 and Advanced Machines, you'd put the contents of the advanced_machine_server.zip into the minecraft_server.jar. while leaving IC2 in the /mods directory. Minecraft loads everything that is in the .jar last, and since you have all of the mods requiring dependencies on other mods in your .jar they are guaranteed to load after their required mod, assuming their required mod is in the /mods directory still.


    This problem is caused directly my ModLoader and the way it reads load order. It loads files based on how the OS it's running on does it, so on Windows machines it's alphabetical. Linux is (I believe) creation date of the files.

    Worse, Linux is like DOS in that it lists them off in the order they happen to be found by the filesystem. If you want things to be a /sorted/ collection you're supposed to do that your self by whatever metrics matter to you. (This of course makes sense from a design perspective; it isn't the operating system's job to do un-necessary work; if you wanted it sorted the standard library has the same routines it would have used had that been the design; you're free to call them your self if it's desired.)


    So yeah, that'd directly be modloader being broken instead of sorting the results it's self (or at the VERY least allowing a static list of 'must load these first/in order' in it's config file).

  • You're crazy. The ordering is static and repeatable; yet has no reliable correlation to file time or name. Having given my above explanation I can however make a slightly educated guess that it's most likely related to the /hash/ of the filename used as the key for storing the file's information. This would explain the observed behavior perfectly.

  • Worse, Linux is like DOS in that it lists them off in the order they happen to be found by the filesystem. If you want things to be a /sorted/ collection you're supposed to do that your self by whatever metrics matter to you. (This of course makes sense from a design perspective; it isn't the operating system's job to do un-necessary work; if you wanted it sorted the standard library has the same routines it would have used had that been the design; you're free to call them your self if it's desired.)


    So yeah, that'd directly be modloader being broken instead of sorting the results it's self (or at the VERY least allowing a static list of 'must load these first/in order' in it's config file).

    This is beyond my understanding but people I know that are smarter at this stuff put the blame squarely on ModLoader as you say. Unfortunately for us, the creator of ModLoader doesn't seem to care at all and has been asked by multiple people, especially the Forge team, if he can put in the fix for it. Time will tell if we can convince the Forge team to either alter ModLoader to put in an actual load order component in or if Forge does away with ModLoader entirely.

  • TBH I wish that Forge would do away with ModLoader completely, no offense to the author though. I run Linux and this whole ordering problem is just plain annoying.