#Mod manager

1 messages ยท Page 2 of 1

outer drift
#

wtf

valid orchid
#

you break it, you buy it

solid dragon
#

and then you get to keep both pieces ๐Ÿ˜„

valid orchid
#

What if you break it, buy it, then go back becaues it's broken bigbrain

solid dragon
#

lol

solid dragon
simple ridge
#

i think it will be /v2/

simple ridge
#

let the betting begin ๐Ÿ˜›

solid dragon
#

no, v2 will only be used for incompatible changes

#

where the object schema changes,

valid orchid
#

it's also pretty much impossible to do anyway

solid dragon
valid orchid
#

publish game with the mod manager, and it's in public

solid dragon
#

yea, because it's compiled into the dll

outer drift
#

hmm maybe someone would like to let their creativty go lose and add some visual helpers for the images? Pog ?

lapis bay
#

green for good, red for bad?
would need to add
red green color weakness is common!

outer drift
#

Green means, it works, go play! orange means, i dont know, maybe, maybe not. red means, we KNOW it will not work

lapis bay
#

good
still recommend changing the colors though
cause I AM RED GREEN COLOR WEAK! and those colors are a pain for me to differentiate
so in addition id make a checkmark (green) for good to go, Orange/Yellow Crossed Checkmark or a questionmark for uncertain and a red cross for not compatible

outer drift
#

ooh thats what you mean, i didnt understand

#

yea, that is what im asking, for someone to make it more clear for people like you

lapis bay
#

also
Do i need to update the mod manager? game crashes currently when trying to manage mods

outer drift
lapis bay
outer drift
lapis bay
outer drift
#

file format doesnt matter really

#

jpg png work, but can be converted if need be

#

also @simple ridge i saw you were testing extended floodgates? ๐Ÿ˜‰

#

works like a charm ChillBar_wink

lapis bay
outer drift
simple ridge
#

Red X for not working
Orange ? For unknown maybe? Then we have color and different icons๐Ÿ˜‰

outer drift
#

yea, im not that creative, so i was wondering if someone else did

simple ridge
#

Can look at it later

#

Do tell how above image work in the drop down list

#

๐Ÿ˜ฎ also after a time we will be able to remove the update tags ๐Ÿ˜

outer drift
lapis bay
simple ridge
#

Ya but would be good to see how it looks๐Ÿ˜‰

outer drift
#

really creative!

#

After i finished some more coding, i will try them out

lapis bay
#

im pretty sure i just copied some checkmark designs from memory, cant remember from where though

simple ridge
#

Just thought so it do not look to busy in the list(to much different info)

outer drift
simple ridge
#

Will do my own thought of image to๐Ÿ˜‰ always good with alternatives

lapis bay
#

bloody hell!
tried reinstalling the mod manager, did all the steps
now there is no mod menue in the main menue

outer drift
simple ridge
valid orchid
#

@outer drift do you receive all versions when fetching the mods or does this require a new requests

outer drift
#

ooh i see

#

i believe 2 seperated calls

#

i cache them both

valid orchid
#

Well that are still 130 calls when scrolling thru all mods

#

And 800 for maps

outer drift
#

Yes, i do need to optimise calls

#

Though currrent the same call is made multiple times

#

So it should already be better

#

The problem is that i now call when displaying (as i need to show the status) when previously that didnt happen

simple ridge
#

but you do not need to check more if first is working right?

outer drift
#

so it can be updated

simple ridge
#

๐Ÿ˜ฎ ya true

#

to bad normal api call for get all mods do not also give all mod files

lofty acorn
#

I appreciate all the amazing work; you wonderful & talented ppl do

simple ridge
#

There we go fixed (nr 2) of images, Different shapes for each type of message:

simple ridge
#

ya clean is what i was looking for

lofty acorn
#

Everyone in the US knows what an octagon means lol

simple ridge
#

ya even EU ๐Ÿ˜›

lofty acorn
#

Cool

#

Didn't know but know I do

simple ridge
#

maybe should rotate the triange ๐Ÿ˜›

#

180degree

lofty acorn
#

The orange one should just be "ยฏ_(ใƒ„)_/ยฏ"

simple ridge
#

thought of a give way sign ๐Ÿ˜›

#

Alternetive unknown image

outer drift
#

I was thinking of just adding symbles in, but i like that aswell

simple ridge
#

๐Ÿ™‚

solid dragon
#

Orange should have question mark maybe?

solid dragon
#

Yes. It's actually easier to see than shapes.

#

We have a similar icon on one of our UI's at work

simple ridge
#

can always try ๐Ÿ˜‰

solid dragon
#

Yea

#

I'm looking at an image search for "yield sign" for ideas too

#

Some countries have diamond

#

Some triangles are red, some yellow

simple ridge
#

ya but yellow will not work great with the border

solid dragon
#

Yea

#

Oh I think the diamond is "yield ahead", not "yield now"

outer drift
#

I see this package is not part of the modmanager itself, only the UI part:

<PackageReference Include="System.Linq.Async" Version="6.0.1" />

#

@valid orchid would it be bad if i used that?

solid dragon
#

Our work UI uses โœ“ for good, ! for warning, and ? for unknown

#

and โœ• for fail

#

and green/yellow/red circles -- but it's against a white background

valid orchid
outer drift
#

its in modmanagerui, but not in modmanager, but i might not need it

#

Is there a downside to just caching everything at the start?

lean jolt
#

Depending of the users RAM size, can be ๐Ÿค”

outer drift
#

as our mod community is pretty small, its gonna be 1 mb max

simple ridge
#

caching when you open modmanager?

lean jolt
#

So, no issue at all

outer drift
#

I can run it on startup, so it is possibly finished before pressing the open modmanager button

simple ridge
#

hmm fine if you have a failsafe if not internet connection

outer drift
#

This is the current build, Most things i would like to see added are now added i believe

#

gonna do some perfomance improvements, but this looks pretty good to me

lean jolt
#

Click on Mod Manager button and ... nothing ๐Ÿ˜ฎ

outer drift
#

wut?

#

nothing loads you mean?

lean jolt
#

I mean, that Mod Manager window do not show up, nothing in ehe BeepinEX log, will check in user data

outer drift
#

oke, very wierd

lean jolt
#

I had 2 BeepineEX folder in the plugins folder, deleted them , still not working

simple ridge
#

i will test to

outer drift
#

@lean jolt thanks for trying, but sadly i wouldnt know what is the issues ๐Ÿ˜ฆ

lean jolt
#

I do not find any clue, sorry ...

simple ridge
#

do work for me

#

but it is laggy but that i think you know

lean jolt
#

hmm, do you have any of the mimic mods ?

simple ridge
#

only mod manager

#

but its now frozen

lean jolt
#

Is winter ๐ŸŒฌ๏ธ

simple ridge
#

it is its -24,81 C outside but i do not think thats it ๐Ÿ˜‰

lean jolt
#

๐Ÿคฃ

#

OK, deleted ALL mimic mods and is showing ๐Ÿ˜ฎ

simple ridge
#

thats not good at all ๐Ÿ˜ฆ

lean jolt
lean jolt
simple ridge
#

you got some more now to show as compatible ๐Ÿ˜‰

#

good night and good job Tobbert LoveIT

outer drift
#

but uuh wierd not working with mimic mods

#

no clue why that would be the case

solid dragon
#

Where is the green/red circle used in-game?

outer drift
lean jolt
solid dragon
#

Example mod?

outer drift
solid dragon
#

(from #๐Ÿš€mod-users message) does there need to be a different icon if the connection to mod.io fails and modfiles can't be downloaded when scrolling the list of mods?

#

although in that case it could just be omitted, or dark grey,

#

are you using your personal user api key when testing?

#

I'm pretty sure 60 requests per minute should be easy to reach

solid dragon
valid orchid
#

shouldn't async prevent blocking UI when making a API call ThinkingIT

solid dragon
#

I think it depends on if the click handler is waiting forthe async call or not,

#

eg the TryInstall method is not async

#

downloadButton.clicked += async () => await DoDownloadAndExtract

#

DoDownloadAndExtract is async

#

and the Download call is async

#

but TryInstall is not

#

so (I'm guessing here) maybe it's the Install that makes the UI block, not the download?

#

btw, I notice that DownloadLatest names the temporary file {mod.Id}_{mod.Modfile.Id}.zip

#

but DownloadFile names the temporary file {mod.Id}_{file.Version}.zip

#

it shouldn't matter, just an interetsing difference

#

if TryInstall(...) will block, then maybe it should be wrapped in await Task.Run(() => { TryInstall(...);})

#

blegh, you can't because TryInstall interacts with the UI

#

but then TryInstall could put the version-check & addonService calls into a Task

outer drift
#

To be clear, nearly all of that is reworked

solid dragon
#

I'm sure

#

do you have a dev branch uploaded?

outer drift
#

I can push it right now

solid dragon
#

nice

#

still DownloadAndExtract is async,

#

and TryInstall is not,

#

but the ModActionStarted and ModActionStopped calls must happen on the UI thread,

solid dragon
#

yea, all interations with the UI have to happen on the UI thread

#

which async methods run on by default

#

but the try/catch with TryGet/compare version/ChangeVersion/Install doesn't touch the UI right?

#

and should therefore run on a separate thread

#

I'm not sure if the catches should be inside the Task thread or not,

#

I think it doesn't matter because await will propgate the exception correctly

#

this all assumes that the UI blocking is caused by the zip extract, etc and not during the download phase

#

but the Modio.NET client seems to be fully async

#

so that shouldn't be an issue

solid dragon
#

fyi: summary of conversation with mod.io support:

  • Please don't do a ton of API calls if you can avoid it
  • Use IDs instead of names (for the "currently installed filter")
sand rune
#

Is this a known issue?

outer drift
sand rune
#

ah, wasn't sure if that was what you were showing off in the screenshot above

unreal cave
simple ridge
outer drift
#

yeaaaaa. i would like to show author on the modcard aswell.

unreal cave
#

Thanks. Works on the website.
Would be nice if this functionality is in InGame-ModManager.
My usecase for this is to check the translation updates per author.

valid orchid
#

@stone niche I am probably going to get an M3 mac, so if we would revive the external in the future we could look into cross

stone niche
valid orchid
#

Is that the crossplatform lf avonia thong ?

#

But so much things to do though

#

Need to fix TimberApi foe you and all

stone niche
#

I thought that was apples dev platform, but not sure on that one!

outer drift
#

@lean jolt you are sure it is not the case for live version?

smoky fox
outer drift
#

Nono, im talking about my update ive been working on for 2 weeks now

outer drift
smoky fox
#

do you mean the newly broken button? And how is it possible that it worked before? ๐Ÿ™‚

outer drift
#

Absolutly no clue

#

I do wanna fix it ofcourse

#

No clue where to start, so i was just asking if you know

smoky fox
#

I don't know how it was done in the functional version of the Manager. Maybe the way it was done was for a reason. It is better to ask the author of Manager directly. But otherwise, yes, if I add the Linker, the button stops working with your version... I have no idea how, I would have to look closer, but the Linker does not modify the Menu, it just detects that it is fully loaded

#

just from the principle that the other buttons work, you will have an bug somewhere ๐Ÿค“ but I can look also out of curiosity, why it doesn't work because of Linker
but I haven't seen the manager code, I can't help in this direction

smoky fox
# outer drift Absolutly no clue

after loading the menu, have you tried clicking on Credits and then on Manager? This combo works when I have Linker there
so some state of the window will be in a different state and when another window is closed it will reset and it will start working

lean jolt
lean jolt
smoky fox
#

Even if I comment all the patches in Linker, it behaves the same... I would probably recommend looking in the functional version of the Manager to see what is different there, because everything worked for me before

#

I guess already...

#

I don't know what Tobbert did there, are you grabbing the Welcome box or something?

#

by default, I remove the Welcome window (it can be re-enabled in the configuration), if I leave it, the Manager button works. But this used to work with that Manager 1.3.6 or so.. otherwise I have to click on something else before the button starts working

#

to be precise, I call this RemoveAndShowMainMenu method which is called after the button is clicked, so I leave the behavior as if the user closes the window manually

// Start button in game code
visualElement.Q("Start", null).RegisterCallback<ClickEvent>(delegate(ClickEvent _)
{
    this.RemoveAndShowMainMenu();
}, TrickleDown.NoTrickleDown);

// go to MainMenu event - this is what Linker calls
private void RemoveAndShowMainMenu()
{
    WelcomeScreenBox.showedAlready = true;
    this._panelStack.Pop(this);
    this.ShowMainMenu();
}
#

PanelStack

public void Push(IPanelController panelController)
{
    this.Push(panelController, false, false, false, true);
    
    // your Postfix patch
    if (panelController is MainMenuPanel)
    {
        // view or add events to Manager button
    }
}

you should do something more like this and then show or add click events... but i guess i don't have a Manager

outer drift
smoky fox
#

I found a more elegant way to disable the welcome window, but even then the Manager button does not work on the first try. You really have to fix this, I can't seem to do anything with it even in the linker
I do everything (if possible) as Postfix, so as not to hinder anyone's work

outer drift
#

i dont need to fix anything, it works perfectly without your mod KEKW

smoky fox
#

I probably wouldn't argue like that if it was working before you touched it ๐Ÿ™‚

outer drift
#

i will try searching more for what the exact reason is ofcourse, as i am currently basing this of of github

outer drift
smoky fox
#

here I will remind you of your words - why touch it when it works ๐Ÿ˜„

outer drift
#

you dont have to change it, but this approach is better.

#

its better readable, which is the whole point of most things i rewrote

smoky fox
#

this is not about the Linker, but whoever makes a mod that will skip the Welcome window, the Manager will not work... so the problem is not in the Linker, but in the fact that I skip the Welcome window, the Manager button stops working

#

I have no idea how the manager did it before and what you did there, so I can't advise more now, but I recommend fixing it in Manager, because from my point of view you broke it ๐Ÿ™‚ I would advise more, but I don't know Manager nor the new way you do it ๐Ÿคทโ€โ™‚๏ธ

#

I can of course disable the default welcome skip so that everyone can manually enable it, but that doesn't solve the problem that the welcome skip is blocking the button

lean jolt
outer drift
#

dynamic specifications might be discontinued

#

but unrelated to mod manager

lean jolt
#

I know. Was just a joke ๐Ÿคซ

outer drift
#

@smoky fox, i checked and im fairly certain this issue is caused by linker indeed.

#

I will therefore not change my current solution

smoky fox
#

I say again.. skipping the Welcome window is responsible for this problem and it doesn't matter if it is included in Linker or someone else makes a mod to skip Wekcome

you know what.. make a mod that skips the welcome window and use your manager.. when you come up with a solution to skip the welcome to make the manager work, I'll be happy to edit it in the linker

outer drift
smoky fox
#

I won't change anything either - I have no way, I only have 2 options to skip the Welcome and neither of them is to the liking of the new Manager
The previous version worked.. just do a rollback, add only add the icons about which there was a debate and it's solved

outer drift
outer drift
#

or dont, and i will send people to you

smoky fox
#

i don't understand your logic... you touch the code, break it and blame it on other mods to fix their own code? Seriously? We both know the solution, but you don't want to do it... hard advice and help afterwards

if you know of another way to skip the Welcome window, write to me... I'll do it that way

outer drift
smoky fox
#

I know only 2 ways and neither of them works for you on the new button

outer drift
#

I will say what i changed, i remove ALL logic from the constructor, as NO logic should be inside the constructor. If you do, it is probably wrong and can be fixed in a nother way.
Instead i use ILoadableSingleton to initiate the logic of the mod manager.

#

as much as possible ofcourse, i dont have access to change original code.

smoky fox
outer drift
smoky fox
#

so go figure out how to hide the Welcome window and we'll all be happy... but as soon as I call the same event as when I click, there's no "cleaner" way, but if you can think of another, I'm all ears

#

ye, it's wrong in the mod I sent, it also includes a footer, but it's the principle of the first solution

outer drift
#

i dont know if it is "cleaner" or whatever, probably not, but your current implementation is wrong

smoky fox
#

generally the impl. bad in game when Welcome chains and inside welcome is Menu instead of the other way around

outer drift
#

this statement is also wrong, using a postfix doesnt mean you dont hinder other peoples work

#

like in this case for example ๐Ÿ˜‰

smoky fox
#

check.. InitialLanguageChooser and StartShowingMainMenu
this is the second method, which is called even earlier (as the first one)... hiding the Welcome is OK, but even here on the first click of the Manager it doesn't work... there's not much to do

outer drift
#

how about doing it later?

#

oh wait, did i just give a hint

smoky fox
#

in what I sent, even if you completely skip Welcome and get to the menu, the Manager still doesn't work for you... so I see the problem really somewhere in the Manager and the way you add it button... don't you want to ask @tight wigeon why it worked before?

outer drift
#

I do not claim the mod as i have rewritten it is better or anything, I do know that it is more in line with the logic on which the game is based

#

logic which you are breaking

#

At this point i dont mind wheter you fix it or not, as it doesnt matter for the modmanager, but it is your problem now.

smoky fox
#

this can be done if there is official support and api, but not in our case... sometimes this way is not suitable and this is the case

night sundial
#

hm... I trying to understand but I'm missing sth, probably it is due to my lack of knowledge in harmony and patching ๐Ÿ˜…

#

since mimic in his mod is using the same metod that is used when the button is clicked

smoky fox
#

I have one question

night sundial
#

why does it break the manager? ThinkingIT

#

since the manager is postfixing MainMenuPanel.GetPanel? ThinkingIT

#

and that happens (should happen) after both

outer drift
#

so what is happening its a loading order issue

smoky fox
#

@night sundial
(Welcome window)
when is called the Show() method and RemoveAndShowMainMenu() at the end, why does the main menu behave differently than when it is closed by clicking Start?

visualElement.Q("Start", null).RegisterCallback<ClickEvent>(delegate(ClickEvent _)
{
    this.RemoveAndShowMainMenu();
}, TrickleDown.NoTrickleDown);
#

the problem is that when I call it manually (like if the player clicks on it), the click event of the Manager button doesn't work

valid orchid
night sundial
#

ah, so the problem is not, that MainMenuPanelPostfix is not called, but that this doesn't work? button.clicked += ModsBox.OpenOptionsDelegate;

outer drift
#

WelcomeScreenBox.Show() is called during the Load(). As it is called by InitialLanguageChooser. He immediatly calls RemoveAndShowMainMenu, which then calls GetPanel of the main menu and call this: https://github.com/TobbyTheBobby/ModManager/blob/8f02f2f419fbff11daed4a5ad96eb08e26ccfb86/ModManagerUI/Patches.cs#L20

as in my current implementation OpenOptionsDelegate gets set during load (after InitialLanguageChooser) the logic of the patch is called before.

How mimics implementation is breaking my new implementation, is by calling logic during load.

night sundial
outer drift
#

The way he could do a correct implementation is making sure he doesnt call logic during Load().

smoky fox
#

the way to keep your car clean is to always leave it in the garage

outer drift
#

but i need to go, so will read when im back

night sundial
#

@outer drift but in the link you provided, OpenOptionsDelegate is set in MainMenuPanelPostfix fro GetPanel, not in Load as you say?

#

I'm lost ๐Ÿ˜…

#

@smoky fox do you have your code on github? cam I have a look?

smoky fox
#

I also have a new way, but it doesn't work for Manager either

private static MethodInfo TargetMethod()
{
    return RefTools.FindMethodByType("InitialLanguageChooser", "Load");
}

private static void Postfix(object ____welcomeScreenBox)
{
    if (EP.Config.SkipWelcomeWindow)
    {
        ____welcomeScreenBox._InvokeMethod("OnUIConfirmed");
    }
}
night sundial
#

it calls the same method ๐Ÿคทโ€โ™‚๏ธ

public bool OnUIConfirmed() {
  RemoveAndShowMainMenu();
  return true;
}
smoky fox
#

I know.. everything works... we are dealing with the fact that the new version of the Manager does not work (specifically the click event on the button)... but as soon as you click on another window, for example Credits and close it, the Manager event works

#

from my point of view everything is correct in skipping Welcome and the problem is in the Manager... I don't know how else to skip Welcome to Menu

#

if I don't do this logic around skipping the Welcome, the Click event on the Manager button works.. no idea why

night sundial
#

well... tbh Tobbert I think mimic has a point here - following our guidelines in your context is not always possible

valid orchid
#

What if you just patch StartShowingMainMenu in a postfix and close the _welcomeScreenBox?

night sundial
#

assigning static OpenOptionsDelegate in Load is strange for me - but I understand it is needed, because you don't have access to instance in harmony patch?

#

if yes, then in my opinion it should be done in a way, that mandates working in any circumstances

valid orchid
night sundial
#

no matter, if this is in constructor or anywhere else

#

but he is accessing ModsBox in patch for MainMenuPanel?

valid orchid
#

Wym? should that matter with the _welcomeScreenBox ThinkingIT

#

I will test in a few hours

smoky fox
valid orchid
#

But will check later

smoky fox
#

skipping the Welcome window works, but if someone comes up with a solution to make the Manager work as well, so that Tobbert doesn't have to touch anything, I'll do it that way, but as I wrote, I don't know a "cleaner" solution than calling the UI method, which is called manually with a button

night sundial
#

but if you can change your own mod to make sure it always work, then sticking to principles designed for other situation is questionable for me

valid orchid
smoky fox
night sundial
#

hm... adding a new class with PostLoad and calling it in PostLoad might fix the issue

outer drift
night sundial
#

but tbh Tobbert - your code is also wrong

outer drift
#

And how i would do it

night sundial
#

even the game logic can break your code, if we decide to skip welcome screen box

#

if for example we add a setting to omit welcome screen

smoky fox
#

by the way, why is the Main Menu buried in the Welcome window? Shouldn't it be the other way around? Show a modal Welcome window above the main menu?

night sundial
#

then InitialLanguageChooser in load will call MainMenu to show - and your code will be broken because that will happen in Load

night sundial
#

so we were experimenting

#

it is more about - show it and forget

outer drift
night sundial
#

I think assigning that static delegate in Load is wrong

#

since you don't have any guarantee that it will be code before you use that delegate

#

as mimic and the other mod case shows

#

and as I said - also game logic can break it if we decide to add option to skip welcome screen box

outer drift
#

That might be true yea! Dont know how i would fix that, but will try to think about a potebtially other solution regarding that. Not sure how yet though. Though i do know the vallue will not be used untill it is set. As the load order does make sense.

outer drift
outer drift
smoky fox
#

well, nothing, from my point of view from Linker it is solved.. I would help more, but I don't know the manager ๐Ÿ˜‰

btw just out of curiosity I tried to rewrite the entire StartShowingMainMenu method in InitialLanguageChooser so that it doesn't do Show Welcome but immediately ShowMainMenu. The problem with the Manager button persists.. so there is no other way to skip Welcome

night sundial
#

InitialLanguegeChooser is doing exactly the same in Load

#

just calling another window

#

I see 3 solutions, but I will write them later, since I'm on mobile rn

night sundial
#
  1. Assign OpenOptionsDelegate in constructor
#
  1. In postfix use lambda, so the delegate will be evaluated during execution time button.clicked += () => ModsBox.OpenOptionsDelegate?.Invoke();
#
  1. Make OpenOptionsPanel a static method that will use Instance since this field is assigned in constructor and then use it in postfix
public static void OpenOptionsPanel()
{
    ManifestValidatorService.Instance.ValidateManifests();
    PanelStack.HideAndPush(Instance);
}
#

not sure if they will work for sure - but those are my ideas on how to fix it

valid orchid
#

1 and 2 looks good to me

outer drift
#

The current implementation works fine though, why does it need to change?

#

Are my assumptions wrong?

#

What is wrong with it?

valid orchid
#

Where is the download link of the new mod manager ThinkingIT

night sundial
#

you are assignig a static field in non static context - thats is in my opinion wrong

outer drift
#

But why do none of your solutions include a option for changing the code of mimic?

smoky fox
smoky fox
outer drift
#

Oki, will try to look for a fix ๐Ÿ™‚

outer drift
#

Oke, tried looking for a fix, but it seems you need a way to get or set a static field in non static context no? I wouldnt know a way to not do that.

#

Does the game do that somewhere, where i can take example?

night sundial
#

have you tried any of the fix ideas I provided?

#

game don't do such things

outer drift
#

first one is not possible, logic in constructor, second is a fix based on the current implementation, The instance is also not allowed as that is also setting static in instance context

night sundial
#

but you are already doing it in load

#

so whats the problem of doing it in other places?

outer drift
#

now you are getting to the root problem, at this point i dont know a better way and therefore this is the "correct" way? At that point i dont see a reason to change it.

night sundial
#

for me it is because your mod is dependent on how other mods (and game itself) is programmed

#

you can avoid that pitfall by a simple change

#

either change the evaluation of delegate to click time

#

or assign it in constructor

outer drift
#

I can ofcourse and i 100% dont mind doing it, but why do i always have to provide a solution?

#

my way is just as valid, im just saying

night sundial
#

you are not providing a solution - you are making your own solution more robust

#

more independent

#

better

outer drift
#

i dont feel like it is better if it comes with more unclear structure and rules.

night sundial
#

it depends how you define better

#

go check WaterSimulation class - it is bloated as hell

#

you can split it in smaller classes, extract methods

#

it will have more clear and better structure

#

will be more readable

#

but will it be better?

#

I don't think so - this class is better only in one way - performance

#

so it does a lot of things that are unsound

#

to be better

#

for me making a mod that is not dependent on how other mods works sounds better

#

then just "not doing logic" in constructor

#

tbh assigning a field is not much of a logic

#

you are doing it already by assigning all other fields

#

so why not assigning that one field?

outer drift
#

the thing is just, in this instance, with that logic, his mod is activly breaking my mod, as he could patch something else. A mod will always able to break another mod. The only question being, who gets to need to change something?

#

if he were to do logic after Load, it would also be fine

night sundial
#

oh man, I'm done here

#

you have a clean way (as clean as you are already doing) of fixing this problem

#

and yet you are pointing the other way saying - its your fault

#

well, you changed sth and it broke

#

so it is your fault

outer drift
#

i will go with option 2 to be clear, i will be the one doing the fixing, again

#

So creating a mod, that will prevent conventions set by the game, i will upload it first, this means others will break my mod? They changed something, mine was first

small smelt
#

just curious, how to fix the mod manager not showing up on the main menu after install?

sacred salmon
#

SocketException: No connection could be made because the target machine actively refused it.
how to fix this?

valid orchid
atomic dune
#

i have the same issue and no i dont

#

i could probably wait for the next mod manager update considering a lot of other people reported this issue but im not sure if a fix to this will be included

atomic dune
#

also this is happening when you click the mod manager button on main screen

valid orchid
#

Hmm we dont know, we might have a hunch, which could be solved in that update

#

Can you gove full log?

#

And does is always happen or just sometimes

solid dragon
#

Maybe the connection to api.mod.io is just flaky sometimes?

outer drift
#

What i have been thinking about, is poeple making a lot of calls?

#

oke, that is not possible for the person in #๐Ÿš€mod-users

solid dragon
#

why? just because it's happening when they try and enter the Mod Manager UI?

outer drift
#

i was basing my thought on having tons of mods installed, but that dude sure didnt

solid dragon
#

yea,

outer drift
#

as having mods installed does a call for every mod

solid dragon
#

does it?

outer drift
#

2 actually

solid dragon
#

I suspect that it's just "regular" maintenance at cloudflare or mod.io that causes the connection to fail

outer drift
#

does happen at random times, so i cannot find a logic in it

solid dragon
#

Does it happen more at certain times of day?

outer drift
#

Tadaลกis report was at 12:00 my time and the guy in #๐Ÿš€mod-users was around 23:00

#

so i would say no

#

other reports were also at random times

solid dragon
#

yea, it's weird that it's "target machine actively refused it", and not "failed to connect"

#

which means it's a TCP reset packet,

#

oh, you know we should be aksing what IP addresses the name resolves to too,

#

it should be cloudflare IPs

#

it might also be ISP related, although I doubt all reporters are using the same ISP

solid dragon
#

but really Mod Manager should be resilient to it

#

(which maybe the dev version is already fixed, I haven't checked)

atomic dune
atomic dune
#

if it was a temporary issue it would have worked once

atomic dune
#

i also tried this on win10 and that didnt fix anything so me being on win7 isnt the problem

outer drift
solid dragon
#

weird,

solid dragon
#

It should say something about a missing api_key

atomic dune
#

yeah i can

#

I'll try adding my key i guess

solid dragon
#

yea, that error message is "good enough" to prove the connection works though,

#

Are you running Timberborn from Steam, Gog, Epic or Humble?

#

and do you have any firewall software instlled?

atomic dune
#

steam

#

no firewall just the basic one

#

and i already said i tried disabling it entirely and nothing changed

solid dragon
#

k, here's a weird idea to try: what happens if you go and view the credits, and then open the Mod Manager?

#

does that make any difference?

atomic dune
#

what like fully view them

#

if not fully then no it didnt help

#

im glad this game loads so damn quickly lol

solid dragon
#

heh,

#

and you don't have a proxy server that you have to use or anything?

atomic dune
#

i mean i have some small servers installed for development but i think theyre disabled rn

#

plus they wouldnt be active on my win10 instance either way because none of my development software is there

#

but no i definitely don't remember installing any proxies

#

this is just a normal home router

outer drift
#

But you are consitently getting the error, how wierd

atomic dune
#

is there someone out there only getting it sometimes

solid dragon
#

mmm, I don't think so

atomic dune
#

just because they only complain about it occasionally doesn't mean it sometimes works :y

outer drift
#

I believe most are getting it consitently

solid dragon
#

yea, but 3 people in the last few days?

outer drift
#

@solid dragon are you aware of this being asked in mod.io discord?

solid dragon
#

Tadaลกis had the same issue

outer drift
solid dragon
#

and so did WolfBoy

atomic dune
#

is that from a different game

solid dragon
#

reported in #๐Ÿš€mod-users

#

no also Timberborn

atomic dune
#

oh

atomic dune
solid dragon
#

Tadaลกis reported it about ~20 hours ago

outer drift
#

This has come up decently recently, after new years

solid dragon
#

which update?

outer drift
solid dragon
#

5.7.0 or 5.7.1?

outer drift
#

5.7.0 to stable

solid dragon
#

mmmm,

atomic dune
#

anyways i know its a bit of a loaded question but when's the next mod manager update gonna be out, approximately

outer drift
#

Depends on how much time i have this week, hopefully soon ๐Ÿ™‚

atomic dune
#

cool

solid dragon
#

Frame'z Play'z Game'z had the issue last week too

atomic dune
#

its funny I could just download the mods manually but for the past week since 22nth I've had the notion like "oh yeah i mean i could just play something else what if it gets fixed in just like a day or something"

#

๐Ÿ™ƒ

solid dragon
#

and prior to that Discord only finds a report from June 2023

outer drift
#

This issue i dont know how to fix, as when its consitent i cannot just throw retry every minute in there or something

solid dragon
#

(and one in Jan 2023 before that)

outer drift
solid dragon
#

yea, Discord search is definitely missing results

#

it would be nice to even confirm which address it was trying to connect to,

#

the base game doesn't do any network io does it? not even to check for an update?

outer drift
#

Its the game managers that do that i believe

solid dragon
#

yea

outer drift
#

The links in the main menu are just opening a page in browser

solid dragon
#

hmmm, looking at the code for WebConnection.Connect I think it can throw this type of connection failure if there are zero in the address list.

#

mmm, it's supposed to raise NameResolutionFailure though,

#

and the stack trace shows that it's getting to BeginConnect

#

but elsewhere where I see this error being reported it shows as machine actively refused it $ip:$port.

#

and that's missing in these errors,

lean jolt
#

Another report with connection issue #๐Ÿš€mod-users message

outer drift
#

Thebloodeyes asked in mod.io chat and i asked if they could add me aswell. maybe i can ask someone with the problem to play guinea pig xD

lean jolt
#

Sorry, cannot be that pig since I do not have any problems ๐Ÿ˜ญ

solid dragon
#

would be nice if we could get network traffic dump to see where the connection is trying to connect

atomic dune
#

can packettracer do that or what

solid dragon
atomic dune
#

how do i set it up

#

i have it running but its just one line it did at the start

#

doesnt show anything when i do the usual crashing thing

#

or anything else for that matter

outer drift
#

oke, thats a example of why you shouldnt let me do pull requests

#

i dont know what im doing

valid orchid
#

What

#

To who are you talking

outer drift
#

myself

#

as i am stupid

#

i added files to the gitignore

#

but for some reason they are then removed

#

wtf

simple ridge
outer drift
#

it removed them from git

simple ridge
#

๐Ÿค”

outer drift
#

this time without deleting files with the commit

solid dragon
#

btw, you don't have to remove the PR and create a new one, if you re-push to the same place it'll just update the already open PR

atomic dune
#

i updated the game and mod manager works now

#

which is kind of weird because when this issue started happening it was definetly up to date

#

oh well

valid orchid
#

@stone niche No idea where the external thread gone to but, I believe avalonia is still quite updating their docs

#

I don't remember it to have this much

stone niche
#

Oh 100% those docs are fresh and new!

valid orchid
#

It seems like after 1 year, I finally have some energy again to program after work. So maybe in the summer (If TimberApi is finished) ill get back to it.

#

Hopefully it's even more matured by then

solid dragon
outer drift
#

Would cost me more time than its worth

simple ridge
#

link to the corrected file/ lines?

solid dragon
#

I think the critical part is classList = {"menu-button", "menu-button--stretched" },

#

but that's a total guess

#

I don't know if Button --> LocalizableButton has any effect on the style

#

(I assume not)

valid orchid
solid dragon
#

it also requires using Timberborn.CoreUI;

valid orchid
solid dragon
#

LocalizableButton is from Timberborn.CoreUI, and the current Patches.cs doesn't reference it,

#

so when changing Button to LocalizableButton the uisng must be added

valid orchid
#

Oh Timberborn corn. though you said timberApi

solid dragon
#

I'm trying to see if I can extract just the style fix and send a PR for that

valid orchid
#

I will check tobberts PR tomorrow soo...

solid dragon
#

ahh actually LocalizableButton (and the required using) is the only fix required to style the button.

#

I don't see any effect from adding or removing the menu-button--stretched class

#

but the other main menu buttons have it, so good to match

#

I've created PR #55 with the required changes,

smoky fox
#

May not show combo in some cases.. (maybe it's a bug, other maps have a version)

smoky fox
smoky fox
outer drift
outer drift
smoky fox
outer drift
smoky fox
solid dragon
#

You mean because generally Maps work for most versions?

#

ohh, I see what you mean,

#

does the drop down only show other versions?

#

i.e. the currently live version is missing from the drop down?

#

That wouldn't make sense,

#

oh, I think I see what the issue is,

#

the author of Micro map didn't give a name for the version

#

so it's "blank"

#

the drop down isn't empty, it has one blank item,

#

so it can be selected, it just doesn't show any text

outer drift
#

Yea exactly

#

its because of the briliant idea of making versions a string

#

absolutely best idea ever

solid dragon
#

is the cache of mod information only stored in memory? So if I update changelog, I need to restart to see the change?

outer drift
#

we found that the usecase is not worth the increas in calls

solid dragon
#

yea

#

heh, so if I filter by Installed -- it doesn't show Mod Manager, even though it's Installed checkbox is checked,

outer drift
#

always been the case yes

solid dragon
#

but BepInPack shows up

outer drift
#

bepinex is an exception aswell

solid dragon
#

and I used Mod Manager (1.3.6) to download the new version (2.0.0)

#

I did delete the old folder manually though

#

(I didn't bother to try running it with both present)

outer drift
#

I saw someone report not being able to, so hmm, happy it sometimes works i gues

#

but we cannot change existing mod manager

solid dragon
#

This is running under wine on Linux (where "delete open files" is allowed)

#

hmm, it doesn't detect TimberAPI as installed (it's in the plugins dir)

#

(and emits log messages)

#

but doesn't have a manifest.json

outer drift
#

manual and mod manager do not mix

#

manual doesnt generate manifest.json

#

therefore doesnt know it is installed

solid dragon
#

it did for bepinex though

#

(I guess another exception?)

outer drift
#

i havent looked at that yet, as i didnt care about that really

solid dragon
#

ohh, confusing -- when you download from the details page, the Download button doesn't re-enable after the download is complete.

outer drift
#

i also didnt understand how the system works aswell, part of why i didnt bother

outer drift
solid dragon
#

yea, but all the docs say "wait until download button goes back to usable until you do anything else

solid dragon
#

maybe only used to

outer drift
#

I mever removed any mention about that

solid dragon
#

I don't remember where I saw it ๐Ÿ˜ฆ

#

okay, found a bug

#

I installed TimberAPI 0.6.3.1 (intentionally),

#

and now when I'm on the details page, it won't let me update to 0.6.5.0

outer drift
#

how did you install 0.6.3.1?

solid dragon
#

I chose 0.6.3.1 in the drop-down and clicked Install

#

If I choose a different version, then Update is enabled,

#

bu tit goes back to disabled when I select 0.6.5.0

#

(The Update button on the mod list view is enabled)

outer drift
#

i have been debating to remove that line, i dont know why its there, but its the reason for that bug

solid dragon
#

but I didn't do any download yet

outer drift
#

not sure if i depend on that behavior anywhere

#

you said you downloaded 0.6.3.1

solid dragon
#

yes, then I restarted TB

#

notice Installed version is 0.6.3.1

outer drift
#

what is wrong there then?

solid dragon
#

ohh,

#

CurrentFile = mod.Modfile;

#

so it's comparing the drop down version with the live version,

#

instead of the currently installed version

outer drift
#

i remember having a reason why that didnt make sense, but cannot think right now why KEKW

solid dragon
# smoky fox

I assume QoL being shown as Qo L (and UI and U I) is because somewhere the code adds spaces before capital letters

outer drift
#

yea, already fixed that

solid dragon
#

oh? nice

smoky fox
#

yep, it was just an extra space in the code or localization (I don't know where it is).

smoky fox
solid dragon
#

and not CustomRadioButtonGroup

outer drift
#

oooh i like yea

#

thanks, will do, you know how to make issues, would you mind pasting that in

#

then i can try to learn how to resolve issues KEKW

solid dragon
#

yea, but I'd have to do it in the Timberborn-Modding-Central repo, because your fork doesn't have issues enabled

outer drift
#

there we go, i didnt know you had to enable them KEKW

solid dragon
#

forks don't have them enabled (by default), because generally projects want centralized issue tracking

outer drift
#

oooh, might be better then to do it there yes

solid dragon
outer drift
#

if you maybe see other stupid things, tell me, the code can be improved by a lot still

solid dragon
#

btw, did you do anything for when the modio call fails? it used to crash the game, I didn't check what it does now

outer drift
#

depends on where the call fails i believe

#

right now, will probably crash it

#

you mean regarding the vpn thing

#

or the socket thing?

solid dragon
#

I think the socket thing, I'm not sure what the vpn thing you mean is,

outer drift
#

thats an older issue, has todo with korean people crashing while using vpns or something

#

cannot remember correctly

solid dragon
#

I "accidentally" managed to reproduce it locally when I did a local build with an invalid api key ๐Ÿ˜‚

outer drift
solid dragon
#

btw git doesn't handle the fact that github changes the commit slightly when merging them,

#

so if you want the commit graph to look pretty then you could use rebase instead of merge,

#

I struggle to get it right most of the time (it takes me a couple of tries to get it right),

#

so it's probably not worth bothering about

#

it probably easier to wait until all the changes are accepted, and then switch, because there are no pending changes to lose

cyan nova
#

Hello, I have a question. After I followed all the steps for instalation of mods I get this error in the bepindex console:

[Error : Unity Log] TypeLoadException: Could not load type of field 'ModManagerUI.ModManagerUIPlugin+<>c:<>9__1_0' (1) due to: Could not load file or assembly 'ModManager, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
Stack trace:
UnityEngine.GameObject:AddComponent(Type)
BepInEx.Bootstrap.Chainloader:Start()
UnityEngine.InputSystem.InputSystem:.cctor()

I tried already to look this error up, but I couldn't find any hits. Did I forgot to install a dependency?

simple ridge
long perch
#

I have a suggestion to fix the occasional crash upon attempting to update mods. Instead of trying to delete the old mods straight away you could instead store the new mod inside a dedicate folder in the mod managers directories and then use the OnDestroy event to delete the old versions and move the new versions to the plugins folder

long perch
#

Yeah, some mods just don't take well to trying to update while already loaded into the game. Sometimes I can somehow get around it by clicking remove mod before telling it to re-download the mod but there are still cases well that fails and it leaves an empty directory where the mod should be

outer drift
long perch
#

kk, assuming I remember anyways

long perch
#

Uh, didn't get a crash on this one but took me by surprise on a reboot. I "updated" the flywheels mod via the manager and when I rebooted and tried to start a new game TB crashed, the log revealed a missing flywheel prefix so I though they'd changed and I had to go change my custom mod for including them in GB faction, turned out the entire mod's folder had been wiped with nothing left

outer drift
#

it includes a Config that enables or disables the CrashGuardSystem as suggested by Todor

#

and interestingly for @simple ridge maybe. I added the option of doing the following in the blob:

CompatibleGameVersions: ["0.5.9.1"]```
simple ridge
#

ThinkingIT but its good to have a range of versions

outer drift
#

this is for the usecase:

So we have this mod and tested it on stable. Does it work? yes, then add it to that list. Otherwise empty list.

simple ridge
#

well do we really test each version or do we allow it until we get a crash or bug report? ๐Ÿ˜›

#

thats why i use

---
MinimumGameVersion: 0.5.0.0
MaximumGameVersion: 0.5.99.0
---
outer drift
#

So the code is just, if we say in the blob that its compatible, make it green, otherwise we dont influence it

outer drift
simple ridge
#

well that i can live with but to much maintenence and it will end with not updateing mods or set them as working

outer drift
#

In my opinion, in that instance it should just say orange

#

we dont know

outer drift
#

I was more talking about us as admins to be able to influence the color, while still allowing the creator to indicate what they want

outer drift
#

I feel like indicating an version higher than the current game version should indicate orange, as at that point we dont know if it will work on a newer version 100% of the time. Indicating green would be lying i feel like.

simple ridge
#

well for my mods each main version all version will probobly work only at experimental stage it may break on each update and then i can set min and max to the same

outer drift
#

Never mind, TheBloodEyes made me realize that what I'm trying to do is prevent the chance of a plane crashing into my house with a complicated system to eliminate planes that are about to crash into my house using any means necessary.

#

Which is, regarding the chance of it happening, unreasonable.

valid orchid
# simple ridge well for my mods each main version all version will probobly work only at experi...

It might be a bit unintuitive, but tobbert is adding a TestedCompibility or some similiar named prop.
So you can set only a minimum and it will be green on all those versions instead of orange.

The unintuitive part: would it be handy to be ["0.4.0.0", "0.5.9.1-0.5.99.0"] That you can add a range as well instead of specific versions. Just so you can set the who 0.5 branch green, without making it red for whenever 0.6 is released

#

Maybe a bit neater to make it ["0.4.0.0", "0.5.*"]

#

@simple ridge when experimental will be released, is it your plan to ad a min of 0.6.0.0 and a max of 0.6.99

simple ridge
# valid orchid It might be a bit unintuitive, but tobbert is adding a `TestedCompibility` or so...

can see a low use case compared to current system but will that then be replaced or whats the thought?
0.5.* is neat ya but could also be that it works on 5 until one point so could be 0.5.9.1 that is the last working version for some mod file and next starts from 0.5.9.2 so in that case it can realy be 0.5.99.0

Experimental if it works i will change it to have max 0.6.99 until noted that its broken ๐Ÿ˜‰ and if broken repair it 1-2 months later or when experimental is more stable

valid orchid
#

Always making it green until someone in discord pings it is broken will give unclear view when it's most important

#

There is what the orange is for

simple ridge
#

but then how to tell its broken?

valid orchid
#

with the maximum

#

to come back to your first question btw, no it is not a replacement it's an addon

simple ridge
simple ridge
#

i thought it was:
no minimum/maximum version set = Orange
min/max within current game version = Green
min/max outside of current game version = Red

valid orchid
#

So you have:

MinimumGameVersion -> indicated which version it started to work (green when exact, orange above, red under)
MaximumGameVersion -> indicated which version it last worked on (all versions between min/max green, orange does not exist, red anything below min, above max)

TestedVersions(not settled on name) -> indicated which versions are working
simple ridge
#

ether way keep it all in one place is the best and not separate it to different places to keep it easy to maintain and understand

valid orchid
valid orchid
simple ridge
valid orchid
simple ridge
# valid orchid What you mean

what i mean is i assume it will work until i get an report that is stops working because its not likely to stop working on one version example U5 (stable branch)

if on experimental branch example U6 i would not set it to a range because there is a much higher risk of stop working there

valid orchid
simple ridge
#

but even if i do im one of the most active helpers in modding basics ๐Ÿ˜‰ so would note the crash report pretty fast and can change the max range even on mobile

valid orchid
#

Else the users are more likely to ignore the green icons, since it breaks anyway

valid orchid
#

People see green, but it has less meaning since it could break anyway

#

Oh it was not a ThinkingIT as you didn't understand my bad

simple ridge
#

i get your point for experimental i keep max at version known to work

#

so to be able to give an orange to mods that may work maybe just:

---
MinimumGameVersion: 0.5.0.0
MaximumGameVersion: 0.5.9.9
Untested: 0.6.0.0
---

if untested is set that and higher versions show as orange?

#

and when i have tested it i can do:

---
MinimumGameVersion: 0.5.0.0
MaximumGameVersion: 0.6.0.0
Untested: 0.6.0.1
---
valid orchid
simple ridge
#

works good that 2 so:

no maximum at current and add the confirmed versions to show those versions as green
and if it breaks add maximum one as last testedversion ๐Ÿ‘

valid orchid
#

And then my question of today was to maybe add something like a TestedVersions: ["0.5.*"] for stable releases, since there is a very small chance they break

#

or would not be needed ThinkingIT ?

solid dragon
#

nit: info blob can now also be changed by mod author

outer drift
valid orchid
solid dragon
#

Correct, it was fixed

solid dragon
#

If you want the signals to be more clear, then maybe just remove orange? Then it's green for compatible, red for incompatibile, and nothing for unknown.

#

(although I do sort of like differentiating "tested good" vs "probably good")

simple ridge
#

Ya me to like the probobly good indicator

valid orchid
solid dragon
#

eeeh, probably compatible with a stable patch update, unlikely with an experimental update.

sweet warren
#

so I downloaded the water beaver mod and the mod manager wont mark it installed (did it manually) nor will it allow me to enable it

valid orchid
sweet warren
#

well it's not working with a MM install either

#

like it's just not installing using MM

valid orchid
#

Gtg sleep now, but got any crash logs or something ?

sweet warren
#

no cause it doesn't crash I just click the download button and it wont do anything

#

like I click it then wait like 10 minutes and nothin happens

#

ok well I tried again and now it's installed, great

#

and it doesn't work, alright time to hop channels

long perch
sweet warren
#

Nah cause I tried downloading it right after I said that and it worked so I guess I did something to stop the download or something

simple ridge
sweet warren
#

ahh

valid orchid
solid dragon
valid orchid
solid dragon
#

I doubt it

valid orchid
#

They can do it

solid dragon
#

Do you have a screenshot?

valid orchid
solid dragon
#

ohh, interesting.

#

Then I'd say that's still a bug, because the API was fixed to allow the author to edit the metadata.

valid orchid
#

Pretty sure they didn't want to add it to the web, believe they said something like that.

#

because it's something in the game needs to happen

#

Which I still find half reasonable, when they allow management outside of the game.

solid dragon
#

Yea, but it doesn't make sense to me to allow moderators to change it, but not authors.

#

Especially if it's mutable via the API

#

It's not security at that point, only inconvenience.

solid dragon
#

I didn't think it was already available on the web UI, so I didn't think asking to add it to the web UI was worth it.

#

but if it's already on the web UI with just different ACLs, then totally worth asking to get the ACLs fixed (in the same way the API was)

simple ridge
#

or maybe is thought to be able to do from a custom integration of a game ThinkingIT not by the user directly

valid orchid
wide notch
#

I suddenly can't load the mod manager anymore. Yesterday I clicked "update all mods" and since then (or at least I suppose since then) the mod manager tab isn't available in the menu anymore. Where do I post the log?

outer drift
wide notch
outer drift
#

Oh seems in the plugin folder a diplicate mod exists

#

I will make an issue

outer drift
brazen flax
#

I see that the mod has been updated to v2.0.0. I have no clue when though. I'm running v1.3.6. Is there any reason I should update when it seems to be working just fine? I couldn't find a changelog that listed out the specific changes.

solid dragon
#

v2 has better support for update 5

#

it also has support for "compatible version metadata in the changelog" so it'll try and show if a given version will work with the currently installed game version

brazen flax
#

Alright, thank you.

valid orchid
valid orchid
#

I'll try to merg the new update before I go on holiday. Been a busy time

unreal cave
long perch
#

Just installed the newest mod manager and found out out it now insists on restarting if you try to quit after installing mod updates or simply downloading them. Could you re-add the option to simply quit, there are cases where I prefer to flat out quit, such as when I suspect the mod manager managed to screw up an update (like it did just now with modular roofs) and I want to remove the skeletal folder left behind by the screw up

outer drift
#

probably, didnt think of that

#

but you can alt f4 or close the application

long perch
#

Yes it's fullscreen and yes there's alt+f4 but that's besides the point. To start with alt+f4 is a rather harsh way to shut down an app/game. It can lead to corruption in unexpected places so should always be treated as last resort, not a default choice.

#

secondly there should always be a "quit" option even if the "reboot" option is not available, in this case both can be done and since you've already done the work for both both should be available.

outer drift
outer drift
#

was unclear, i agree

#

But i believe currently solution is just as factorio has it

simple ridge
#

hmm add a config for close behavior? "quit" vs "restart"?

But the bigger question i think is why did it fail to update the mod, do you have any logs from when it happens?

long perch
winter patio
#

Morning. Sorry for noob question, just got Timberborn a week ago and just started trying some mods.

The install process involves setting up Bepinex first then popping the mod manager into the plugin folders - all fine there works great and have been enjoying some qol mods.

However my question is related to the Bepinex visible within mod manager. Is Bepinex updated through the mod manager or is it something different?

Just confused as it seems a bit of a mod-inception if the mod manager, which is a plugin, is able to update the mod loader.

Am I crazy or is it something else lol?

lean jolt
#

Mod Manager run under BeepinEX (is just a mod like others). So, BeepinEX cannot be updated thru Mod Manager.

winter patio
#

Ok thanks, that's what I thought - just was confused that there is an option to download it in the mod manager, but I guess the mod manager is just scraping mod.io and includes Bepinex in that list. I shall ignore it and update manually if I see a new version ๐Ÿ‘

lean jolt
winter patio
#

Understood

outer drift
outer drift
unreal cave
#

Is the "update available" function bugged or scratched in version 2? Should show the 2-tall small storage mod.

valid orchid
#

But not implemented, with an external one it can be downloaded and installed HappyIT

outer drift
#

did you downgrade in that instance?

#

or was it updated while having the game open?

#

does restarting fix it?

unreal cave
#

No to all 3 questions.

lean jolt
outer drift
#

"manually"refering to selecting the specific version using the full mod page

#

i need to rework that and all instances where modfile is directly updated at runtime

unreal cave
#

In V1 was although a line that showed the number of update available mods/maps and an update all button. There is now the enable/disable all buttons.

outer drift
#

only shows when more than 0 mods are updateable

lean jolt
unreal cave
#

Didn't show for me in this case with the 2-tall small storage mod.

outer drift
lean jolt
#

No, since I'm on experimental

unreal cave
#

For the ChooChoo mod it showed the update available button.
Recognized ChooChoo is marked green, 2-tall small storage is marked orange.
Could this be the problem with the update available button?

simple ridge
#

Can anyone test if game crashes if using modmanager 2.0.1 without internet access (before main menu)

lean jolt
simple ridge
#

Ok weird 2 persons have had critical crashes with 2.0.1 ๐Ÿค”

outer drift
#

its an error from not being able to load the type for some reason. and to me they both feel like user error

simple ridge
#

๐Ÿค” or corrupt download maybe

outer drift
#

Is there the plan to upload the manager to steam?

#

That does makes sense right, for poeple/mods that are not on both?

valid orchid
#

Judt make sure they know the mods come from mod.io and if you implement a steam addition ad well like a toggle

winter patio
#

Will modmanager bee needed with steam or is it an either/or situation

outer drift
#

I will update the modmanager to work with it atleast. So steam users will be able to see both when using the manager

lean jolt
outer drift
#

Just prefix it with the platform

lean jolt
#

That's for those downloaded thru game. But, the one's manually downloaded ? The same ?

outer drift
#

Hmmm i guess at that point its the responsabiluty of the mod creator to prefix it?

lean jolt
#

and, to maintain 2 version of the same mod.... Most modders may stay on ModIO ๐Ÿค”

valid orchid
outer drift
#

Im thinking about making something in unity or something to manage that at the same time

lean jolt
#

Ideally, on both platform, same mod should have the same ID. And, the integrated mod manager and the actual one should check the specific file for the platform (steam version should check manifest.json for mod downloaded from ModIO and version. txt in the other case). In case that in such a file a version of a mod is founded, the corresponding subscribe or download button should be disabled. Sure, nothing to do with manual download ๐Ÿ˜ญ

mint forum
#

Did something change with Mod Manager in the last few months? I noticed that lately it will show no updates but when I look at a specific mod I know updated I can see it. Is it because that orange dot?

outer drift
#

Hmmm is installed then i understand, but now showing it Hmm

mint forum
#

also searching isn't working. Typed in "Automation" and it just shows all the mods

outer drift
#

dafuq

#

i cannot think of a reason why that would be the case

mint forum
#

Yeah Iโ€™m not sure but I am on a mac if that helps at all. I can try checking the version later maybe I have an older one somehow

solid dragon
mint forum
#

Okay, so thatโ€™s not the issue here. Just have no idea why searching in mod manager is not working as expected.

solid dragon
#

in terms of versions offered to be updated, it's based on the currently "live version" of the mod, which is also manually chosen by the mod author,

#

so some mods could have newer versions but they won't be offered for "auto" update

mint forum
#

Yeah, in that case the live version was newer than my current installed version.

#

(All of that info is in the screenshot)

solid dragon
#

hmm, interesting

#

I don't think version information is required to offer to update, but it may

mint forum
#

Well, let me know if there's anything else I can provide to help debug this. I did check and my Mod Manager is up to date

#
"2.1.0"```
mint forum
#

But the live version was newer than what I had installed .

solid dragon
#

so if @mint creek added version metadata into the changelog, then it should appear as green and be offered as an update

mint forum
#

Does it need to be in the changelog? the metadata.json file has the version information

solid dragon
#

I guess you could try adding it manually, that should be picked up by the code

#

uh, no -- that doesn't help

#

because the version that needs to be downloaded isn't cached locally,

#

(that file is also already updated to 2.0.3 right?)

mint forum
#

Yeah, I was able to tell the mod manager to install the live version just fine, so I guess the changelog is the solution here?

#

yes

solid dragon
#

yea,

mint forum
#

Okay thanks

solid dragon
mint forum
#

Maybe it was updated after I took that screenshot?

#

But it seems to have the version information in there

solid dragon
#

No, it needs to be in a very specific format

#

Specifically this text

mint forum
#

Ah I see, thanks ๐Ÿ™‚

solid dragon
#

CompatibleGameVersions is also supported, I'm not sure if any mods use it though

#

some mods have [Game Version 0.5.9], which is not supported

outer drift
mint creek
# solid dragon Specifically this text

Can someone please point me to the ModManager documentation or alternatively relevant source code for this changelog Metadata section, so that I could add that to my mod file changelog sections?
It should be sufficient if I use versions 4.0.0.0 and 5.0.0.0 to describe general updates.

valid orchid
mint forum
mint creek
outer drift
#

Not that im aware of, maybe the wiki?

mint creek
#

needs update. Use hyperlink to this thread btw

mint forum
mint creek
#

What is wrong with ModManager? Why is it sniffing in that folder?

#

And no, I will not rename or change my folders. It is not supposed to do anything in there.
(Yes the folder name is literally mods_?, a name which is probably illegal on Windows - thus it fails on Wine. But ModManager has no reason to look at that folder.)

outer drift
#

you were so close to including the line, but i probably found the issue regardless. The reason its looking there is for possible files it needs to delete. I agree it should look in the mods root folder yes

mint creek
#

Also I am having multiple BepInEx/plugins folders. Just only one is rooted and used by the game.
Even more a reason to restrict ModManager to the correct folder.

simple ridge
#

Well it do need a folder to download to before replacing the old mod and it cant be inside plugins folder because then it may try to load 2 of the same mod at launch if downloaded but not installed

outer drift
#

Therefore retrying on load to see if the file is released

#

First line meant that you sent the error, just not showing where it was crashing, whcih would mkae it easier for me to find

solid dragon
#

I'm pretty sure that the ---'s (shown in the screenshot) are entirely optional, they're just used as a separator between the text and metadata.

mint creek
solid dragon
#

The actual MetadataBlob can only be changed with the mod.io REST API, not from the regular html interface.

mint creek
mint creek
solid dragon
#

/me is off to sleep, ciao

#

is off to sleep, ciao

mint creek
#

I still wonder, if ModManager deletes anything, if so why and how.
Does anyone know the details? It is difficult to find it in the source code, as there is so much of it :P

errant geyser
#

Are you going to support update 6?

brazen flax
#

I haven't been following the convo closely, but there were plans for it before.

simple ridge
outer drift
#

Yup, though sadly this and next week extremely busy with study and work, hopefully i can get some things done over the weekend

brazen flax
#

Take your time. There aren't enough mods updated yet anyway to need a mod manager!

errant geyser
#

Yeah that's true. Very few mods supported till now.

simple ridge
#

may also take a week or 2 for me to get a few mods updated

brazen flax
#

Also take your time. Experimental was just released. There's no rush. People have sluice gates to play around with.

simple ridge
#

But i want stairs ๐Ÿ˜† (Crying๐Ÿ‘ถ )

brazen flax
#

You mean ladders?
Or the curved stairs?

simple ridge
outer drift
errant geyser
brazen flax
#

I can understand why it's not.

simple ridge
#

how do they carry stuff in there hand and clime the ladder ๐Ÿ˜› and its to efficient you lose some complexity

errant geyser
#

Yeah. I stack storage and put just the ladder to access all the upper ones. It feels like cheating. ๐Ÿ˜‚

outer drift
#

We are ingame again

simple ridge
#

How will we separete mods that go in mods folder and plugins folder๐Ÿค” add bepinex to changelog?

lean jolt
#

Well, cannot react with another S ๐Ÿคฃ

outer drift
#

Mod manager almost updated

#

it now uses some of the basegame systems

#

should be nice

unreal cave
outer drift
simple ridge
outer drift
#

Now its also on steam!

mint forum
#

So I grabbed ModManager from Steam workshop, tried to install a mod from mod.io with it and I'm seeing this error in Player.log.
The manager was able to fetch the dependencies correctly and can find them in Documents/Timberborn/Mods/ but the Game Speed Config mod isn't installing.

outer drift
#

oh

#

xD

mint forum
#

yeah, sorry, was censoring my username ๐Ÿ˜›

outer drift
#

aah, no manifest found, i see, yea shouldnt break yea

mint forum
#

Could be because of how the mod packages itself? I noticed their zip file doesnโ€™t contain a folder just mod files

outer drift
#

did you manually install that one?>

mint forum
#

I had previously but I removed it before trying to get modmanager to install it

outer drift
#

oke, very wierd, it crashed for me the first time

#

now it doesnt anymore

outer drift
mint forum
#

Thanks ๐Ÿ˜„ Will test in a bit, not at my computer at the moment

mint forum
#

Also, would be nice if the ModManager could see that I have mods installed from Steam Workshop and use those as dependencies for things and not redownload them
Otherwise I get this:

#

But no worries if that's impossible, just sharing my experience

outer drift
valid orchid
outer drift
#

i think

valid orchid
# outer drift you can just register it

:0, what you could do thonkeyes...
Is check for the name of the dependency and see if that matches the mod.io's dependency name.
Then check if that mod exists in the ModRepository then not download it.

#

Still fiddly though.. because the general name must match.

#

Other weird thing you could do is check if it has any missing dependency based on manifest then just download all ๐Ÿ˜…

#

Just some random ideas

mint forum
#

Hmm, with version 3.0.1 of ModManager, looks like I get this crash when I hit "Exit to Main Menu" from the in-game menu

v0.6.1.2-760fc97-xsm
AddonInstallerException: Addon installer with id: `Map` is already added to the list
ModManager.AddonInstallerSystem.AddonInstallerRegistry.Add (System.String installerId, ModManager.AddonInstallerSystem.IAddonInstaller addonInstaller) (at <16718fb2160d4df8a137093c38990aaa>:0)
ModManager.MapSystem.MapRegisterer.Load () (at <16718fb2160d4df8a137093c38990aaa>:0)
Timberborn.SingletonSystem.SingletonLifecycleService.LoadSingletons () (at <87bd47c33df940b08880ed0a5853f2bb>:0)
Timberborn.SingletonSystem.SingletonLifecycleService.LoadAll () (at <87bd47c33df940b08880ed0a5853f2bb>:0)
Timberborn.SingletonSystem.SingletonLifecycleAdapter.Start () (at <87bd47c33df940b08880ed0a5853f2bb>:0)
lean jolt
#

@outer drift , can I dare to ask if it is possible to add ModIO downloaded mods to the ingame Load order mods startup window (with the same possibility to disable mods, of course) โ“ ๐Ÿค”

simple ridge
lean jolt
#

Nope, none of the mimic's mods (installed from ModIO with ModManager, are not in the startup window ....

valid orchid
#

mimic never updated them to an actual mod

lean jolt
simple ridge
#

Not without him updating them to mods from plugins

is they even installed in plugins folder where they need to go to work

lean jolt
#

To be clear, it's not about mimic's mods (was only an example). It's about ModIO mods that works only with BeepinEX ...

simple ridge
#

I would say its up to mod author to update it to mods not modmanager to do a hotfix

valid orchid
simple ridge
#

Found a new bug:
looks like some part of bepinex is helping when you launch but without it and only mod manager and harmony this person get a crash
i have no time to verify the crash
#๐Ÿš€mod-users message

solid dragon
#

bepinex mods are all loaded before the ingame mods load order window even shows,

#

(I assume)

solid dragon
#

btw, I got Harmony (2.3.3) and Mod Manager (3.0.1 ) to work fine.

#

(with game version 0.6.1.0)

#

It's possible that 0.6.2.0 has broken mods again

#

It would be nice if Harmony reported which patch failed,

valid orchid
#

It does that if the patch fails, if the code inside the patch fails it does not

mint forum
#

yeah

outer drift
#

I just dont understand the code

outer drift
#

Oke, probably fixed it

errant geyser
outer drift
#

someone on steam said it was fixed for him

errant geyser
#

Yeah that is fixed.
One issue. If you select update 6 and mod filter and then scroll down to see the results.
Then the filters are ignored.