Jump to content

A question for mods/coders


atlasroar

Recommended Posts

So LOOT and BOSS seem to be big now more than ever and im curious as to what these specifically do and how they work. Im also curious how theyre integrated into vortex and what impact they have on the games integrated into vortex. (or do they have an impact)

 

 

Ive recently fallen in love with kenshi. a game recently added to vortex and the nexus. Ive taken it upon myself to help the community with load order and general performance issues. While this is fun, it is tedious. So coming back to years of using the nexus and being a part of the bethesda modding community i was curious about how LOOT and BOSS works and if these can be changed/modified/used to help people in general with their load orders for this game and what would be needed to help this occur.

 

 

 

 

(also unsure if this is posted in the right disscussion)

Link to comment
Share on other sites

If I am understanding you correctly, you want to create something like LOOT for Kenshi? That would, indeed, be awesome. As Kenshi is very different in terms of modding, however, that might not prove easy.

 

A good place to start would be the documentation for LOOT: https://loot.github.io/docs/

 

You could also join the discord server and get more help there: https://loot.github.io/discord/

 

I hope that helps. Best of luck!

Link to comment
Share on other sites

If I am understanding you correctly, you want to create something like LOOT for Kenshi? That would, indeed, be awesome. As Kenshi is very different in terms of modding, however, that might not prove easy.

 

A good place to start would be the documentation for LOOT: https://loot.github.io/docs/

 

You could also join the discord server and get more help there: https://loot.github.io/discord/

 

I hope that helps. Best of luck!

Yes exactly that! big help. Im half asleep looking into this project. Clearly my sleep addled brain couldn't outline what the main point was!

Is BOSS a separate tool or merely the acronym used for the master list provided?

And from my general observations it looks like what i would need to do is ; Locate the file Mods.cfg. Edit the texts there with proper names added by mods (probably from names gathered from vortex because i cant imagine working with steam is easy) (hence reordering mods) . saving the file with the edits and figuring out how to notify users through (again) vortex if any discrepancies come up.

But thanks for notifying me of the Github for LOOT!

Link to comment
Share on other sites

 

If I am understanding you correctly, you want to create something like LOOT for Kenshi? That would, indeed, be awesome. As Kenshi is very different in terms of modding, however, that might not prove easy.

 

A good place to start would be the documentation for LOOT: https://loot.github.io/docs/

 

You could also join the discord server and get more help there: https://loot.github.io/discord/

 

I hope that helps. Best of luck!

Yes exactly that! big help. Im half asleep looking into this project. Clearly my sleep addled brain couldn't outline what the main point was!

Is BOSS a separate tool or merely the acronym used for the master list provided?

And from my general observations it looks like what i would need to do is ; Locate the file Mods.cfg. Edit the texts there with proper names added by mods (probably from names gathered from vortex because i cant imagine working with steam is easy) (hence reordering mods) . saving the file with the edits and figuring out how to notify users through (again) vortex if any discrepancies come up.

But thanks for notifying me of the Github for LOOT!

 

BOSS is the predecessor to LOOT. It's been superseded by LOOT entirely now.

Link to comment
Share on other sites

 

 

If I am understanding you correctly, you want to create something like LOOT for Kenshi? That would, indeed, be awesome. As Kenshi is very different in terms of modding, however, that might not prove easy.

 

A good place to start would be the documentation for LOOT: https://loot.github.io/docs/

 

You could also join the discord server and get more help there: https://loot.github.io/discord/

 

I hope that helps. Best of luck!

Yes exactly that! big help. Im half asleep looking into this project. Clearly my sleep addled brain couldn't outline what the main point was!

Is BOSS a separate tool or merely the acronym used for the master list provided?

And from my general observations it looks like what i would need to do is ; Locate the file Mods.cfg. Edit the texts there with proper names added by mods (probably from names gathered from vortex because i cant imagine working with steam is easy) (hence reordering mods) . saving the file with the edits and figuring out how to notify users through (again) vortex if any discrepancies come up.

But thanks for notifying me of the Github for LOOT!

 

BOSS is the predecessor to LOOT. It's been superseded by LOOT entirely now.

 

Okay cool! i thought from what i did know that BOSS was the acronym used for the master list but im glad to see that isnt something ill have to look into.

Link to comment
Share on other sites

Your best bet will be to get the information from the LOOT devs themselves, but here is what I understand of it:

 

LOOT creates a directed graph of plugins, each plugin is a node.

In that graph it creates edges in two phases:

First it looks at the plugin content and its dependencies and generates rule such that "if a depends on b, load a after b" and "if a overrides more records than b and there is an overlap between the records they overwrite, load b after a" (the latter I'm not 100% sure, the logic would be that smaller, more specific plugins should load after the one that changes the game in broad strokes)

Second it generates edges based on the masterlist (centralized, curated) and userlist (individual customisations the user made) which directly contains rules like "load a after b".

LOOT also supports groups but afaik that's just a way to create many rules in one go and thus isn't a fundamentally separate thing from the above.

 

Once you have that graph, all you have to do is do a "topological sort" to create a list ordered such that all the rules are fulfilled - or produce an error if that isn't possible.

 

Afaik BOSS only generated edges from the masterlist, not algorithmically and didn't support groups making it a lot simpler but it required a more extensive masterlist. My advice would be: you should start there as well. This shouldn't be all that difficult: define a file format that lets you identify mods and rules. Then use a graph library. Create a directed graph with mods as nodes and rules as edges.

Let the library do the topological sort, then write out the load order in whatever format the game requires.

 

Apart from the way you identify mods this should be fairly independent of the game.

The real work is building the "masterlist". And also you will need a way for users to adjust the order to their needs

Link to comment
Share on other sites

Your best bet will be to get the information from the LOOT devs themselves, but here is what I understand of it:

 

LOOT creates a directed graph of plugins, each plugin is a node.

In that graph it creates edges in two phases:

First it looks at the plugin content and its dependencies and generates rule such that "if a depends on b, load a after b" and "if a overrides more records than b and there is an overlap between the records they overwrite, load b after a" (the latter I'm not 100% sure, the logic would be that smaller, more specific plugins should load after the one that changes the game in broad strokes)

Second it generates edges based on the masterlist (centralized, curated) and userlist (individual customisations the user made) which directly contains rules like "load a after b".

LOOT also supports groups but afaik that's just a way to create many rules in one go and thus isn't a fundamentally separate thing from the above.

 

Once you have that graph, all you have to do is do a "topological sort" to create a list ordered such that all the rules are fulfilled - or produce an error if that isn't possible.

 

Afaik BOSS only generated edges from the masterlist, not algorithmically and didn't support groups making it a lot simpler but it required a more extensive masterlist. My advice would be: you should start there as well. This shouldn't be all that difficult: define a file format that lets you identify mods and rules. Then use a graph library. Create a directed graph with mods as nodes and rules as edges.

Let the library do the topological sort, then write out the load order in whatever format the game requires.

 

Apart from the way you identify mods this should be fairly independent of the game.

The real work is building the "masterlist". And also you will need a way for users to adjust the order to their needs

So far from what i have built is a Call and edit function and that seems to work okay, albeit a bit slow-ish. But the big thing is obviously the logic and dictating what needs to go where and why. Funnily enough kenshis Mods.cfg file actually can be edited with plain text. so that is a huge bonus. it makes things a lot simpler for me. So basically what i have now is a Copy paste going on. which im okay with but obviously whats needed is a generic list order and a "classification" of the mod. I basically need to know what the mod does which should give the program an idea of where it CAN be placed. Thats about as far as i am now :P

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...