Minetest 5.0.0 should have been backward compatible

Post Reply
User avatar
sorcerykid
Member
Posts: 1847
Joined: Fri Aug 26, 2016 15:36
GitHub: sorcerykid
In-game: Nemo
Location: Illinois, USA

Minetest 5.0.0 should have been backward compatible

by sorcerykid » Post

Image

I realize this might be an unpopular opinion, but I don't understand the rationale for breaking compatibility between mismatched clients and servers following the release of Minetest 5.0. This is perhaps less of a concern for desktop users, since they can install and run multiple versions side by side. But mobile users don't have that luxury. Once they "upgrade" their client to 5.0.0, they lose all ability to join the 200+ servers still running Minetest 0.4.x.

In the computer industry, it is fairly common to provide backwards compatibility for legacy software several months if not years after end-of-life. This is true even across changing architectures. For example Windows 10 allows for seamless emulation of Win32 apps on 64-bit CPUs. When Apple switched their Mac-line over to Intel, they also bundled an emulator for PowerPC-based applications. Heck even the Apple IIGS, included a native 8-bit emulation mode for 6502 applications.

This is similarly true in the domain of Internet connectivity. The introduction of IPv6 didn't necessitate immediate abandonment of IPV4. Instead, modern OS's support both the new and old technologies. Similarly the introduction of HTML5 didn't necessitate immediate abandoment of HTML4. Instead modern browsers support both the new and old specifications.

I wish there had been a more carefully-structured transition to 5.x, rather than the abrupt "Everybody must upgrade now" marketing tactic, which does nothing but alienate a good chunk of the Minetest userbase. Many newcomers from the app store are likely wondering why 80% of the server list is grayed out, which is unfortunate since there are a ton of high quality 0.4 servers like Red Cat Creative, IhrFussel's Server, Survival X, Must Test, Undercore, and more.

The result is a chicken-and-egg causality dilemma. Server operators don't want to upgrade till a critical mass of players upgrade, but players don't want to upgrade till a critical mass of server operators upgrade. In the meantime, until we surpass the 50% adoption mark, the community becomes more and more fractured as 0.4.x fights against 5.0. For this reason, I hope the core devs will consider a network compatibility layer for the next release.

Thanks for your understanding.

Skulls
Member
Posts: 108
Joined: Thu Dec 21, 2017 17:41
In-game: Skulls

Re: Minetest 5.0.0 should have been backward compatible

by Skulls » Post

Limited resources.

sofar
Developer
Posts: 2146
Joined: Fri Jan 16, 2015 07:31
GitHub: sofar
IRC: sofar
In-game: sofar

Re: Minetest 5.0.0 should have been backward compatible

by sofar » Post

Endlessly expanding protocols and the code to support them all is extremely costly and prone to breakage. At some point everything will stop working because there isn't enough manpower to support it. Cutting off technical debt like that isn't pleasant but needed for projects like minetest to keep the code small, allow for rewrites, rearchitecturing and cleanups of unused or bad code.

I understand the sentiment, but experience shows that even the most customer focused and professional teams choose to regularly drop compatibility and cut off support for old versions this way.

The situation with ipv4/6 isn't really comparable since there are just machines that won't ever be able to upgrade to it. That isn't really the case for minetest, and for the folks who can't upgrade might want to consider replacing their insecure OS/devices. It's a game and not a life critical part even of infrastructure after all.

I realize this may sound unpopular with server owners. I think most will be fine upgrading and working with their players through communication and developers helping to fix mod issues that may arise. A huge amount of API issues have long been fixed in mods even before 0.4.17. Just talk to your players and plan your upgrade.

mcaygerhard
Member
Posts: 129
Joined: Tue Mar 05, 2019 17:37
GitHub: mckaygerhard
IRC: mckaygerhard
In-game: mckaygerhard

Re: Minetest 5.0.0 should have been backward compatible

by mcaygerhard » Post

yes there's not enought manpower . umm how multicraft gains so many manpower? maybe he thinks like sorceredkid.. and do not put excuses, technichs excuses...

today in almost 2022 there are more users connected to multicraft and only few 0.4.17 servers.. ironically those 0.4.17 are most playerd rather than 5.X

User avatar
Blockhead
Member
Posts: 1697
Joined: Wed Jul 17, 2019 10:14
GitHub: Montandalar
IRC: Blockhead256
In-game: Blockhead Blockhead256
Location: Land Down Under
Contact:

Re: Minetest 5.0.0 should have been backward compatible

by Blockhead » Post

The problem of backwards incompatibility becomes a non-issue when it is trivial to upgrade. Frustration with backwards incompatibility only comes about in case the transition isn't smooth enough. On desktop this wasn't super hard - just update some mods, recompile, we're good. Unfortunately for Minetest, it is the upstream for a lot of forks with high inertia. This inertia is particularly exacerbated by the plethora of clone apps on Google Play and even worse the proprietary forks on iOS. If these projects had actual collaboration with upstream then it would have been easy for them to move forward. They also might have helped iron out what was a shaky 5.0 release. They didn't though, because they aren't in it to contribute back upstream, they're in it for the advertising and microtransaction money.

I don't want to be uncritical and I want to acknowledge 5.0 had a shaky and buggy start. Since then however, 5.x series has become mature, fixed a number of its initial bugs and become more secure than 0.4.x will ever be. Anyone still hanging on at this point will inevitably fall behind and drown in technical debt. For those who can't suffer the hit to player numbers, Edgynet still maintains the backwards compatibility. This is a bandaid solution though. The real solution, which is hard for the Minetest project to surmount with its lack of skill, motivation and time, is to provide good A-grade official Android and iOS clients that address the present UX problems that others have identified.

I really think that if the tables were turned and the mobile client forks didn't provide a value proposition in UX and compatibility over just using the official Minetest software, then the forks would eventually, albeit still slowly, subside as the mainline engine progresses forward and outdoes them. The only factor that remains is marketing - but a better engine I would think is easier to advertise. This could already be done honestly. 5.x has added modchannel support, which allows you to send data back to CSM components. Ship the right CSM components with your Minetest client and your game can include features that blow other servers out of the water and eliminate or reduce the feeling of lag, which would improve user retention.
/˳˳_˳˳]_[˳˳_˳˳]_[˳˳_˳˳\ Advtrains enthusiast | My map: Noah's Railyard | My Content on ContentDB ✝️♂

User avatar
Festus1965
Member
Posts: 4181
Joined: Sun Jan 03, 2016 11:58
GitHub: Festus1965
In-game: Festus1965 Thomas Thailand Explorer
Location: Thailand ChiangMai
Contact:

Re: Minetest 5.0.0 should have been backward compatible

by Festus1965 » Post

too late

and if
you will be flooded with ads using clients, (log in out rate 5-10 times higher than own client)
where your [mod[ ...ban by IP doesn't work anymore or kicks out another 20 gamer same client (proxy's) also
and here special Multicraft 2.0.0 gamer can build cheating like blocks to climb up
...

have fun - I had my experience ... and sure the admins will get crazy
Human has no future (climate change)
If urgend, you find me in Roblox (as CNXThomas)

Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 18 guests