itzg / docker-minecraft-server

Docker image that provides a Minecraft Server that will automatically download selected version at startup
https://docker-minecraft-server.readthedocs.io/
Apache License 2.0
9.53k stars 1.55k forks source link

Delay to upgrade modpack #2097

Open camalot opened 1 year ago

camalot commented 1 year ago

Enhancement Type

Improve an existing feature

Describe the enhancement

My server recently updated ATM8 to version 1.0.16, and there was a problem with the Hexerei mod in the pack where it reported version 0.3.1 on the client, but 0.3.0 is what is downloaded, and what the server expects.

Which had me thinking, what if we could set a delay after a release of a new update before the server applies that. Looks like today, they released 1.0.17 for ATM8. I havent updated yet, but I am guessing it fixes that issue, since it was released only a day later.

I don't know if the CURSEFORGE api gives info like when the file was uploaded or not. I was thinking something like CF_UPGRADE_DELAY=2 would be a 2 day delay.

It's not a critical thing, just an idea I had when trying to troubleshoot the issue.

edit: Just upgraded to 1.0.17, and I still had that problem with Hexerei. I had to go on the server and copy the jar from my client to the server. There wasn't a version on there. So it seemed the client downloaded 0.3.0 version of hexerei but the server did not.

itzg commented 1 year ago

It's an interesting idea, but I am a little concerned about the complexity that will added. You give 2 days as an example, but how would someone pick a good value? It might vary by modpack and how messy a particular version was, such as this 1.0.17 scenario.

File ID/version pinning was intended to be the solution for surprise upgrades and in fact that can be pinned after the fact to downgrade a modpack. Is that not acceptable for this scenario?

That's strange with hexerei 0.3.0 vs 0.3.1 since 0.3.1 doesn't seem to exist and https://www.curseforge.com/minecraft/mc-mods/hexerei/files/4466686 is the one listed in both ATM8 1.0.17 and 1.0.16.

camalot commented 1 year ago

yeah, i dont know how it would solve the issue overall, but was more just thinking about not pushing out the update as soon as it released, if the server happened to restart around that time.

It was just a thought, and not necessarily something that is needed, as you said "pinning" would ultimately solve that in some fashion.