0ModManager - Code Mod Support

Sozin

Friendly Neighborhood Fire Lord
Jul 9, 2016
682
1,343
505
0ModManager
preview.png

0ModManager is an Official mod that provides support for, and loads other Official mods. It is meant to eventually replace TTQMM (TTMM's built-in patcher), and provides the necessary code mod support that will allow for current TTMM mods to be moved onto the Official mod system.
It is intended that you use this alongside
TTSMM.


Features:
  • Proper code mod dependencies
    • The current mod system loads mods in a random order.
    • It also does not allow for code mods that depend on other code mods
    • 0ModManager fixes that by overriding large portions of the existing mod system
      • It allows assemblies from mods currently in your session to be loaded
      • If configured by the mod authors, it will automatically load code mods in the correct order
        (e.g. if mod A needs to load after mod B, since it relies on stuff mod B initializes during its load)
  • Mod lists not linked to your subscribed/unsubscribed list
    • By default, the mods loaded into your game are the mods you've subscribed to
    • 0ModManager provides the ability to specify exactly what mods you want in your session, subscribed or not.
      • WARNING: using unsubscribed mods will likely cause your game to hang on the mod loading screen the first time. This is a bug in the base game that I have been unable to fix.
      • This feature is intended to be used alongside TTSMM, but you can manually enter the mod list. See the workshop description for details
  • Adds a custom logging manager
    • 0ModManager adds a custom logging solution based on NLog
    • It also moves a large portion of the logging done by the game to use the new system
    • This is there, because NLog allows you to format your logs to look nice, log to different files depending on the source, and it also provides timestamps, which are helpful when trying to debug what happened and when
  • Removes the 50 mod cap that the base game has
    • Technically, there's nothing in the base game that explicitly limits your mod list to 50 mods
    • However, the base game will only check the first page of your subscribed mods list, which is limited to 50 mods
    • So in practice, there's a 50 mod limit.
    • If you're using 0ModManager WITHOUT TTSMM, (TTSMM has no such limit), then 0ModManager will automatically check for any additional mods.
Automatic Reloading
While 0ModManager should always succeed when being loaded by the official mod system, it CANNOT guarantee the same for any other mods, unless it was loaded first. As such, when TTSMM is NOT being used, 0ModManager will force a restart of the game with the same parameters TTSMM would for your current mod list. The game will close, and the launcher window will pop up again.
This should also happen if you join a lobby with 0ModManager, but your current mod list doesn't have it.


Known Issues
Game freezes on the mod loading screen
  • Sometimes, certain mods may take upwards of 5 minutes to load. NuterraSteam, especially, will cause any block mods to take a long time to load, especially if logging has been set to 'trace' (log everything).
  • If stuff is actually frozen, and not just taking a long time to process, then that's a known bug. We're not sure what causes it yet, but it appears to be in the base game, only it happens rarely, and randomly. It appears to be linked to Steam not handling downloads well. Validating the integrity of the game files should fix it for the next load.