New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow games (just MTG?) to enforce lock-step upgrades with versions #13799
Comments
In what ways could a game like MTG be incompatible with a newer engine? |
Adapted from https://irc.minetest.net/minetest-dev/2023-09-12#i_6112683: This is one of the things on my to do list. min and max_minetest_versionContentDB allows you to do So for Minetest Game you'd do Update detection without entering CDBInstead of setting a max version, another option would be to only set (I've been working on faster APIs that make it possible to quickly check for updates without loading the full package information) Protocol version vs version nameThe use of the version name rather than protocol may be an issue (probably should have made it an engine feature before putting it in CDB but alas). I went with MT version rather than protocol version as 1) it's more understandable 2) not all MT minor versions have distinct protocol versions. Note that CDB ignores the patch number So to support forks, we could have a concept of API version which happens to be the same as the Minetest version. So a fork could have version 1.1.1 or whatever but api version 5.8 |
Closely related issue: #10336 |
|
TL;DR: I think we should support |
for example this is not very portable |
Isn't there an argument for making it portable? MTG got frozen to make maintenance easier, but in reality it became this immovable object that the engine has to work around. rubenwardy is right though. There needs to be better update detection in the client. If the engine gets updated, every single game and every single mod could be at risk of breakage, and you'd want users to know that they should update, so they can not suffer breaks and crashes. Also, if a base game changes the way it does something, and a mod unknown to the project breaks, even if you fix it, users won't know, and they'll just suffer a break until they bang their head against a wall, hopefully raise their concern and get told to update. In reality, many will give up and describe mt as a steaming pile of poo and the reputation of minetest is impacted with this person and anyone they talk to, online or offline. I don't think there is a case against doing this, and it's a high priority imho. |
I suggest that all we need is a way for the engine to read min and max_minetest_version. That can be used to enforce lockstep updates. So I would suggest we should either convert this issue into that or close and open a new one In any case, I don't think this is needed for 5.9. |
Agreed. |
Closing in favour of #10336 then |
Situation: The user now has MTG installed locally. What happens in the future when they update the engine and MTG is still at a version that is not compatible?
There needs to be an ideally offline way of detecting this (game.conf?) and another very obvious flow that leads the user to update MTG before they open their worlds.
(Identically applies to any other game with strict version compat)
Originally posted by @sfan5 in #13550 (comment)
The text was updated successfully, but these errors were encountered: