Jump to content

Online Install Order List - for modders/maintainers collaboration


AL|EN

Recommended Posts

Following the mention in Mod Conflicts, I'd like to make some points. Might be too late, considering that Dynamic Order has already began rolling out, but anyway.

 

On 8/19/2019 at 12:52 AM, jastey said:

What I do not like (but I don't have a better solution, either): it looks like the component numbers need to be inserted by hand with the numbers they have internally upon installation. For some of my mods, I do not know the exact numbers (e.g. bg1re with a lot of optional components) of each component (without spening time to count them etc.)

1) As it's been pointed out, in most cases component numbers are not necessary.

2)

On 1/15/2020 at 4:32 AM, jastey said:

I can only talk for myself: as much as I am interested in help players to have correct install orders, I can only correctly list my own mods - and not in relation to all others since I do not know all other mods. I would like to pass on any install order requirements or restrictions for my mods that I know of, though.

No one knows all the mods. You are not required to do more. The relationships to mods by other authors can be defined as they become known.

  3)

On 1/15/2020 at 2:27 PM, jastey said:

Whether this information could be automated completely I am not sure, especially since what you described @Leeux sounded very much like what BWS was providing which was the reason people burnt out while maintaining it, at least if such mod install order informations would need to be updated when new mods come out - or maybe I'm missing something.

It can be automated.

3b) BWS took on much larger task - encompassing all exising mods. AFAIK PI only takes relatively small amount for now, which are relatively well-maintained: the ones in GH organizations. More importantly, BWS list was mostly maintained by the people who were not the authors. In a centralized list of mods supported by PI, you would only be responsible for you own mods.

  4)

On 1/16/2020 at 10:53 AM, jastey said:

Yes and no. Putting it into the mod's ini is done on the by while updating the mod. Having to edit the list is two/three extra steps - and such needed modder collaborations never worked in the past... I am thinking long scale here: doing it once is no problem. Doing it every update because something changed, for example will eventually cease, and info in that list will become outdated. Plus: i know it sounds silly, but sometimes this happens because people forget about it after making changes to their mods. For example I wasn't aware of the BWPFixpack every time I made updates to my own mods, although I was very interested in incorporating its fixes.

...

Definitely true, and that is why one list makes much sense, not only for players. But info might be outdated at some point, that is my fear, so we should check whether e.g. creation of such list from mod.ini info might be possible or even feasible thing. Probably not, as not every mod can list all others it should be installed after / before...

What happens when your mods become outdated? Say, you're away for half a year, or busy, or wating for external updates (translations, etc). With order information available only in your mod, it's up to you to make the update (well, and maybe a few other people if you gave them access to the repo). With a centralized list, it's up to you and everyone else. The order in your personal ini in mod folder has more chance to become outdated.

 

5) I think that having absolute order and/or a single list of files is hard to maintain and is indeed off-putting for modders to work on. A better option would be to allow each mod to have its own file, in which dynamic rules are defined.

6) INI format itself is not great for structured data. I would rather prefer something like yml.

 7)

2 hours ago, AL|EN said:

Regarding 'online list for collaboration', I'm sure that you understand why the last thing that I think of. There was attempt to do it for install order and it didn't fly.

I fully understand the reluctance. Still, I think that centralized option has a better chance of working.

I don't fully understand what do you mean by "didn't fly", though. Was it ever live? Was the list actually used? I was not aware of it, nor did I have commit access.

 

My suggestion (which, again, I know, a little late):

Say, taking UA as an example

# rules/ua.yml

policy: bottom # optional, means that generally it should be installed as late as possible
before:
  - stratagems
  - ir # item randomiser
after:
  - bg2fixpack
  - rr
  - tactics
conflict:
  - item_rev # just because

In the whole list repo, I would be responsible for this one file. The manager would then evaluate the files and construct the correct order. Specific before/after rules would obviously override the policy, and mods sharing the same policy and having no specific rules regarding each other, can be sorted however, say, alphabetically.

Now, if there was such a repo, and it was actually in use by a manager, and I had access to it, then I would commit such a file. Otherwise, why'd I bother? Even the new dynamic rules for install order that are in BGforge mods were submitted via pulls, I didn't write them myself. It would've been exactly the same in case of a central list.

 

Lastly, I think the reason centralized dbs have somewhat bad rep is because it seems like a gargantuan task, and that's because people want to have the ultimate list from get-go. There's no need for that. Let the list build itself naturally. If it gets stale it would be because literally no one cares. Which means there's no problem to begin with.

So, while late, I propose to reconsider this one more time, for both install order and conflicts.

Link to comment

@qwerty1234567 I feel a bit dumb and maybe I'm tired, but is your suggestion that we should go for a centralized list?

All I can say to a centralized install order list:

-I update my mods and will have an eye on the (e.g.) Dynamic Install Order syntax, but I might not update all link list entries / install order lists etc available on the forums, for whatever reasons.

-such a centralized effort always failed in the past.

-if it's not to fail we need one person responsible.

-this person will burn out and then the list will fail.

Link to comment

I'm willing to support efforts for install order syntax / list whatever you decide - currently. Question is what happens if I / other modders do not contribute any more.

I understand the point about "list can be edited by anyone, mods with install order syntax might give outdated order info if mods do not get updated".

EDIT: I still think that externalized list is additional step that might get neglected at some point.

Link to comment

@jastey situation:

  1. Users complain about a bug in your mod.
  2. You spend time debugging, and track it down to my mod being installed after yours (because I've specified that in my ini file)
  3. For whatever techical reason, you can't resolve this on your side.
  4. You go to github, open an issue, let's say even dig into my code and see that actually I made a typo and meant to install my mod before yours. You even submit a pull request with correction.
  5. I'm unresponsive.

Your actions? Day 1, day 7, 30, 365, etc.

 

Link to comment

-advice not to install both mods for now.

There is two things that will happen to mods of authors who are unresponsive (i.e. not available any more):

-they will be updated (bugfixed) by the community

-they will get reputation to be buggy and be excluded by players.

End of list.

Link to comment

@qwerty1234567 addition: because the reason both mods do not install together / have bug when installed together could be anything else inside your mod (to remain with your example). Then what? Making the install order externalized will help zip in this case if the mod making the problem can't be updated by community. Your example with error in dynamic install order syntax is a very special case.

Link to comment

Let me offer third possibility:

- Modder can add the opposite install order rule and instruct players that the 'old mod x' is outdated and they should remove 'my mod' from the BEFORE keyword'

This is edge case which can be mitigated locally.

Link to comment

@jastey OK, but do you think that most users will see your advice before installing? Because the usuall workflow as I see it: fire up PI, install whatever seems good, get bugs, come complaining.

  1. There is no bug in my mod or your mod per se. They are perfectly good. It only manifests in a combination.
  2. Therefore, for the time being, those users that did see your advice have to choose between our mods.
  3. If there's another reason mods can't be installed together, it's a conflict, and that's discussed in the other topic. This example is specifically about install order because that's the topic here.
  4. As for community - well, how come a global list doesn't get fixed by community, but mods do?

@AL|EN and then we of course get the opposite situation when I finally update my mod (changing the order some more) and jastey disappears. The history repeats.

Not that I have any intention of disappearing, or expect other people to. But I would like to have a better plan than just hope for the best.

Anyway, if a global override feature I suggested in the conflict topic is confirmed as an eventual possibility, then I wholeheartedly agree that Dynamic is better.

Edited by Magus
Link to comment
40 minutes ago, Magus said:

As for community - well, how come a global list doesn't get fixed by community, but mods do?

For me: Because I want to make mods, keep them bugfree, to an extend that I also update mods of others if I like them and feel responsible. Whereas lists - I do not like updating, especially not if it's not for my own mods.

In general: I don't know, it's just what happened in the past.

Link to comment
16 hours ago, Magus said:

Now, if there was such a repo, and it was actually in use by a manager, and I had access to it, then I would commit such a file. Otherwise, why'd I bother? Even the new dynamic rules for install order that are in BGforge mods were submitted via pulls, I didn't write them myself. It would've been exactly the same in case of a central list.

There was a proposed repo, it was using one file with 'sorting order' syntax. Loading it from online source was not a problem but there was no point of doing that when almost noone wanted to contribute. But as you said, some players investigate install order data and wanted to contribut to the mod directly. If the rules would exist only in online list, I'm pretty sure that PR from players would not exist because they have no idea bout existence of them.

11 hours ago, Magus said:

As for community - well, how come a global list doesn't get fixed by community, but mods do?

I know it looks the same but apparently it's not. Some modders acts like watchmakers - alone, releasing their creation from time to time, without interacting with anything outside. Interacting with 'online list' is extra layer of work. It's easier and less time consuming for modders to put install order data inside they locally developed mods and simply do a release then repeat this step for each mod. Also less chance that somebody will forget update data after component changes. Later, the new mod maintainers can also contribute (or atleast don't break) to the install order data instead because it's already part of the mod.

11 hours ago, Magus said:

Anyway, if a global override feature I suggested in the conflict topic is confirmed as an eventual possibility, then I wholeheartedly agree that Dynamic is better.

If such situation occurs, It's possible to provide a a feature which will 'overwrite' faulty rules. Hopefully, it won't be needed.

 

Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...