Nouveautés

Jouer en 1.21.4 sur un serveur 26.2

Le problème que personne ne résout vraiment

Ninario tourne en 26.2 donc le cuivre, le soufre, le cinabre, les coffres de cuivre, les happy ghasts, les cubes de soufre sont tous présents sur le serveur.

Sauf qu'une bonne partie des joueurs ne jouent pas encore en 26.2. Ils restent en 1.21.11 pour leurs paramètres, pour les autres serveurs ou pour les mods. Et là, normalement, y a un gros soucis puisque leur client ne connaît tout simplement pas ces blocs. Il n'a ni leur texture, ni leur forme et ni leur nom.

La solution habituelle des serveurs, c'est les plugins ViaVersion et ViaBackwards. Ils traduisent la connexion et remplacent ce que le client ne connaît pas par le bloc le plus proche qu'il connaît. Ça fait que tout le monde puisse jouer, mais ça donne une brique là où il y a du cinabre, une stalagmite là où il y a un pic de soufre, un slime là où il y a un cube de soufre. Ils ne voient pas les vrais blocs.

L'autre solution, c'est de forcer tout le monde à passer en 26.2. C'est plus radical et moins cool.

Ninario a pris la troisième voie.

Chacun sa vue mais un seul monde

Le principe tient en une phrase : le monde reste du 26.2 pur, et chaque joueur reçoit sa propre version de ce qu'il voit.

Rien n'est modifié côté serveur. Le bloc de cinabre que vous posez est un vrai bloc de cinabre, enregistré comme tel, avec son comportement, ses drops et sa physique. Ce qui change, c'est uniquement ce qui part dans votre connexion réécrit en temps réel pour vous seul et en fonction de la version de votre client.

Un joueur en 26.2 ne reçoit strictement rien de particulier. Rien ne change pour lui.

Comment un bloc arrive chez les joueurs

Tout dépend de la forme du bloc.

Un cube plein (bloc de cinabre, briques de soufre) est facile : le client reçoit un vrai bloc personnalisé du pack de textures via le plugin ItemsAdder, avec le modèle et la texture exacts de la 26.2.

Tout le reste est plus intéressant : dalles, escaliers, murs, chaînes, lanternes, plantes, pics. Ces blocs ont un modèle 3d plus complexe qu'un bloc simple. Là, on envoie deux choses superposées.

D'abord un sosie : un bloc vanilla que votre client connaît déjà et qui possède exactement les mêmes propriétés. Un escalier de cinabre devient un escalier ordinaire. Il a la bonne orientation, la bonne forme et les bonnes collisions.

Ensuite, par-dessus, un hologramme invisible (Item Display) qui porte le vrai modèle de la 26.2 avec ses vraies textures. Techniquement, c'est une entité qui n'existe pas car elle n'est pas dans le monde, elle ne pèse rien et personne d'autre ne la voit.

Le résultat est que la forme et le comportement viennent du sosie, l'apparence vient du vrai modèle. Vous voyez du cinabre, et il se comporte comme du cinabre.

Mais il y a un détail qui a demandé du travail : quand deux surfaces sont exactement au même endroit, la carte graphique ne sait pas laquelle afficher et elles clignotent. C'est le z-fighting. On règle ça en gonflant chaque face du vrai modèle d'un cinquantième de pixel environ. C'est assez pour passer devant, et trop peu pour dépasser sur le bloc voisin.

Le minage qui aurait dû être faux

Il y a un piège : le client calcule lui-même le temps de minage à partir du bloc qu'il croit voir. Donc à partir du sosie, avec la mauvaise dureté et le mauvais outil.

Sur Ninario, le minage des blocs recréés est piloté par le serveur. Le serveur calcule la progression avec le vrai bloc, votre vrai outil, vos vrais enchantements et vous envoie les fissures lui-même, puis casse le bloc. Le temps que met un joueur à casser un bloc de soufre est exactement celui de la 26.2, pioche en fer ou pioche en diamant comprise.

Les mobs portent un costume

Pour les créatures, c'était plus compliqué.

Quand un cube de soufre apparaît, le client qui ne connaît pas cette créature, reçoit un slime de la part de ViaBackwards. On garde ce slime puisqu'il a le bon déplacement, la bonne hitbox, les bons sons et il saute comme il faut. On le rend simplement invisible, et on lui accroche un costume 3D qui suit chacun de ses mouvements. Le costume, lui, a la vraie forme et la vraie texture du cube de soufre. Et quand le cube avale un bloc, on affiche ce bloc à l'intérieur de son corps, comme en 26.2.

D'où viennent ces modèles 3D ? Du jeu lui-même.

Les modèles de créatures de Minecraft ne sont pas des fichiers contrairement aux blocs. Ce sont du code compilé dans le client. Impossible à lire comme une image ou un JSON. Mais chaque modèle possède une fonction qui construit sa géométrie, et on peut exécuter cette fonction pour récupérer la liste exacte des cubes, leurs coordonnées de texture et leurs miroirs.

C'est ce que fait le serveur au démarrage. Il ouvre le client 26.2, exécute le code de géométrie du happy ghast, du golem de cuivre, du nautile, du cube de soufre, et en tire des modèles exacts au pixel près. Ce n'est pas une approximation et pas une reconstruction à la main. On utilise les mêmes chiffres que ceux utilisés pour afficher le mob en 26.2.

Et le reste

Les items sont retraduits dans votre inventaire avec leur vrai nom, leur durabilité et leurs enchantements.

Pourquoi c'est rare

Parce que la plupart des serveurs choisissent un camp. Soit ils imposent la dernière version, soit ils se limitent au contenu que toutes les versions partagent, soit ils laissent les anciens clients voir n'importe quoi.

Ici, il n'y a pas de compromis. Le monde est du 26.2 authentique, les joueurs à jour ne subissent aucune couche supplémentaire, et les joueurs en 1.21.4 voient les vraies formes, les vraies textures, avec le bon temps de minage et les bons outils.


Posté le 20 septembre 2026 par Martinouxx

messages.comments.title (0)