TTSMM - the UNOFFICIAL Official (Workshop) Mod Manager

What OS are you using?

  • Windows

    Votes: 165 93.8%
  • MacOS

    Votes: 5 2.8%
  • Linux

    Votes: 6 3.4%

  • Total voters
    176

Sozin

Friendly Neighborhood Fire Lord
Jul 9, 2016
702
1,359
505
Are you annoyed by having to subscribe/unsubscribe from mods to enable/remove them in your game? I am.
So over the past year, I've been working on a project:

icon.png
TerraTech Steam Mod Manager (TTSMM)
collection-background.png
THIS IS AN UNOFFICIAL (NOT MADE BY PAYLOAD) MOD MANAGER.
IT'S AN EXTERNAL PROGRAM USED TO LAUNCH THE GAME WITH CUSTOM PARAMETERS.


IT ALSO ALLOWS THE EXECUTION OF ARBITRARY CODE IF YOU CONFIGURE IT TO DO SO, SO BE CAREFUL
(This does not happen by default, and requires manual effort to enable)

Currently, TTSMM is Windows only. If the demand is high enough, that may change.
(I would have to manually build/compile and test it on a Mac/Linux system).

Download the latest build here.
For Windows Users:
How it works:
TTSMM is built using NodeJS, and uses React to construct the display. Electron is used to build and package it as a desktop app, and allows for the ability to easily (hopefully) make it cross-platform in the future. The source code can be found on my Github here.

TTSMM uses the
Steamworks SDK to get a list of your currently subscribed mods, and to fetch information about those mods from the Workshop. The code that interfaces between the Steamworks SDK and the NodeJS based TTSMM can be found on my Github here.
TTSMM takes advantage of a pre-existing system in the vanilla game that allows you to load a specific set of mods in your current session. The game detects this by checking if you've launched the game with a specific set of arguments.

TTSMM will launch the game with only one workshop mod using the base game system: that mod is your configured mod manager. Currently, it's set to
0ModManager by default. It will then put a list of your selected mods in a separate argument for 0ModManager to read.
I may add the option to load a specific mod set without 0ModManager if there is enough demand, but this is NOT recommended.

0ModManager will then patch your game so it will be able to load mods with code dependencies properly (this is missing from the base game), and then handle the loading of said code mods in their configured order.
Said order may be random, within the constraints provided.

  • E.g. if mod A requires mod B to load first, mod A will always load after mod B.
  • If mod C is also selected, but it has no restrictions, CBA, BCA, and BAC are all possible load orders
0ModManager will also flag your game so that you will be UNABLE to see the MP lobbies of people who are NOT using 0ModManager. (Because it's likely the person not using 0ModManager will have some of their mods fail to load, and not be able to play with you anyway)

DO NOT SWITCH MOD MANAGERS UNLESS YOU KNOW WHAT YOU'RE DOING
 
Last edited:

Sozin

Friendly Neighborhood Fire Lord
Jul 9, 2016
702
1,359
505
reserved for when I get around to uploading more screenshots/videos/usage guides/etc.

FAQ:
  1. Can I use this with TTMM/TTQMM? ****
    Yes. They are completely separate managers that handle two completely separate sets and types of mods. When workshop ports of TTMM mods start being released, then those mods will need to be disabled in TTMM.
  2. How do I use this with TTMM?
    Make sure to open TTMM at least once after every game update. TTMM requires you do this, so it can patch the game executable. After you've done that, and disabled any mods you're using the ported versions of, close TTMM, and launch through TTSMM
*EDIT: TTMM needs an update to support compatibility with TTSMM.
You can get it by:

  • click File > Remove Patch in TTMM
  • click File > Download Latest Patcher in TTMM
  • Verify patch is installed as normal
 
Last edited:

Sozin

Friendly Neighborhood Fire Lord
Jul 9, 2016
702
1,359
505
Bugs are only related to TTSMM if they happened BEFORE the game launched (with few exceptions). For bugs that happened AFTER the game launched, report bugs to the author of your configured mod manager, using the mod manager's log files. The default manager is 0ModManager.
After you are able to reliably reproduce the bug:
  1. Go to Settings, and change the logging level (should be in the bottom left of the settings page) to either Silly or Debug, then reproduce the bug. Close TTSMM immediately, and wait a few seconds.
  2. Then, please ping me in the #modding-help or #modding-official channels of the Discord, and send me logs when requested (Discord is preferred).
    Bugs may also be reported on this thread, but I would like to keep this thread dedicated to general discussion and feature requests.
TTSMM creates 2 log files: main.log and renderer.log. They should be located under your user data path.
For Windows:
- C:\Users\<Username>\AppData\Roaming\TerraTech Steam Mod Manager\logs
Mods not working properly should only be reported to me for 0ModManager if certain requirements are met:
  • 0ModManager only patches assembly loading and loads mods.
  • If mods are missing from the game entirely (you've checked the 0ModManager logs, and there's no trace of the mod, or its workshop ID anywhere in the params list), that's a TTSMM problem.
    The params list is found in Logs/ModManager.log, and will look like this:
    Code:
    2022-04-08 19:56:59.0912 | INFO | ModManager | Running game with params: E:\Steam\steamapps\common\TerraTech\TerraTechWin64.exe +custom_mod_list [workshop:2790161231] +ttsmm_mod_list [[local:Community:/%20Patch],[local:FuelRegen],[local:Laser:/%20Mod],[local:Patch:/%20Custom Corp Crafting],[local:SciFi],[local:ServerWrapper],[workshop:2203815768],[workshop:2208789533],[workshop:2221204998]] +log_level trace +log_level_NuterraSteam warn +enable_vanilla_logs +manage_ttmm
    • Note the INFO. The default logging level is ERROR, so that won't appear in the logs. Set the logging level to INFO or below, and then check for the params in the logs.
    • There is a new GUI for settings log levels. Leave the logger ID blank to set a global log level
  • If a mod loads properly, but has a bug after that, then you should report the bug to the mod author.
  • If the game crashes, or hangs when loading or creating a new game, then that's a 0ModManager bug
0ModManager tries to take over the logging responsibilities of TerraTech. As such, logs can now be found in several different places.
Mods that don't take advantage of 0ModManagers' built-in logging manager will still have their logs written out to the default output_log.txt logfile.
Mods that do, and 0ModManager itself write their logs to the new Logs directory under the base Steam installation.
This is something like E:\Steam\steamapps\common\TerraTech\Logs on Windows.

To report bugs:

  1. Go to Settings INSIDE TTSMM, and add this to the "Additional launch Arguments" input field: +log_level trace.
  2. Then, relaunch the game, reproduce the bug, and Alt-F4 (close the game) immediately.
  3. Ping me in the #modding-help or #modding-official channels of the Discord, and send me logs when requested (Discord is preferred).
  4. Send me ModManager.log, DependencyGraph-Type.log, output.log, output_text.log if extant.
DO NOT UPLOAD LOGS TO THIS THREAD, OR A PUBLIC DISCORD CHANNEL.
THEY MAY CONTAIN PERSONAL INFORMATION, LIKE YOUR NAME OR COMPUTER USERNAME, WHICH SHOULD BE STRIPPED OUT BY YOU MANUALLY.
 
Last edited:

Sozin

Friendly Neighborhood Fire Lord
Jul 9, 2016
702
1,359
505
Mac/Linux build status:
Mac: NEVER HAPPENING
Linux
: Waiting on new computer


There's a beta web version of TTSMM for Mac/Linux users that I never got around to finishing due to technical limitations, but it sort of works: https://flsoz.github.io/ttsmm-web/

You are required to install an extension to the browser that automatically enables CORS everywhere. An example is this on Firefox: https://addons.mozilla.org/en-US/firefox/addon/cors-everywhere/

After that, you either paste the JSON content from someone who actually has TTSMM on windows (copy clipboard icon at top right) on the TTSMM collection page, or go to the Steam collection page and input the URL of a Steam collection of mods. It should be automatically truncated into just numbers, which will be the UGC id (you can see it at the end of the collection URL).

The launch game button will attempt a launch through Steam, at which point Steam will throw a warning, where you must click OK.
1683233705634.png

I added cookies to it, so it should save your session between visits.
 
Last edited:

Sozin

Friendly Neighborhood Fire Lord
Jul 9, 2016
702
1,359
505
I changed it to optional for a reason. It's created when mod authors export their mods to local mods for testing.
 

OmniBLU7

Random boi that plays Deep Rock Galactic
Oct 30, 2021
36
4
410
17
The build I had needed it for some reason. But thanks anyway.
 
Last edited:

OmniBLU7

Random boi that plays Deep Rock Galactic
Oct 30, 2021
36
4
410
17
I found a workaround with my issue, I just made a localmods folder myself.
 

xXxTITOxXx

New Member
Apr 17, 2022
1
0
2
i need to have the game from steam to be able to use these ?
TerraTech Steam Mod Manager (TTSMM)
 

Sozin

Friendly Neighborhood Fire Lord
Jul 9, 2016
702
1,359
505
UPDATE - v1.5.4
Changes:
  • Bringing up the mod details section will no longer happen if you click anywhere on the row.
    It was getting annoying when I went to disable a mod, but opened up the details section instead.
    Now, you must click on the mod name column to open up the mod details. Clicking anywhere else will not.
  • Stricter checks and validations have been added to ensure that you have properly configured the game executable's path in settings
    If you open TTSMM with an invalid executable path, it will automatically load the settings page, and force you to set it correctly
TTSMM will not work unless the executable path is set correctly, much like TTMM.

You can get this update by clicking Updates > Check for Updates on the topbar.
Alternatively, you can download an installer from the appropriate release on the github, and manually install it that way.
 

Attachments

Chewypeach99

Well-Known Member
Sep 24, 2021
2
0
203
where is the download for this item? I cannot seem to find it and it is bugging me that i'm missing out on it cause I cannot see it...
(edit where it says here is the link can you make the link stand out a little bit more cause I was clicking the drop down menu and not the "here" so yeah... I am blind most the time...)
 

Sozin

Friendly Neighborhood Fire Lord
Jul 9, 2016
702
1,359
505
UPDATE - v1.5.5
Changes:
  • Fix a bug that would detect TerraTech as running when TTMM was open
  • Strip out any mention of TTSMM in mod titles, e.g. (Needs TTSMM), which I put at the end of the titles of all the mods that need it
  • Add an automatic update check that happens when you open it
    If this fails (e.g. no internet), you should get an error popup, but the app should still open as normal
Bugs:
TTMM compatibility is broken. Always has been. I just never noticed because I had manually fixed it locally. See my edit here for details: https://forum.terratechgame.com/ind...icial-workshop-mod-manager.22683/#post-158093
 

Sozin

Friendly Neighborhood Fire Lord
Jul 9, 2016
702
1,359
505
TTMM patch is released - instructions have been updated
 

Mirages689

Well-Known Member
May 7, 2017
33
1
410
30
I don't know what to i read everything did everything I'm suppose to. When I lunch game from TTSMM no mods load. When I load from steam it work as normal with mods with TTSMM. NO MENU option for mods the steam way.
 

Sozin

Friendly Neighborhood Fire Lord
Jul 9, 2016
702
1,359
505
UPDATE - v1.7.7
Changes:
  • New loading animation
  • Allow filtering to work on short-form Corp ID
  • Enhance icons used for tag replacement
    • Icons now appear larger even when compact rows are enabled
    • Compact rows is an option, accessed by using the toolbar's settings menu (the full white gear) at the top right
  • Add custom green code icon at the end of code mod names
  • Add copy to clipboard functionality for the current mod collection. Use this instead of sending 5 screenshots
  • Update tooltips to answer some FAQs in the settings menu:
    • The Local Mods folder is in fact optional. Is only really used by mod developers
    • TTSMM logging level is for TTSMM only. It does NOT impact any logs generated by the game, or any mods

1662515315652.png
 

Sozin

Friendly Neighborhood Fire Lord
Jul 9, 2016
702
1,359
505
UPDATE - v1.7.8
Changes:
  • Added a warning confirmation modal before you can delete a collection
  • Added a new Steamworks initialization screen where you can continuously retry until it works
  • Recolored the copy to clipboard button to no longer be bright green
  • Added a "Refresh Steamworks" button that will take you back to the Steamworks initialization screen
1663824270997.png
 

PhearThePhunk

New Member
Nov 15, 2022
1
0
2
Hello! I was just wondering. Is it possible for TTSMM to sync to the Steam Cloud? I've been wanting to play my campaign on different devices but I've noticed it hasn't synced my data to the cloud. If TTSMM can't sync, it'd be a good suggestion for a new feature!