You are viewing a potentially older version of this package. View all versions.
kyxino-LethalModManager-0.1.6 icon

LethalModManager

[BETA] An in-game mod manager with the ability to sync mods between hosts and clients.

Date uploaded 7 months ago
Version 0.1.6
Download link kyxino-LethalModManager-0.1.6.zip
Downloads 46151
Dependency string kyxino-LethalModManager-0.1.6

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2100

README

LethalModManager Beta

Manual Installation NOTICE Features Q/A Upcoming Features Changelog Known Issues Support Me

The only in-game mod managing solution that also features mod syncing when joining lobbies as long as the host has LMM as well. Due to it being an in-game solution, if you can run mods on your device, you can also run this mod manager, even if you are on macOS. (Claim has not been tested on all, but most will work for sure.) I currently only recommend daily driving it for mod sync and simple mod downloading, not any of its mod managing capabilities yet. More is soon to come.

Manual Installation

  1. Setup BepInEx (If not done already, video by TheViperian provided.)
  2. Download and extract the latest version.
  3. Place the folder kyxino-LethalModManager in the BepInEx/plugins directory.
  4. You can now launch the game.

NOTICE

All mods downloaded via LethalModManager will not run until the game is relaunched, this is the same for enabling/disabling/deleting mods as well. LethalModManager is still in beta, but is undergoing a lot of development. (I DO NOT yet recommend this as a full-on "replacement" for TMM/r2mm.) EXPECT A LOT OF THINGS TO BE ROUGH AROUND THE EDGES, I AM IRONING ALL THE BUGS OUT AND ADDING INDICATORS FOR A LOT OF THINGS AS SOON AS POSSIBLE. DEVELOPMENT WILL BE A LOT FASTER NOW. FOR NOW, EVERYBODY SHALL BE MY TESTERS, MUAHAHA- ack- cough cough anyway. A lot of things will be changed during beta, including lobby searching. (I will soon have an entire UI for advanced lobby searching that will not affect the in-game one for compatibility/legacy reasons.) Not everything may work or work at its best, but I am still working on making it all better. If any issues occur, please check this section if it has already been reported or to contact me.

Features

Local Mod List Allows you to see all of your mods, but cannot be edited from within the game unless ModManager is enabled.
  • Shows you the Thunderstore data for each mod you have running. (Icon, name, version, TS link, creator, downloads, number of modpacks using it, likes, dependency count, size, description, tags, last updated, and creation date.
Mod Manager Provides you with the ability to manage your mods in game with a Thunderstore search and everything.
  • Thunderstore Search (Basic for now.)
  • Mod Downloading
  • Mod Profiles
Lobby Mod Syncer When joining an LMM hosted lobby, you will be prompted for all the mods you need to download before joining, then quick restart.
  • Indicator for lobbies that have a host with the mod.
  • Allows setting mod download priorities to Required/Preferred/Optional.
  • If mods are required, you can either decline the connection or comply.
  • Downloads mods upon accepting, then quick restarts to automatically rejoin that lobby.
[TEMP REMOVED DUE TO V50] Lobby Resizing (Disabled by default.) Allows you to set your lobby sizes to whatever you want, just don't kill your computer/network.

Questions/Answers

How to use? I try to have things as straight forward as it can be, but if you can't figure something out, please reach out to me, my Discord, or my thread for answers.
  • Just download the mod however you normally do, when you are in-game, click LethalModManager and you will be shown your current mods, there are multiple tabs on the left for different things: the box is your mods/profiles, the globe is Thunderstore search, the download is all of your cached mods, and the reload symbol is to reload Thunderstore data that LethalModManager heavily relies upon.
  • Mods are listed with their icon, name, latest version, Thunderstore URL (globe button), creator (dev symbol), downloads, dependents (mods/modpacks that rely on the mod, indicated by the box icon), likes, dependencies (mods that the mod/modpack need to function, indicated by the gear icon), latest size, description, tags, last updated, and the creation date. (Soon there will be settings for choose how some of those things are calculated/shown, but for now, this is the way.)
What took so long?

Roadmaps had to change around due to some limitations, and then a change in direction for beta/full release. This happened because I felt as if it doesn't live up to its name as a mod manager if not even the beta is a mod manager, but also because of limitations with mod syncing if I didn't do this already. A lot of extra things had to be added due to limitations, which is why it kept taking so much longer than intended. This was also due to the fact that I did not like how the UI was at first, so I had to improve it to make it more bearable and comprehensible. Eventually things kept leading to more and more requirements to even release the beta:

  1. Mod Syncing -> Good UI
  2. Mod Syncing -> Mod Managing
  3. Mod Managing -> More UI
  4. Mod Managing -> Mod Profiles
  5. Mod Profiles -> Even More UI
  6. Mod Syncing -> Lobby Searching
  7. Lobby Searching -> Even MORE UI
  8. Lobby Searching -> My Own Resizable Lobbies (or attempting to force patch out MoreCompany and other mods from changing the lobby query filters. I am doing both.)
  9. Resizable Lobbies -> A Little Extra UI (ended up getting temp removed due to v50 LOL)

(Probably some more here that I forgot about, but this is just a simplification anyway.) All of this was done myself. I did all of the code, UI, icons, planning, etc.

I also had to constantly fix three of my mods: LethalUtilities, LethalEditor, and CodeJoel. LethalEditor is now fully stable (apart from some occasional issues with UGC), but CodeJoel still isn't properly working (but was a gag from the get-go). As for LethalUtilities, I was trying to get things stable until I would have to rewrite it after releasing LethalModManager's beta or full release. It also didn't help that during the development of LethalModManager, I wasn't working on things one at a time and just kept doing everything at once and mixing things up. (and then proceedingly rewrote the entire mod numerous times, practically) There are still some issues now that I had to finally ignore because it delayed this like crazy, and people can live without the changes I was trying to make. (Update on that last part: the biggest issue had been around since February/March, and had realized the solution after I gave up on it while working on the last features for beta release... why...)

tl;dr: Kept rewriting a lot of stuff due to shifts in the focus of beta, then had a bunch of issues that required rewrites, and then I finally stopped trying to fix every tiny issue because it delayed LMM more and more.

Why is this closed source?

There are some security concerns due to how mod sync works (and if developers may fork this and accidentally compromise it for some meaningless gains for seamless downloads or other things) to keep it short. As for other features, I actually wouldn't mind open sourcing some of them, but I don't know when that will be as things will only be becoming more tightly packed into the code.

Upcoming Features

Lobby Searching (Mostly Full Release) Allows you to apply your own filters for finding lobbies, ESPECIALLY for LMM hosted lobbies.
  • Saved Filter Settings
  • Offensive Words Filter - true by default.
  • Same Version - false by default. (Recommended to keep off.) (May hide lobbies with mods/APIs that change the version, but I may make it auto-detect and include those, but idk yet.)
  • LethalModManager Hosts Only - true by default. (Recommended to stay on.)
  • Challenge Moon - Show by default. (Hide, Show, Only)
  • Name/Tags Filter
  • Player Count Filter
  • Lobby Count (Max is 50 due to Steam, but I have extended it to be bigger, just takes a bit more time. This was done, but then had an issue, so I'm leaving it out for now.)
  • Sort - Worldwide by default. (Near, far, Worldwide.)

(Probably some more that I will figure out soon.)

Lobby Late Joining (Full or Late Release ;P) Allows late joining, along with features that complement LobbySearch.)
Lobby Manager (Unknown Release Date)
  • Allows setting up your lobby however you want before starting for some stuff, but if LLJ is enabled, you can set the rest of the stuff at any time, this includes setting your game to public, private, friends only, 16 -> 12 players, maybe even late joining, etc. whenever you want.
  • Pending Join Requests
  • Live Lobby Size Changing
Lobby Cosmetics (Full or Late Release) Think of it like VRChat, it will allow lobbies to enable whether or not they want nicknames and cosmetics, or even local custom cosmetics, along with users being able to toggle whether or not they want to see it on others, but will also include custom suits and color picking suits, this will all depend on the lobby settings and the players in the game.)
  • RGB Suit Picker (Full color range for each part of the suit.)
  • Third Party Suit Support (Along with non-online support.)
  • Online/Local Cosmetic Support (Join with custom cosmetics, allow custom non-uploaded cosmetics to be shown as well.)
  • Nickname Support

(ALL CAN BE DISABLED, OR PARTIALLY ENABLED, IF NEEDED.)

Game Saves (Full Release or Sooner) Allows more than 3 slots, renaming, and tells you what mods were played on that save so that you can not worry about corrupting/losing stuff.
  • Increased save counts.
  • Mod list per save slot so you know what mods to play with per save.
  • Timestamps
  • Renaming
  • Extra stats
Mod Manager's Config Editing (Full Release or Sooner) This will take a bit to get the UI done, but it is a high priority because this is a mod manager.
Mod Manager's Profile Codes (Full Release or Sooner) The same thing as other profile codes, just in-game, helps modders out for testing private modpacks.
Additional Mod Syncing Features (Full Release or Sooner)
  • Some sort of basic lobby compatibility list, but will only work for hosts that also have the mod, it will show the missing mods and extra mods you have. Will allow preventing people with missing/outdated/extra mods with in-game options.

Known Issues

(Please report any issues to me ASAP via my Discord or the LC Modding Discord in my thread.)

  • Local mods cannot be deleted.
  • Some mods may not delete properly. (These are typically APIs that are dependent on by other mods.)

Support Me

ThunderstoreDiscordKo-FiCashApp

CHANGELOG

0.1.6 (Fifth Patch)

  • Every previous version of LethalModManager was broken because of one mod: FunnyRacoonVideo by TeamRacoon.
  • It was my fault for having the file size be limited to 32 bits (~4GBs), so the parser BROKE because of 5GBs OF RACOON VIDEOS. (I legit debated on switching it to 64 bit numbers because of the possibility on the night of beta release, but didn't because I didn't know if it would end up using too much more memory- p.s.: it didn't, testing does miracles, I should do it more.
  • LethalModManager can now handle mods up to 8 exabytes using signed longs. (I'm pretty sure Thunderstore's servers aren't even this big.)

0.1.5 (Fourth Patch)

  • Fixed the bottom left version to change every time I update LMM.
  • Fixed empty mod folders after deleting a mod.
  • Changed it to disable the delete/disable button if it fails. (This usually happens for APIs that have dependents.)
  • Fixed it where if you click Disable Mod, it will change to Enable Mod.
  • Fixed "improper" manual installs breaking LMM and quite possibly LMM's mod sync.
  • Set priority for the hosting menu to show up last if another mod happens to use the host button as well. (cough AC cough)
  • Fixed an issue when rehosting a lobby wouldn't show the mods before confirming, which would mean no mods are required. (This also shows your last chosen RPO settings, but only if you didn't close out the game, a future update will cache it per mod later on.)
  • Profile switching no longer has offsets left from previously selected profiles.
  • Fixed issues with the mod list profile switching.

0.1.4 (New Setting)

  • There is a new setting for those that already have similar profiles, if you share the same required mods, then it will instantly load you into the lobby with no prompts, if you don't, it will prompt you. (This is more suspectible to human error until I add more UI that makes things more clear.)

0.1.3 (Third Patch)

  • Lobby creation should be properly working now, it seemed to bug out if certain mods were registered as "duplicates", which was more common when more mods were added, but it's all good now.

0.1.2 (Second Patch)

  • Fixed doubled versions when refreshing API data, this also solved the last bit of a memory leak left. Yay!!!
  • Fixed broken (or modified format) JSON files from breaking LMM's mod sync with configs.
  • Allowed people to immediately join if they have ALL of the required mods. (not doing this yet because of the likelihood of human error)
  • Lobby creation should be working? (Idk if I broke it in v0.1.1 and accidentally fixed it already, but I'm not having the problem at all.)
  • Probably a few other things I forgot about.

0.1.1 (First Patch)

  • Fixed mods showing on the profiles immediately after downloading them.
  • Discovered more bugs.
  • Fixed some other random stuff I already forgot because I'm on the verge of passing out.
  • Fixed README's markdown.

0.1.0 (Mod Manager Beta)

  • Almost an entire mod manager, but in-game with extra features like mod syncing for when you join public lobbies with a host using LMM.

0.0.2 (Modlist)

  • Made it place the Mods button relative to the Host button and added a new setting in the config to help with its positional relativity to it.

0.0.1 (Modlist - Alpha Release)

  • It is just a simple mod lister until Beta release, which should be within the week.