New Version Checker Mod

  • FTB will be shutting down this forum by the end of July. To participate in our community discussions, please join our Discord! https://ftb.team/discord

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
Okay, instead of a marquee I've implemented a click-to-advance screen for critical updates. The mod is now completely usable
I hope :P
 

Slind

Well-Known Member
Mar 8, 2013
492
73
53
Disclaimer: I haven't read the entire thread, but as I have a full concept of a version checker which I either wanted to build or publish the concept on, well here it goes:

The Version checker consists of the mod it self, which can run on server and or client side, a database on the web and a web interface.
The process could look like this:
  1. collect mod information (unique mod id, md5sum, mod version)
  2. send the collected information to the web server
  3. web server will respond with information as follows (1. amount outdated mods, 2. versions behind overall, custom link to webpage)
  4. the customized web page has been generated using the data provided by the mod. This page contains:
    1. a list of all mods separated by
      1. up to date
      2. minor update
      3. major update
    2. a link to the download page (user created)
    3. a report button to report dead links + suggestion box for the new mod location
    4. possibility to comment (trajing: "Don't udpate to this version, it will break your.. wait for the next one, issue already fixed in dev..")
    5. report button of non available versions
As imagined the database behind this is being generated and filled by the users of this mod. There is no need to parse any curse page, forum threads.. Everything is user maintained.

On top, further stats about version usage can be generated.

As, a callback is never liked if hidden, I would suggest a start up dialog asking the user if he wants to receive update notices and agrees to the callback.

You might think that this system won't work as most users won't go out and look for new version. But I have seen this work quite well on other platforms. Let me know what you think.




Further on this could be expended with features like, letting mod authors declare specific versions as recommended and "don't use". A setting to define a modpack name, allowing further filtering. Options to enable/disable automated checks. (e.g. I would prefer a command, which I would use once a week.) *Server Version* only show to op's..

Atm. I use this mod update database with data from not enough mods.
 

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
Disclaimer: I haven't read the entire thread, but as I have a full concept of a version checker which I either wanted to build or publish the concept on, well here it goes:

The Version checker consists of the mod it self, which can run on server and or client side, a database on the web and a web interface.
The process could look like this:
  1. collect mod information (unique mod id, md5sum, mod version)
  2. send the collected information to the web server
  3. web server will respond with information as follows (1. amount outdated mods, 2. versions behind overall, custom link to webpage)
  4. the customized web page has been generated using the data provided by the mod. This page contains:
    1. a list of all mods separated by
      1. up to date
      2. minor update
      3. major update
    2. a link to the download page (user created)
    3. a report button to report dead links + suggestion box for the new mod location
    4. possibility to comment (trajing: "Don't udpate to this version, it will break your.. wait for the next one, issue already fixed in dev..")
    5. report button of non available versions
As imagined the database behind this is being generated and filled by the users of this mod. There is no need to parse any curse page, forum threads.. Everything is user maintained.

On top, further stats about version usage can be generated.

As, a callback is never liked if hidden, I would suggest a start up dialog asking the user if he wants to receive update notices and agrees to the callback.

You might think that this system won't work as most users won't go out and look for new version. But I have seen this work quite well on other platforms. Let me know what you think.
While this is a decent idea, it doesn't fulfill the purpose of this mod. The purpose is to make sure that users know that they have an out of date version and that it could be world-breaking. We made this because of the drama over @Reika's update checker, and thus tried to make it fulfill both the purposes he made his for and still be user-friendly. Another thing that we thought was important was extensibility. All the mods can generate their remote and local data however they want, we just collect it and display it to the user. That is why we chose not to go the database and user-maintained route. However, there will be a web app (which @trajing should be making at some points) to make it easier for modders to host their remote information.
 

Slind

Well-Known Member
Mar 8, 2013
492
73
53
While this is a decent idea, it doesn't fulfill the purpose of this mod. The purpose is to make sure that users know that they have an out of date version and that it could be world-breaking. We made this because of the drama over @Reika's update checker, and thus tried to make it fulfill both the purposes he made his for and still be user-friendly. Another thing that we thought was important was extensibility. All the mods can generate their remote and local data however they want, we just collect it and display it to the user. That is why we chose not to go the database and user-maintained route. However, there will be a web app (which @trajing should be making at some points) to make it easier for modders to host their remote information.
ok, I see. I'm sure this could merged, but if you follow a totally different approach :)

As a user and or modpack author, what I mainly want is, to everything at one place, not needing to spend a lot of time finding the proper downloads (also consider the inexperience users that mainly come across outdated rehosting :() And most importantly, I don't wanna run into game breaking bugs which 1000 people before me already experienced, hence the version comments.
 

Slind

Well-Known Member
Mar 8, 2013
492
73
53
The purpose is to make sure that users know that they have an out of date version and that it could be world-breaking.
Quick reconsidering question, how does that not comply with the way I described? From what I read it would even encourage users and mod devs more to flag versions as "please update" or whatever.
 

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
As a user and or modpack author, what I mainly want is, to everything at one place, not needing to spend a lot of time finding the proper downloads (also consider the inexperience users that mainly come across outdated rehosting:( ) And most importantly, I don't wanna run into game breaking bugs which 1000 people before me already experienced, hence the version comments.
The first two are done. However the last one is harder to implement. Technically it can already be done with the current setup if the modder only puts the recommended version
 
  • Like
Reactions: Slind

trajing

New Member
Jul 29, 2019
3,091
-14
1
...which can easily be fixed with a flag like stable: true or something along those lines.
 

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
Quick reconsidering question, how does that not comply with the way I described? From what I read it would even encourage users and mod devs more to flag versions as "please update" or whatever.
For multiple reasons.
  • Does not force users to be notified of which mods are out of date (due to link to be clicked)
  • Most of the things you described are already possible with the current implementation (such as the server version, which is already implemented in the core mod)
  • Enabling and disabling automated checks puts us again at 1, which really only applies to critical updates
  • You don't need to know which mods are up to date, only the ones which are out of date. I don't care if mod A is ok, I want to know that mod B is about to spit on me
  • building it with mod ids and only collecting those doesn't allow the modder to choose their own method of data collection. Technically, your way is been already possible with the current mod because a modder could plug into our system with yours

...which can easily be fixed with a flag like stable: true or something along those lines.
I could add that functionality in .5 seconds
 

Slind

Well-Known Member
Mar 8, 2013
492
73
53
For my defense, I didn't know you were already working on it, not to think about it being nearly done :p
 

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
For my defense, I didn't know you were already working on it, not to think about it being nearly done :p
Yeah, I get it. Although I do have an idea...

building it with mod ids and only collecting those doesn't allow the modder to choose their own method of data collection. Technically, your way is been already possible with the current mod because a modder could plug into our system with yours
So I said this right? I just had a marvelous idea. So here is how it would go. You would build your system as a mod (which modders would opt into), then use the info from your system to make IUpdateables or FetchedUpdateables to display to the user with UpToDate
 

Slind

Well-Known Member
Mar 8, 2013
492
73
53
Does not force users to be notified of which mods are out of date (due to link to be clicked)
Could ofc be included in the callback from the web server.
You don't need to know which mods are up to date
This is related to the "comment" feature. Users warning other's about difficulties/bugs..
only collecting those doesn't allow the modder to choose their own method of data collection
doesn't need to be "only". I see a big barrier here and that is to get mod authors to support it. As you will never be able to make it a bare minimum standard, a user ruled system would dominate (especially if active/supportive mod authors can overrule them)
 

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
Could ofc be included in the callback from the web server.
Yeah, but you didn't specify that :p
This is related to the "comment" feature. Users warning other's about difficulties/bugs..
Nice idea, but still possible with the current system, just need to add the "stable" flag
doesn't need to be "only". I see a big barrier here and that is to get mod authors to support it. As you will never be able to make it a bare minimum standard, a user ruled system would dominate (especially if active/supportive mod authors can overrule them)
That is the hardest thing here; however, I believe that a user ruled system doesn't help the critical issue at the center of this. Also, I believe that I may be able to get a few of the bigger modders on board, which then makes getting to "critical mass" where a lot of people start using it so more use it much easier
 

Slind

Well-Known Member
Mar 8, 2013
492
73
53
I will watch this project and will bring in more ideas, if I come up with some. Thanks for being open and friendly. I do fully understand your standpoint :)
 

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
The mod is getting ready for an actual release. We fixed tons of minor bugs, did some optimization, added some null checks and opened the mod for deeper interaction. For example, SquidAPI can now parse the remote information with my formatting, and send it to UpToDate for informing the user. Earlier, I had to use UpToDate's YAML parser, which required me to maintain two remote files, one for my own update checker and one for UpToDate. Now I can use the same file for both :D
Technically it is already released, but that was sorta preliminary stuff, an alpha if you will