#[BETA v0.1.6] LethalModManager https://thunderstore.io/c/lethal-company/p/kyxino/LethalModManager/
1 messages · Page 6 of 1
Reminds me of the time I forgot to use static classes because it said internal class, so I kept thinking 2 words = static class. Lol
Got to love coming back to a static programming language after many months/years.
Well, not even that, just me being blind and seeing internal as static just because there was another keyword behind class.
and this is why your making mods and not me :) (i have no clue what you just said)
Lol, all good.
JetBrains tools let you collapse regions in the middle of a line 😎
Entire selections can just be collapsed using ctrl+.
In the middle of a line?
yeah so like you can easily skip over parts of a long line
basically reduces the use of home/end
it’s also very nice for long lines of text
Ah, so you don't have to scroll all the way below where the function ends?
OHHHHHH
Okay, that is actually pretty cool.
I typically don't need something like that because of my ultrawide monitor, but still cool to have.
same but it’s useful for skipping content in large if lines
Yeah, the other way I handle that is just newlining it. Lol
AceJump is great, it lets you start typing and you can jump to the start of words
it’s a plugin for jetbrains tools
Ah, cool.
I'd look into JetBrains again had I not already adapted so much to Visual Studio 2022. LOL
I know those two are like most people's top choices.
Granted you’re probably using Rider which is paid
But assuming LMM is open source and you’ve been working on it for 3 months, you can request an open source licence
and then you get rider for free
Ah, I see. Well, unfortunately I'm not sure if I'll be doing LMM as open source yet, just concerns with mod sync and it being compromised. When LMM gets bigger and the security concern is lessened with more updates, then it will be open source.
Yeah that’s fair
The concern has already been fairly mitigated, so I could probably do it now.
it’s only if you want the open source licence ¯_(ツ)_/¯
Yeah.
Thanks for that info though, I forgot some of that stuff was paid, I already used a free trial for some of its features a while back iirc.
I might actually use it for Unreal Engine, or at least its plugin for VS2022.
Ah, yep, I see exactly what you mean now.
It’s not particularly cheap either
DANG, I know VS2022 was a crazy upgrade from Roblox Studio, but this is even crazier.
No need to switch if you’re familiar with VS
I personally really like JetBrains tools
Yeah, I could probably download some plugins that mimic some of the same features, but still aren't that needed.
as in I almost exclusively use JetBrains tools when developing
It definitely looks pretty nice.
it feels it too lmao
I can practically navigate the entire IDE with only the keyboard
I haven’t tried it 👀
It looks awesome.
If I was purely a Unity developer, I would've switched over immediately, likely.
Haha, oh gosh, not too bad, just that I need to actually start working.
not entirely sure because I’m gbp
Oh, shoot, it supports Vue out of the box.
I'll be using that soon for some stuff, that might be helpful.
Yeah, and a ton of other web languages / frameworks
But im pretty much a web dev so it makes sense for me
Jeez, it's funny to think how good VS is compared to everything else, and then see this compared to it.
Ah, yeah.
Probably would be best for me to stick with my current stuff since I'm not very consistent with web development.
Well yeah that’s why i mean for webstorm
I'll just be using Vue for a project, if the project is still greenlit.
Rider would make sense in your case
Maybe just hit up another free trial
There’s also Fleet which you might be able to use?
It’s basically VSC but JetBrains-ified
Yeah, it was DotPeek.
Ah, I see.
So yeah you should able to still trial Rider
Yeah.
Fleet would likely be something I'd use as well.
It says JS and TS, I'm assuming Node.js as well?
Node is JS
Yeah, just that some companies consider it different.
Node is just the runtime
Alright, cool.
When I'm not too busy, I'll probably give JetBrains (overall) a go.
Fleet would be good for me to mess with another Discord bot probably.
At some point I want to mess with Golang as well, so I could do both in one. Lol
3 in 1 (Fleet + Golang + DiscordGo)
That's a way to make me want to die.
Fleet (last time i used it) didn’t feel as nice because some of the functionality isn’t there
Like, it’s missing the usual shortcuts to create multi-line cursors for example
Oh, not too important.
But if you’ve never used them then it doesn’t really hurt
Oh i use multi line cursors all the time
Brilliant for writing tests with dependency injection
For example, using Spring Boot you may have a bunch of dependencies that need to be declared in the test with an @Mock annotation
You can multi-line, move to the start of each line, insert a new line after your cursor on each one, and then write @Mock against all of them in one go
Ah, nice.
Yeah, the most common time I'm using multi-line cursors is when I'm just trying to tab align things. LOL
Oh I just auto format code
I tab align when a lot of things are very similar, and I want it to be easily readable.
If it is all over the place, idc.
(Mainly for ConfigEntries in LMM as an example.)
Oh, I forgot the bottom. Lol
but yeah, this right here is annoying.
(If it wasn't tab aligned.)
The one below that is much more subtle, I'm just adding consistency at that point.
Oh I don’t like that format lmao
As soon as you add a new one that’s longer you have to reformat everything which kinda sucks
I’d instead have them split into classes and treated them like singletons
And then you’d just access it by doing something like this.apiSettings.updateTime
(which also causes git blame to show all of those lines on a commit adding just one line :( )
That's the plan, I've been working with a fork of BepInEx's Configuration class to do something like that for my other mod, and eventually I want to add it to an API that both LMM and others can use.
Yeah, it's not too terribly favorable, but it's not hard to keep up.
And hurts with merge conflicts if there were more people working on it
Just multi-line the others and it's all good.
Fair, although is it something you need to fork?
Like, you can split them out pretty easily so what do you gain with your change?
Yeah, I'm likely going to just patch current methods, only reason I forked it originally was because it couldn't support what one of my mods were doing.
It was just that I couldn't pass a type through without explicitly writing it out.
(So if I had a variable for a certain type, I needed to pass it through to construct a ConfigEntry, so I had to fork the entire thing just in order to add another Bind method that allows a Type parameter since I couldn't use generics or anything.)
Luckily BepInEx is never updated anymore, so I'm not missing out on any new features. Lol
Rip
Forgot to mention, yesterday my dad's new computer case (and second new PSU after I stole his first when mine blew) arrived, so we set that up yesterday, but are still doing a few more things today.
any updates?
#1186595897052774472 message
k.... doesnt mean he didnt do anything at all...
A little more stuff was done for mod sync, but that was it, been busy, this has been my busiest month in a long time, and most of it isn't even LMM.
Especially since a lot of friends want to hang out and play because they are out of college for a bit and stuff.
Personal life is better than the mod 👍
Idk if this came of sarcastic or smth but I wasn't trying to be :P
Nah, I get it.
Luckily most people are taking a break from LC until the next update comes out, or some other big mod comes out.
It's relatively calm for now.
Which is great because I'm stressed and tired, and that isn't even from me working on LMM, haha.
shit, I might qualify for an oss license from jetbrains
do it
OK I FINALLY ESCAPED FRIENDS AND FAMILY, MODDING TIME.
Zeekerss has been grinding on v50 as well, so I need to get this (and LethalUtilities' rewrite) out before then.
Okay, the biggest issue is that suddenly there is a memory leak.
I don't need this affecting lower-end PCs.
Alright, I think I got it down like 50%.
Noice
I don't get how when I do something that should actually help reduce memory usage, somehow it uses more, and now GC is just not working anymore.
Idk if that is just VS2022 reporting the wrong number (I do see a significant difference between that and Task Manager), or if I'm really doing something wrong.
Alright, well apparently most of it is from me getting the latest Thunderstore data, but it won't release the old data, which I figured, so I switched from WebClient to HttpClient and it still seems to have the same exact effect.
Wait, I forgot something, let's see.
Okay, that's better, but still have a memory leak.
Np, every time I can settle down, I try working on LMM for as long as I can before being dragged back into something else. Lol
Luckily it does seem like this memory leak stops at some point (possibly due to GC), so I might be able to just continue for now, but I'll try a few more things until then.
Alright, it's decided, I'm going to just skip this, everybody that is modding should have enough memory to handle it, especially since GC should be more aggressive if you have less memory to spare (assuming C# does the same as some other things I have worked with), it isn't too much, so it should be fine.
I just need to get things done and out the door at this point.
Never mind, it seems like it was adding up way too much once I made some other changes.
I have an idea, but it will require another slight rewrite, yippeeeeeee.
If this doesn't work, idk what will.
GC is lazy giving the memory back to OS
it will only force the memory back if OS warns that memory usage is high
Yeah, it's lazier than some of the other things I've worked with.
My testing probably isn't the best in this case because I have 64 GB of ram.
Never mind, I just realized that "slight rewrite" wouldn't end up being a slight rewrite, I would literally have to do 5 other slight rewrites because of that rewrite.
Ehhh, I wouldn't have to, it would work fine without the extra ones, it would just run over some stuff. Lol
@dull hawk pssst, look at #announcements
Yep, I was expecting this today.
is it out yet?
No, I have to fix a memory leak before I can release it.
It's a severe memory leak as well, and it would only get worse over time if I don't take care of it now.
F
so close yet so far
LMM's beta may be releasing when v50 releases so that there are no annoyances with v49 users right before v50 comes out, and then mismatched issues all over the place.
Especially because LMM doesn't have it's own server list yet.
v50 is in beta rn :>
Yeah, that's why I said it. Lol
Man, it would've been funny to actually release LethalModManager today, everybody think it is just an April Fool's joke, and then it literally be the real version.
If only the memory leak wasn't such an issue.
[BETA SOON] LethalMemeManager https://thunderstore.io/c/lethal-company/p/kyxino/LethalModManager/
ah yes i can finally manage my lethal memes
Beta soon or beta now?
He didn't unclog the pipes properly
lemme make you even more lost
it happens when you allocate memory to a heap but dont remove it later
have you tried the command fixmemoryleak LethalModManager
When programming languages are lazy.
(or the programmer itself)
((In this case, it is the former, and I can't do much about it other than changing the cause completely.))
I don't understand how GC languages get memory leaks, isn't not worrying about memory leaks like the whole point of GC
I mean, it works, just very poorly.
So immutable classes (like the lovely strings we come across all the time) can be a PITA.
Idk, I'm having the growing suspicion that it is VS2022 not reporting it properly, but even checking Task Manager is giving me concerning numbers.
Watch this entire project need a whole rewrite due to v50
Ik what it is, I’m js making a joke how a lot of mods break due to updates. And how a lot broke due to v45 even v47 I think
.
Nothing else was broken anyway.
Ah, nothing like a bunch of extra programming to try to mitigate memory leaks as much as possible because you are working with hundreds of MBs of data that builds up because of immutable classes, lovely.
[BETA SOON] LethalModManager https://thunderstore.io/c/lethal-company/p/kyxino/LethalModManager/
Should've named it LethalMemoryLeak, ngl. Lol
how did this get worse...
1.2 GB from updating... how...
I think this somehow became like 3-4x worse suddenly.
Yeah, I had 1/4th of what it is now.
is it the mod listings from the store that are consuming all that memory? would it maybe be better to write it to some fairly efficient format on disk and load it lazily?
I'm not sure exactly what the issue is with immutable classes tbh
Say you have a 130MB string just lying around after converting it to another class that is actually readable like List<CustomClass> that the rest of your code uses... that's literally it, that string is still around, even if you aren't using it. Even worse, if you were to add another character to it, it would basically duplicate.
why isn't that string being collected?
Now, I'm not adding anything else to it, but still.
Beats me.
you would have to be keeping a reference to it
Exactly, and I'm not, so this is just ridiculous.
have you tried a memory profiler yet?
I did see an improvement when I switched from WebClient to HttpClient, so there are some sort of references going on, or GC is just extremely lazy.
I'm just using numbers from VS2022 and Task Manager.
there should be one way or another to figure out exactly what objects are alive, and hopefully also what's referencing them
I'll see if I can find any options for that
I have no idea, I'm honestly just tempted to rip one of my sticks of memory out to see if it is just greedy. (I have 64GB of RAM.)
that seems doubtful, keeping a massive string around if it's not in use is very strange behavior
Exactly, everything is just weird.
the GC can certainly be more aggressive under memory pressure, but it wouldn't do that
are you able to run LMM in editor?
I have yet to try that.
that's one option, or convert a copy of the game to a debug build and attach the editor's memory debugger to it
Basically, every time I download the results from Thunderstore, it's a 158MB file, but for some reason, both VS2022 and Task Manager reports it as double.
I'm gonna see if that provides enough information about non-scriptables
Ohhh, you mean independently?
well, just in any way where you can reproduce the excessive memory consumption
I was meaning to do that a while back, and I had at the beginning, but then I changed everything.
(I wouldn't really call it a leak unless it increases indefinitely)
Considering it went up to 10GB, yeah, definitely a leak.
and it did so gradually?
was it doing any processing of the large data strings you mentioned?
Yeah, I undid the changes, so it shouldn't be as fast anymore, but it still did it before either way, just took longer.
If I don't do any processing, it just uses double the RAM it should, and then just never gets GC'd.
so this is caused by some background processing of the thunderstore cache?
I was wondering if it could be some caching going on, I actually didn't check HttpClient for that, hold on.
Because in some cases, it would mitigate itself.
oh, you mentioned an update, do you mean memory increases every time it updates the Thunderstore cache?
Everytime it updates the data from the API, yeah.
oh, yeah, the Unity memory profiler will do what you need to track this down I think
Alright, well, ig time to try to put everything back into Unity. Lol
it gives you a list of all objects and their references
no need
just build the mod, convert a copy of the game to debug, then attach the memory profiler from a blank Unity project
I don't know how to convert a copy of the game to debug. Lol
https://github.com/dnSpy/dnSpy/wiki/Debugging-Unity-Games#turning-a-release-build-into-a-debug-build
it's not too hard if you already have the appropriate version of Unity installed
could also just use the built in profiling tools in editor on a #1199473521265475745 right?
or nah
Kyxino doesn't seem to be using that at the moment
but honestly, I wouldn't do that anyway
having that much memory usage inside the editor is a recipe for non-responsiveness
Well, it has been slowed down again, so it should be good.
anyway, once you get the memory profiler (have to install it in the package manager, it's not a default package) attached to the game and take a screenshot, you'll want to go here:
see what's consuming all that size, presumably it would be in Scripting Memory > Managed Objects unless you're creating GameObjects
Oh, shoot, this is actually really helpful.
Just got to figure out how to do this. Lol
Partially blind rn (thanks to allergies), so it will be a moment. Lol
Yeahhhh. Lol
hey where did the "lmm this weekend" go
It was no longer promised weeks ago. Lol, unless you want a memory leak.
yeah I'm adobe, I love memory
Yeah, the person who made these instructions really didn't make them clear.
the debug build ones?
The entire page is confusing.
I've looked up other stuff, but Google doesn't understand what I want per usual.
you only need to worry about the specific section I linked
What about the patched DLLs?
I didn't need any of that myself
just the debug Unity runtime executable and dlls
.
so basically, you just need to navigate to that unity editor directory it mentions, copy WindowsPlayer.exe and UnityPlayer.dll to the copy of the game folder and replace LethalCompany.exe with that WindowsPlayer.exe, then add the player-connection-debug=1 to the boot.config
that was all I had to do to get it working
although you do want the 64-bit version of the runtime, not 32-bit
This entire time, I was thinking you were highlighting the most important part that I have to get to or something, oml, I need sleep. LOL
understandable, it's not overly apparent on that page
especially since the title of the first section seems very relevant given that this is a release build
mood
I got the thing working, but then LMM just broke.
Well then, some bug just bit my finger or something, but I flung it off before I even knew what it was. (little dude snuck up my leg, I swiped it, got on my finger, and just freaked out because of the weird feeling)
Never had some sort of bruising from a bug bite tho, so that's weird.
Anyway, thanks @oblique marten, trying to figure a few other things out, but I think I got it now.
glad to hear it, hopefully you can figure out the cause with that
OHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
I think I know why now.
(This is still ridiculous.)
(Also, it didn't take me half a day to get to this point, I was waiting for a while to restart my PC because Unity would no longer load.)
It's just reserving a crap ton of memory, it isn't actually in use.
This is still crazy, and excessive, but okay ig, idk.
That is aligning very well with the behavior that was occuring before, so I don't doubt it, but huh.
does that reserved memory keep growing though? it should reuse it if there's no objects in that memory
It grows a bit, and there does appear to be a little memory being added each time that should no longer be in use, but it's deeming it so.
Alright, time to put capacity limits on everything ig.
it might be good to compare two memory profiles, one before and one after updating the mod listings, before doing invasive changes
at least imo
I'm a little suspicious if it grows
if it was reserving all that memory and then only growing perhaps a tiny bit for a few runs and then stopping that would perhaps be normal
Yeah, luckily if there is a memory leak, it looks like it is a few MBs each time.
Which is not that bad considering I'm working with hundreds of MBs each time. Lol
yeah
comparing two profiles would let you know if you have a problem there
any increase in actual occupied memory would be concerning eventually I would think
especially if whatever is sticking around grows in later updates
you mentioned you had it get worse at one point
Yeah, but it may of been just a lot of reserved memory, idk.
Yep, as I thought, when I don't process the data after downloading it, it's taking up DOUBLE the RAM.
It's not bad because it doesn't add up, but still annoying.
It seems like it is adding a few extra MBs at a time before processing.
It could very well be both doing it, but I'm observing it with no processing other than saving to the file.
Oh, it looks like those few extra MBs went away.
Could be some random junk from the HttpClient object and some other things from downloading, idk.
It could just very well be the game too.
So margin of error.
Alright, well, this is great, I'm going to see if I can lower the reserved memory, and then LMM may actually release this weekend.
Oh, right, I'm going to test without invoking GC manually.
Reason why I probably never came across this type of situation before was probably because I never had 64GB of RAM and worked in C# with large amounts of data until now. Lol
when you download the data from Thunderstore, do you have it in RAM or on disk? and how large isthat file?
the managed heap growing so large may be a symptom of loading too large a string into memory and forcing that to take up residency at the end of the heap and making it grow
this page indicates that memory fragmentation isn't actively prevented, so there can be a lot of free memory in the heap without it actually having a place to put a large allocation
if that's what's happening, streaming the json from disk instead of loading it all as a string and parsing it all at once may help considerably
I guess if it's anything like r2modman's last_api_request.json file, it's something around 155MiB?
that would probably do it lol
RAM so that the data is accessed immediately.
Then it saves it to a file for when you may reopen Lethal Company, it loads that into RAM instead of requesting the data from the API again.
Yeeeep.
So I am actually doing some things to reuse existing objects to help mitigate it due to how updating works.
(The way it works rn is that it just does everything from scratch every time, along with the main variable being the same and just referencing the new data instead.)
I could see if it would be better to keep a reference to the original string data at all times though.
I was considering such, but I don't know how well it would work, nor could I find any supporting methods for it.
Actually, wait, never mind, something I previously looked at was something I overlooked.
It did exactly that, just weirdly, found a more convenient way though.
it looks to me like JsonSerializer.Deserialize(System.IO.Stream, ..) should let you deserialize the data directly from the HttpWebRequest.GetResponseStream(), which hopefully will mean you won't be storing a massive string at all
there's no need for a JSON reader to have more than the current character essentially, so keeping the whole string is a waste
it appears to be?
System.Text.Json.JsonSerializer
unless it's missing features
I think it is, but idk, I might be able to easily get around it without too much more work.
This may have to be something I would do later though because of enough complications with needing almost the entire JSON at times.
Otherwise I would have to save it with additional variables and stuff, so complexity is just rising anyway.
you can use the Stream to load the json with NewtonSoft too
it shoudlnt' be too invasive
Oh, huh, I couldn't find that at all yesterday.
I saw mention of it looking for info about streaming json yeah
create a StreamReader and pass it to https://www.newtonsoft.com/json/help/html/T_Newtonsoft_Json_JsonTextReader.htm
StringReader?
no StreamReader
It says StringReader.
JsonTextReader expects a TextReader, which a StreamReader is a subclass of
iiuc anyway
Lol
Ah, never came across a StringReader before, so I didn't know. Lol
Well, for now, due to time (and speed) reasons, I may have to wait before making those changes and just see how much I can mitigate the reserved memory.
hmm? why wouldn't you switch to reading it from a stream now? it should completely solve that
if that's the issue anyway
I still want it to be instant searching and stuff, idk if it would stay instant if I did so.
if not, it narrows down the cause to other things
wait, why would searching not be instant? are you querying the deserialized JSON when you're searching instead of creating data structures in memory?
Hold on, reprocessing everything in my brain.
Maybe I can sneeze it out.
Ah, wait, yeah, I just need to stream in the beginning, and that's it.

I might not even need to make all of my other changes for now too.
I'm hoping that's the root cause of your reserved memory issue, it would certainly make sense
Yeahhh.
Got to love working with large amounts of data, especially processing it.
Along with processing what the heck is happening half the time.
Alright, cool, part 1 done, it saves to the file without upping the memory at all.
Now I just need it to convert via Stream.
Realized I could just switch how I open the file to write, then do CopyToAsync.
Works perfectly now.
Alright, first test, let's go.
Things broke, let's go.
Second test, let's go.
Things somewhat working. Lol
I'm going to have to make it parse in pieces.
Since it ends up parsing the entire file all at once via the Stream anyway.
Oh shoot, just downloaded again in the same run, it doesn't grow anymore.
Holy crap, I may not have to do a bunch of additional crap after all.
ayy, glad it's working!
I could practically leave it as it is, but I'll make it parse in pieces for minimal reserved memory. Lol
Even though it barely does anything else already.
(Compared to before at least.)
I think with you using the Http Stream directly it should already be parsing in pieces. It should take whatever piece of data it needs next to parse the file fully, but it'll be taking it in very small parts, likely tens of characters at a time at most
so I wonder what you mean by making it parse in pieces?
do you mean it provides an API to read top-level elements of the JSON without reading from the deeply nested ones?
the way JSON has to be parsed, there's not really a way to skip the internals of an object or array, so I don't know if that would benefit you
seems to me it's best to just parse the data directly from the stream, transform it into what you need to do your queries, then throw out the parsed JSON
Yeah, I was parsing it directly from JsonTextReader, but it was still using up quite a bit of memory, it no longers adds up a lot though.
My plan was to parse each entry one at a time so that it wouldn't take up too much memory, but I think it is parsing all of it at once. Lol
yeah, technically you might be able to lazily load each entry in an array json but I don't think it's really worth doing that
it won't benefit your memory footprint at least
It still uses 1GB for it. Lol
Well, ish.
Actually, going to check Unity for more specific statistics.
you mean that's what the managed heap reserved size is after loading the json?
Quite possibly, checking to see if Unity is saying so.
After processing/converting the JSON.
Alright, well, LMM only adds 1.1GB, and barely adds any extra upon further updates, I think this is very reasonable, especially because TMM uses like ~1.5GB (easily goes up to 2GB+ though). and r2mm uses like ~0.9GB. I will obviously want to lower the additional overhead due to it stacking with Lethal Company's memory requirements with it being an in-game mod manager.
Btw, now that the memory "leak" has been addressed (ironic term), LMM is soon to be truly beta released.
woo
Ah... wait, crap, somehow I didn't realize that I had some other code commented that messes with that data.
Let's hope that metric doesn't change.
Thank goodness, jeez. I think it went up a little, but everything else is good.
never mind...
F
Alright, well, I figured out how I'll have to handle it, the metrics aren't too high with it rn, but I have to make a few more internal changes to really get it working.
How’s karate?
I couldn't go yesterday because they cancelled due to a really bad storm, going tomorrow.
Alr maximize use your jujitsu karate Chop technique
Lol
I don't know how much longer it will be until v50, but if Zeekerss states it would be at the end of the month, I may just go ahead and release LethalModManager.
im not gonna say no to a v50 beta release, but why not release a version for v49 too
unless the v50 version just works on v49
I mentioned before that it was because of lobby finding will be unrestricted, meaning you would see lobbies of any version, which would cause mismatch problems and wasted efforts of downloading from hosts only for it to be the wrong version. (Along with other things.) Basically it would be simpler to just release as soon as v50 comes out so that there is far less human error.
I will have a setting for filtering the version, but the reason I don't have that is because there are some mods that changes the versions, which can be very annoying.
So would that be for v49 or v50?
uh what
Lmm
I'm saying that if v50 won't fully release until like the end of the month or something, I'm just going to go ahead and release LMM right now.
yes, im asking if it will release for v49 or v50 beta
...
Once again, if Zeekerss confirms the release date for v50, and it is towards the end of the month, it will release now, if not, it will release with v50.
This is just because I'm trying to mitigate human error as much as possible.
I may have to check SteamDB to see if more players are playing again, but there should be far more when v50 fully drops.
Either way, it works with any version, I'm just trying to make sure that there isn't going to be much version entanglement since v49 is the current release, but many are also playing v50.
Maybe I should go ahead and create the separate lobby browser now.
That would actually help this situation a lot.
its hard to figure out what to do yeah haha
imo a beta branch on git/beta releases on git are the best option, lets people test out things to find if anything is broken and the only people who are willing to jump the hoops to install mods from git tend to be the more savvy types that want to try and break things anyway
Yeeeep.
That's not exactly the situation. The problem is just version mismatching for lobbies, which is mostly fine when no updates are happening.
Is v50 releasing tomorrow?
is it?
no im just being sarcastic
:>
i take all credit to being a confirmed futuresight if it does drop tmrw tho
Lol
If it does, then crap, there are literally a few more things I have to finish, but I'm house shopping right nowwwww. LOL
Me and some friends are going to probably be buying a house soon, and I've been doing a lot of spreadsheets and stuff.
You have to plan this stuff out months in advance.
"just a few more things" is this project's motto
More exact, it's like a few more lines of code, idk why I don't just finish it already.
Oh, right, I was testing some other things before.
Zeekerss is awfully silent suddenly.
He hasn't even done any changes to the actual game's private beta either.

theres a private beta?
oh interesting
password-protected beta (probably) for his testers
Yep. Lol
he's talked abit in patreon chat
Ah, I'm not subbed to that.
Zeekerss is back on the grind yesterday, nice.
Oh?
SteamDB
[BETA AT V50] LethalModManager https://thunderstore.io/c/lethal-company/p/kyxino/LethalModManager/
Soon after beta release, I will be open sourcing LethalModManager once I verify there are no security vulnerabilities.
The reason for me open sourcing it is to contribute to the community, but also for the community to contribute back.
I obviously cannot mod full-time nor do I have the mental capacity to along with life/work hitting recently.
I also would like to get back to LethalUtilities, which will soon be open sourced as well.
I am also waiting for the full release of v50 because I don't have the time to do anything with LMM right now, which is another reason why I want to open source it for later on when that may happen again. Had I gotten the free time, LMM would've been completely finished a month ago, but obviously that is not the case.
@dull hawk hf, v50 just dropped
Oh shit?
Oh shoot, I'm out right now.
lmao, I bet; currently on sorta-maybe vacation rn
Well, just had to put all of my other stuff on hold, even the contract work I was supposed to finish a few days ago until other things screwed everything up.
Alright, cool, v50 still didn't break anything, everything should work, just need to do a few lines and some testing in regard to that, and LMM will be up.
Woo
i will share it with every server ever
Lol
so if im reading this right,
everythings ready just you need to look over some code and maybe add alittle?
Yep.
Got to do some testing before.
I was expecting the release to be possibly next week, so I was going to do that before (but not immediately since I am busy), but then it released today instead.
Alright, well, this is annoying, I will be gone just about the entire day tomorrow as well.
f
then go
I am, just having to transfer a bunch of files from my main drive to my USB because I replaced a hard drive in my old laptop that I gave to somebody.
(They have to set up their Microsoft account all over again, then I can transfer their files back.)
I also may or may not have messed up the touch pad, so now it doesn't register the clicks as easily. Lol
(I'm not going to unscrew everything and peel the chassis off to fix it, takes way too long.)
Luckily they are an involuntary victim always available tester so that I can have them test the last few things for me before release.
With more more company dying maybe your lobby expansion
wdym more company dying? I'm pretty sure it got an update for v50 already
thought I read somewhere it died, nvm then
we as a community really need to make an effort to stop sharing third hand accounts of compatibility and mod status lol
true that
if I had a nickel for every time, I certainly wouldn't be rich but I could at least get a bubblegum
I would probably more, much more
amount of times I have seen people say to use cysnc to automatically sync all configs is crazy
oh yeah
Kyxnio progress update :D(didnt want to ping :P)
As I said, I was gone just about the entire day yesterday, so not really.
Well, just played v50, holy crap that was crazy, I didn't even play it that long.
I'll be finishing up LMM some more today, we'll see where it goes from there since I still have to mow the lawn today, but only takes an hour max for mowing/showering/etc.
Yep, had I released, mod sync wouldn't of worked because I forgot to change the name of a variable, lovely.
I also had something run at the wrong time, so it wouldn't have even applied things properly even after that fix.
how'd you like it?
It was awesome, I'm looking forward to more updates as Zeekerss's life settles. I also saw a lot of new features for me to add to LethalUtilities. Lol
I love how annoying, but fun it is. Lol
It definitely gets interesting when the mechs are chasing you.
Yep, mostly just testing that is left.
The one time they AREN'T available.
I got a few others things I can finish up for testing though as well.
Ironic timing, now they are.
Tbh i wasnt a big sucker for the moons, but artifice is amazinf, and the 3 new enemies
I love the additional chaos that was previously only achieved via mods.
What a lovely way for me to remember to come back to this line of code.
(That is one of the most important methods there is that I need to finish after I can test a million times.)
cuz obv we cant do ctrl F "todo"
I'll forget. Lol
I need code to practically scream at me at this point.
Finally, things are FINALLY coming together.
Luckily the dude I work for is understanding, so I'll get that work done after this release, but oml.
I only have to bounce between 3 scripts now, mostly for testing, so I'm happy.
I'm also done with overcomplicating things for now.
I love having to ignore errors for some stuff because they contribute to nothing other than slowing me down and I can no longer be bothered to handle them if it doesn't make any difference. Lol
I'm becoming the programmer I swore to destroy. LOL
I guess this project became a bit of a wake-up call for me to realize I can't keep trying to fix every little issue, and just have to ignore and move on if it makes no difference.
I'm just stubborn.
Yeah, no, I'm going to bed now, I'll deal with more tomorrow.
lol
Got to love that I forgot where I disabled some features.
Oh, never mind.
@pure halo, I see you. 👀
(Ignore the 0 downloads thing, been doing a lot of tinkering.)
Fixed this, then I saw LethalModManager is at 180k downloads for some reason. LOL
Nice.
Well I just realized that was the light version.
Yeah the patch gets applied to core and picked up by the other packs.
Excited to try what you have been cooking
Yeah, well, unfortunately despite my best efforts to fix a lot of things, I'll just have to leave them be for now.
I will have to block updating after already loading the data once because memory usage still goes up a lot for some reason.
I've spent way too much time trying to fix it, but it's whatever, it's not going to be the end of the world for 99.99% of people.
Me hoping I'm not that 0.01% lol
It's a beta, so obviously not everything typically works, but I'm a bit annoying when it comes to fixes everything right off the bat.
Hehe
the title makes it seem like irs released
lmao
anddddd I may or may not be working on it again
LMM will be out before MrBeast passes T-Series confirmed.
Testing to see if a specific thing is the cause, if it is, then I will fix it since I'll know how, but if it isn't, then never mind for now.
It does seem like I found the cause.
Yeah, never mind, this will take too long, I've got to stop.
sorry if these questions have been asked before..
1 - i assume, this will auto add the mods to your thunderstore pack?
2 - will it also update mods or downgrade mods, to the same versions the host has?
3 - load host configs?
i was mainly wondering if this would be "seperate" from thunderstore or not, ie, would you only need this mod and the clients would all get full installed via your mod, love the idea btw!
Think of it like TMM/r2mm, but in game. Not as advanced for searching (yet), but it shows more stats, and allows you to go to the online listing via a web icon at the top right of the mod. It has profiles that you can switch between as well. As for the mod sync, when joining a lobby (via the Sync button in lobby search), you are prompted with the mod downloads, which you can determine what mods you want to download, it will then download them and (when finished) relaunch the game under a temporary profile and immediately join.
It does sync configs and stuff- albeit forcibly for now, so personal configs may be screwed until I finish that part of the UI.
"relaunch the game under a temporary profile and immediately join." this is basically what i was aiming to understand, it would basically, create a profile area for the mod, and re-launch with that profile, sounds cool, and means non-hosts would effectivly only need your mod installed to play in any lobby, the mod would then get all the other mods, from the host, as a list.
love it 🙂
Yeah, as long as the host also has my mod installed.
The good thing is that a lot of people are already aware of LMM, and are waiting for it, but a lot of people think it may be dead because it has taken FAR LONGER than it was supposed to.
So it will help with everybody having the mod for mod sync.
that makes sense 🙂 but it means for "non smart users", they can just use the same pack to join their friends lobby every time, and the mod will do the work for them.
its like what valve did for Counterstrike back in the 1.6 days, you connect to a server.. you dont have the map? download it, you dont have the mod? download it, you dont have the resources/music? download it. 🙂
Yeah, pretty much, I tend to describe it as Garry's Mod for everything. Lol
Except you get a choice for the mods you download, or to just disconnect instead. LOL
i really need to buy garrys mod. keep meaning to xD
yeah, same with valve, looks like its gonna take years, you see somethign you dont like, hit cancel, and d/c, that all sounds amazing 🙂
Garry's Mod was made by Valve, so I'm not that surprised you still don't have a choice at first.
Yeah, it's fun.
Wait, double checking this.
Never mind, just published by Valve, not made, but it does use their engine and stuff.
haha, its hard to know when it comes to Valve, at one time they seemed to make everything on steam.. oh how times change.
Yeah. Lol
well i look forward to seeing it work in the future 🙂
It may finally be this weekend since I'm just ignoring some mostly non-critical bugs.
(After like a month of trying to fix a lot of them.)
It will all still work, just the things that made it even more convenient will not.
I'm somebody who likes making things as convenient as possible, so I stressed over it way too much.
thats how i am, more pain for myself, more easier for others who join me 😛
Lol, yeah.
The most convenient things are the most complicated for devs, typically.
That's why you don't find many convenient things in corporate programs. LOL
i know right, before i worked for my current company, i thought all companies were like that, in my work, im lucky, cause we develop programs to do hard work, to make our own lives easier, so luckily in a corporate sense, i dont run into this issue, but ive seen it many times within the modding of games xD
Little confused by what exactly you mean, but what I'm at least hearing is that they make programs to help the programmers have an easier time working on some stuff? Lol
If so, I do the same for a lot of stuff I do, especially non-programming things.
oh no, i mean, we the programmers, write programs, that help our customers, as well as helps ourselves, we basically write AI to do heavy lifting for us, so we do less work.
(I got a task where I have to rig a tank with realistic wheels and everything, so I made a script that I can run to automatically retrofit the rig to it.)
Ahhhh.
im sure i dont make much sense... im fairly new to my job, so, explaining it is hard... and i try to make it understandable for everyone, so i keep it vague xD
Nah, I get it.
So you are saying luckily your job isn't as lazy as other companies when it comes to making convenient features for the customers as well as the developers?
yes, because, my old company, i wasnt officially a programmer, but i was writing programs for them, also helping myself, but they did things VERY manually
my new company, they dont need people like me at my old company, because they cut out that whole side of things... by automating 99% of everything we do, with programs.
so ive basically gone from automating stuff at a company that doesnt like automation and easyness because "hard work", to a company that only does automation 🙂
Ah, okay, that's good- them caring about making both the lives of the customers AND the developers easier.
indeed 🙂 which is also why your mod is so nice, because it means everyones life is simpler
I try. Lol
My other mod is so much more convenient, but for a different purpose, and VERY outdated since I've been working on LMM for so long.
Alright, final list of things to finish.
I know I've mentioned some of these things before, but I had to redo a lot of logic, so many of my work was undone.
+ [COMPLETED] Profile selection - When switching profiles, this shows the mods under the selected profile. (THIS IS NOT THE SAME AS RELAUNCHING UNDER ANOTHER PROFILE, THIS JUST SHOWS OTHER PROFILES' CONTENTS.)
+ [COMPLETED] Mod toggling testing - Whether or not the mod is enabled or disabled properly. (This was changed around a lot, I need to do a final bit of testing to verify this is working properly.)
+ [IN PROGRESS] Mod Sync testing - I have to verify that configs are being transferred properly, other than that, everything is done.
+ [IN PROGRESS] Mod extraction testing - I need to make sure that everything extracts in the proper order while maintaining speed and stability, I do have to finish a bit more code, but most of it was finished a month ago.
+ [COMPLETED] README will have to be revised a bit, not too much, so it's fine.
+ [MOSTLY FIXED, API UPDATE TIME HAS BEEN RAISED HOWEVER.] API updating - I can't fix this without spending even more time, so I'm done messing with it for now. (I may leave this as an option that you can use at your own risk, increased memory usage is very likely.)
- [CANCELLED, PROBLEM WAS MOSTLY FIXED] Option for ignoring immediate dependency loading. (This is an option that greatly benefits lower end computers because the current JSON parsing system is taking up a lot of memory when loading every single dependency and stuff, but I can't do this right not because there is no stable solution, so it will just be completely solved when I redo the JSON parsing.)
* Lobby resizing - I have to check new code to see if it will or will not fully work, but it is not a priority due to MoreCompany being a lot better than it used to be, along with LMM's lobby "ecosystem" of features not being very full yet.
There may or may not be a few more tiny details that I'm forgetting, but AFAIK, this is it.
if you want i can look at your json parsing, i dont know why it would take up a lot of memory xD
It is because of the amount of dependencies a lot of mods (aka modPACKS) has, so when the same strings (that are converted to a custom class of mine that breaks that string up into 3 pieces: the owner, mod name, and mod version) are being remade a million times (not literally I hope), it takes up a lot of memory.
Modpacks equate to over half of the Thunderstore listings, and who knows how many versions there are compared to mods.
Mods -> Versions -> Dependencies
So it grows a lot.
Soon I'm going to redo the parser to allow it to reuse those already made (custom) classes based off of the string. (So if it already exists via string, it will just give the custom class instead.)
Currently I'm just using Newtonsoft's JsonTextReader with Streams.
so, its more the searching over thunderstore for the dependencies thats making it take a lot of memory?
It takes all of the data from the API (which is a 160MB JSON file), then parses it all at once.
Either I do some sort of progressive parsing that only parses when needed, or I cache a lot of the custom classes as I mentioned here.
can you not use the api to search for the exact mod, and only pull and download that one result?
A lot of tiny API calls can be worse than one big one.
Plus, you can't really get all the data you need from just one.
Especially since there are no batch ones.
It's either one at a time, or all at once.
not as the library expands.
something i learned with programs i wrote for my old company
somethign has 1.. easy
somethign has 1000.. bloated file, everything slows down as size increases.
1 would take 2 seconds
1000 would take 4000 seconds... for example.
link me to the api? (sorry, im really not familiar with lethal company coding xD
or thunderstore xD
i guess i can look it up myself actually, nvm
you are using the dependency strings like thunderstore does, yes?
The file downloads pretty quickly (though not for all, likely), but once it downloads, everything else is really fast.
Especially when searching, which is another reason why I download everything.
TMM/r2mm does the same.
ok, so rather than downloading, why not use the file already downloaded by thunderstore every time it opens?
I am downloading that file, the same way the others are, I just parse it a bit differently to make it work better with LMM.
(It also allows more features, and makes more things run faster.)
yes im saying, dont download it, use the one thunderstore downloaded.. as it already exists?
Not everybody has TMM/r2mm.
true, but if they dont, then you can download it, it makes it faster for people who do.
Plus, that doesn't make a difference on memory usage.
well true.
Yeah, and that is a plan if people want to enable it.
I have multiple plans for that stuff, along with a custom API for those with more restricted speeds.
Though Cloudflare (according to multiple people) requires compression, so things actually download a lot faster since it gets compressed a lot. (Thunderstore uses Cloudflare.)
i was writing a lot, reading what i wrote, and thinking to myself, not really much i can suggest.. if you think the download all way is better, then hopefully the compression makes life easier.
a lot of my coding for work makes use of multithreading... but my experience with bepinex admittedly hasnt led to me seeing much implementation with multithreading, and if that is not possible, then you maybe right, but an application i wrote bulk processed files, i split it into queues for every core, it was much quicker than doing a big file one by one.
well much quicker if the user had 8+ cores... didnt really test below that.
Well, either way, the main concern is memory usage, I'm just either going to have to do some caching or just parsing dependencies and stuff when things are needed.
The only real solution will probably be caching because more and more modpacks will just render the progressive parsing useless.
Well, eh, not really, just another stat wouldn't be available, unless I have an option for both, in which case, yeah, it would eventually be useless.
Profile selection is now working, you can see your list of mods regardless of your active profile.
Going to update that README again. Lol
README is updated.
So far everything left is just a bunch of testing and a bit more programming depending on the results of those tests.
Do we have an ETA for release
If I can get the testing done near immediately (as some of it requires others for mod sync), I'd say Sunday to be safe.
Only after today will I really be sure to say.
If I can knock 2 more things done, then definitely Sunday or before.
I am admittedly taking things a bit slowly now because I don't want to rush, and I really need to make sure there is nothing else crucial missing, but at this point, I've checked so much where there shouldn't be ANYTHING crucial missing.
I JUST PULLED A MAJOR BIG BRAIN.
HOLY CRAP
I don't need to change the actual JSON parser at all.
I CAN CHANGE THE CLASS PARSER TO CACHE INSTEAD.
OVER 1GB HAS BEEN SAVED EASILY.
not the first time you said, hopefully the last🤣
yippeeeee i have no idea what you said, but lets goo
Yeah, it may really be considering how things are going, I found a few more things I got to redo, but they aren't crucial for release. Lol
also not the first time you said that 🤣 but keep up the grind, it is def amazing how you were able to keep devolping the same mod for so lomg
Well, it is the first time I said I found some things that I got to redo that aren't crucial for release.
ye
As for the considering how things are going, yeah, that definitely isn't. LOL
(because immediately an issue would slam me in the face)
lol
and that issue has been bugging me for over a month, and I've yet to fix it
UNTIL NOW
I wasn't even trying to fix it, it just came to mind suddenly for the solution. 😭
class parser?
lol
I am intrigued
Idk how to word it.
The parser that I have for a class when the JSON parser is parsing a string.
like the deserialization method that takes some JSON object and turns it into a class instance?
YEP.
making it lazy or something?
oh
why was not doing that causing a leak?
was it not GCing the ones that you were done with?
I have everything loaded at once, but the amount of dependenices that got parsed into its own ModInfo class shot memory usage up like crazy.
ohhhh
Yep.
yeah that would make sense lol
Yeah, CONSIDERING MODPACKS ARE MORE THAN HALF OF THUNDERSTORE.
right
Who knows how bad it is counting versions for mods vs modpacks. LOL
I don't even want to swallow that pill of how bad it is.
perhaps it would even be worth converting the json into some other form of database that's more query-friendly
(assuming the memory footprint is still sizeable after this change)
that way, you should hopefully not have to even have everything loaded into memory, just query the things you need when you need them
idk how worth that is though
I mean, this works great now, it's not even that bad, I probably still have to change the JSON parser to handle it all better, but this was a HUGE improvement, even if you update.
Mainly just the dependencies. Lol
This might even be faster for loading the extra data LMM uses.
Wait, yeah, idk why I keep thinking I need to change the JSON parser, I can just do the same thing with my other classes.
Dumb question that your probably already doing, but you can cache/predict certain dependencies right?
Uh, what?
like if LethalLevelLoader is dependent on LethalLib, any mod dependent on LethalLevelLoader is going to be dependent on LethalLib
Oh, yeah, I call that flattened dependencies.
less a suggestion more curiousity
Mod A requires Mod B, which requires Mod C.
Mod A therefore requires Mod B and Mod C (with a different level unless Mod A directly requires Mod C)
It's the way I handle mod downloading as well, that way it doesn't have to search through a bunch of dependencies and stuff.
It just has the list ready for the order and everything.
It's very helpful for modpacks that list dependencies manually.
Along with informing users what they'll actually be downloading, but I don't have a popup menu for that, so they have to check Thunderstore's page if they really want to know. Lol
@dull hawk question, just from your testing, how long does it take to, join a lobby, download the mods, then relaunch the game?
I haven't really gotten there yet, but I have really fast internet, so when I downloaded a huge modpack (TMLC v7.3.0), it downloaded and extracted REALLY quickly.
As for relaunching the game, it is painfully slow depending on how many and how big the mods are.
will be a lot less of a problem in the next couple weeks dw
That would be awesome.
I also will be helping with that by recontinuing LethalUtilities so that there aren't as many tiny mods again.
(A lot of tiny mods SUCK for load times.)
experimental LLL can auto async**** load related bundles for all types of content
and people wanting to do stuff w/ code can register to get callbacks when i load it and stuff
Nice.
Looking forward to it, it will help greatly.
For both LMM and Lethal Company modding in general.
Well, I think LMM may now be better than both TMM and r2mm in terms of memory usage, which I never expected to get to this point.
After all, memory is being taken up by the game ALSO running.
Very little, but still.
Actually, almost, but the moment you start doing a lot more stuff, it does add up a bit more.
It does give a bit of a headache though since everything is RED.
Can't wait to add themes. Lol
(I technically already have, but it is nowhere near done.)
(It was just some gimmicky thing.)
Oh, that was mostly just Task Manager being the brightest thing on my screen, never mind. Lol
btw completely unrelated but figured worth mentioning since you seem like a nerd in a good way and have experience w/ the codes
this server would massively gain from a bot command that takes a profile code and outputs a modlist .txt
I figured 😛
right now we get so many people being like
"i have x problem" + code
and its like, people aren't gonna go download what might be a couple gb's just to tell you to uninstall LCAPI yknow
Yeah.
Well, I could ask Robin or Albino about it, if they want it, but Albino could probably make it really quickly as well since he has a bit of experience (I think) with how to make that work as well.
sadly not very easy
It is very easy?
I've messed with it before.
it's easy to do w/ a client script
it's not easy to do on Thunderstore's side
because they would need to create a new database, process all the existing profiles to populate the database
uh what
when I say 'process' I mean, base64 decode the file they have stored, and then unzip
Yeah, it's easy.
oh 'THIS server'
You don't need to create any new databases.
I read 'THE server' and assumed he meant Thunderstore's API
im confused
don't worry, what I'm talking about would only apply for adding the functionality to thunderstore API
since doing the decoding/unpacking isn't really viable for every API request
Nah, the bot would just do that instead.
Yes, I realise that
I've done it before when testing LMM's mod sync a few months back in Unity. Lol
Jeez, the old UI sucked.
The last (publicly known?) iteration before it was completely redone. Lol
It was so bad. LOL
Thank goodness I redid it.
Seems nice, a lot of whitespace though.
A lot of bulky elements that could be slimmed down.
https://luckperms.net/editor/demo lets you edit permissions for your minecraft server in a webapp, and push the perms to the server hassle free
Definitely isn't my favorite UI, but still very convenient.
the UI might not be perfect, but the execution of the ease-of-use is
which is what excited me about it
Yeah.
my favourite as well
it's saving so much time
it's been a few years since I had to do anything perm related, I think the first time round was my first ever time seeing JSON ... I was lost as all hell 😂
It was just such a refreshing experience
like 'holy shit, this is so much better than it used to be'
Well, had my computer blue screen, got to love spending hundreds of dollars on cooling, but the 13900k still overpowers it.
(At least I think it blue screened because it overheated, I did have my CPU at near 100% for quite a bit.)
Though I think I had something wired wrong, so maybe it should work better (if not, properly) now.
I really hope LMM is backed up to like GitHub or something lol
Your computer does not seem to like you working on it
Nah, I was just doing quite a bit of stuff, everything is backed up though. Lol
is the backup backed up too?
👀
Lol, ask Github.
I'm confidently not confident in today's progress, but literally only 3 things left to do. Problem is, I'm gone later, and XFINITY IS DOWN AFTER A POWER OUTAGE.
So I can't test mod sync out.
(I'm running on my hotspot rn.)
Somebody explain to me how this makes sense...
XFINITY IS BACK UP.
the drivers not downloading on metered connection is the best and worst thing at the same time
The thing is, I've had this camera plugged in for months, any drivers should've already been downloaded. Lol
Me: tells friends and family I'm finally finishing LethalModManager today
Friend: asks to play
Family: asks to watch movie
Me: finally gets time
Also me: uses bathroom for a while
ALSO MY FAMILY: PROCEEDS TO SUDDENLY DO THINGS AND ASKS ME FOR HELPI
Me: only has 6 hours left in the day...
I should just never tell anybody I'm close to finishing anything so that this doesn't happen again because what the heck.
Good thing I never promised weekend (like usual), but it might still be today, just eating before I get back to it.
Just replying to this for me to look at again.
I can definitely knock out mod toggling and mod extraction testing today.
We'll see about mod sync.
Alright, mod toggling works perfectly, I forgot about mod deleting, but I literally figured it out within minutes, just adding better visual indicators, I'll soon add proper replacement icons for such.
On a side note: I got to redownload a mod, but luckily I am literally working on a mod manager. Lol
@pure halo, how am I constantly coming across your modpack now? Lol
Found an "issue" with mod downloading, but instantly fixing.
Because I constantly update it. hahahaha
Maybe I'll have to sort by how many versions to check what rank you are with updates. Lol
Rank?
Just wherever you are showing.
[BETA TOMORROW] LethalModManager https://thunderstore.io/c/lethal-company/p/kyxino/LethalModManager/
👀
I'm only doing it tomorrow because I didn't have sufficient time to test today, other than that, everything is done within the hour.
[BETA 4/22] LethalModManager https://thunderstore.io/c/lethal-company/p/kyxino/LethalModManager/
That's a bit better.
im sorry i dont beleive it
You don't have to, it's happening tomorrow.
its not possible
I don't know if you are messing around or not.
nah the real question is, are you messing around with us or not 🤣
No, the main problem (that memory leak) has been fixed, it was the main reason for it being delayed because I thought I had fixed it many times before, and it turned out I didn't, but now I really have.
That problem had been around for over a month, maybe even 2.
Part of the reason for me practically remaking LethalModManager was because of that issue.
(Mostly because of lacking support for other features I was wanting, but it was also harder to add that support when resources were constantly being taken up by a memory leak.)
Then between the end of March and a week ago, I started really slowing development down and focusing on other things because I needed a break.
Considering how I fixed the problem within a week that I previously tried fixing within a month tells me that I should've taken more breaks or spent less time on LMM every day. Lol
Honestly kind of ticks me off, but then again, my fault for not being healthy about it, especially with how bad my sleep schedule was back then.
great to hear but im happy that we are finally gonna get it, you eorked hard for this moment
Just checked today after goin weeks without check in this and it’s really comin out today! Exciting, gonna allow people to join lobbies with ease and play modded with strangers
Yeppp, working on the final 2 things right now.
ok i just realized another issue, im fixing it after release, it shouldn't be the end of the world, idc
It's funny that I was going to make a simple config syncing mod back in December, and then it led to one of the most complicated things possible.
pls release it in 2 years it would be funny
I would probably not even be in the modding community at that point.
oml
When will this release
Later today.
So what dose it do. I heard some people say that it will auto install mods that other people have
Essentially, yeah.
Think of it like Garry's Mod when you are joining lobbies, but instead it prompts you with the mods to download or whether you just want to cancel and try another lobby.
Oh ok
If you accept the mods to download, it will download and install all of them to a temporary profile and then relaunch the game in that profile.
If there is an easy way for me to do so SECURELY, possibly, but I'm trying to get this to full release as soon as possible.
Well, I just found out a VS2022 feature by mistake.
good luck with that, mod manager work is hard to escape
Nah, I meant if I am still working on trying to get a beta out.
oh lmao
Yeah, if it took 2 years for me to get a beta out, I'd just call it quits.
Especially because who knows if Lethal Company will last that long to make that much of a difference.
Alright, yeah, I'm not spending anymore time trying to make multiple mods download at once and stuff, I'll figure it out after release, I have it mostly done, but I know it will probably have some little additional issue, and then it will delay, so I'm just making it download one at a time.
That conversion was fast. LOL
I'll finish all of the "gimmicks" after beta release.
Fixed profile loading not working properly with the main directory and temp profiles (if they are still showing for whatever reason).
It still downloads and extracts mods really quickly, actually.
hes gone insane from working to much... talking to himself
Getting people to help test mod sync, if this works out, LMM will be out, and I am placing my bets on it working since the main problems were just getting the mod manager working, which it is.
I can test
Got somebody to help test.
Here's an accurate representation of what I see when I'm programming.
That isn't even much of an exaggeration, that's pretty realistic. Lol
blinds/curtains go brrr
My mom doesn't believe in them practically. LOL
I'm finally getting some after complaining for a long time though.
(We only have one curtain and one set of blinds in our house: curtain in my bedroom, and blinds in their bathroom.)
How’s progress?
blinding
whos dat in the bottom right lmao
BigPuffer
Looks like a streamer
Great, just one problem that I'm trying to fix with a tester rn.
Well, one big problem.
It's the configs, everything else seems to work.
Bet is the goal still today?
What’s wrong?
Yep.
Bet
Oh Alr
Watch us release the same day lol
You about to release the new version of LLL? Lol
Ah, then probably not the same day. Lol
YESS
u actually motivated me so I can finish all my work before it comes out lol
Lol, nice.
Hope this gets its well deserved recognition, crazy convenient and multiplayer modding compatibility will definitely change the lethal company random lobby experience
absolutely I beleive a public announcment should be made
also sorry to keep bothering, but progress 🙂
also should i make a brand new profile with just LMM
You can, I have it where it sets up your main directory (the Steam directory) with LMM only so that you still are playing vanilla, and can quickly load into another profile from it.
LMM has its own profiles as well.
Other mod managers are not yet properly supported by LMM for downloading mods and such, so yeah, I don't know how that would work, but for the basic mod sync stuff, everything should be perfectly fine.
Thanks! I have been trying to get this as convenient as possible, unfortunately some things remain a bit janky since not everything has been rewritten properly, but that will be happening soon after release, I actually already have a bit of the code ready for such.
bet bet
Alright, things are mostly working, just getting configs properly synced up and we should be good.
Oh, right, an issue with the menu staying up for the host after opening a lobby, got to fix that.
Minus almost an entire day.
consisering the day starts at 6:15am yea
I have less than 2 hours left in the day.
so is it realising tomorrow or later this night? its 8:31pm for me
Today, I'm pretty dang sure I can get this out today, if not, I'll stay up until it is released.
but I'm very sure it is within these 2 hours.
Figured out the config situation, everything should be working, fixing the last few bugs.
WE ARE ALMOST GREENLIT, PEOPLE.
BREAKING NEWS: AN ASTEROID IS HEADING FOR A LETHAL COMPANY MODDER NAMED KYXINO.
man if that actually happened, i wouldnt be scared, i'd be annoyed
Already had a PSU blow, multiple power outages, a blue screen, components overheat (both main and alt drives along with my CPU), internet go out, etc.
Summoning 50 billion new bugs in the code through mental projection
LOL
I really don't know how I threw myself into one of the most complicated things possible.
I could've done a program that attached to Lethal Company instead and it would've been so much simpler.
YEP, CONFIGS VIA MOD SYNC SHOULD BE WORKING NOW.
About to test with one of my private testers.
IT WORKS
Truthfully, I could release right now, but I got a few more bugs, and it's already 13 minutes away from 4/23 for me, so nobody really cares too much I'm sure, so I'll just finish them off for the night, and release.
Which means LethalModManager is coming out in a few minutes or so.
Oh yeah, I got a lot of debugging messages to get rid of. Lol
i can't believe it's finally happening
Don't because I'm deleting everything. jk jk, i would hate myself if i gave up on it
but yeah, it's finally happening, and I can now have peace of mind until the bug reports on everything I know is broken is reported a million times.
Should've just released on the dot and released a patch right after. Lol
Having to make a few things a bit inconvenient for stability sake, but I'll restore proper functionality of everything within the week probably.
(I'm instantly rewriting a few last things after I release tonight.)