Aidez nous a financer le site: Joignez l'utile à l'agréable et profitez d'FR-Minecraft sans publicités en
devenant VIP ! Ou ajoutez FR-Minecraft dans vos exceptions, nous n'abusons pas des pubs
Comme vous le savez sûrement si vous avez suivi l'actualité sur FR-Minecraft ces derniers mois, la 1.13 fut une mise à jour très technique qui
bouleversa le code de Minecraft.
-
Pour nous, simples joueurs, le changement est assez transparent, le jeu reste le même, avec bien sur beaucoup d'ajouts en plus.
-
Pour les mapmakers et autre "redstoneurs", l'utilisation des a beaucoup changé dû à la modification d'une grande partie des commandes et le renommage de divers matériaux, entités, et autres.
-
Enfin, c'est aux les développeurs (mods et serveurs) que cette mise à jour a causé le plus de mal, à cause de tous ces changements techniques.
Les serveurs
Pour comprendre les problèmes liés à la 1.13 pour les serveurs, il convient de saisir le fonctionnement global de ces serveurs.
Les serveurs Minecraft sont donc déclinés en plusieurs types :
-
Les serveurs vanilla: ils utilisent le serveurs Minecraft officiel fournit par Mojang. Pour ceux-la les changements eurent peu d'impact car ils ne possèdent aucun add-on, mod... Ce sont en général de petits serveurs entre amis.
-
Les serveurs moddés (forge, FTB, Sponge, etc.): ces serveurs sont minoritaires, et ont toujours eut des problèmes avec les mises à jour de Minecraft (il n'est pas rare de trouver des serveurs moddés encore sous Minecraft 1.7 par exemple faute de mise à jour).
-
Enfin il y a tous les autres serveurs, disposant de plugins, fonctionnant en général sous Bukkit ou Spigot (Spigot étant une version amélioré de Bukkit, les 2 sont développés par la même équipe)
C'est cette dernière partie qui nous intéresse aujourd'hui, car ils constituent la grande majorité des serveurs Minecraft "grand public", grâce à la possibilité de créer de nombreux plugins extrêmement variés qui permettent d'enrichir l'expérience de jeu sur les serveurs !
Voyons un peu leur fonctionnement, ça va nous aider à comprendre les difficultés occasionnées par la 1.13:
-
Tout d'abord, il y a le cœur du serveur, le code du Minecraft Server Vanilla, tout simplement.
-
Par-dessus ça, il y a la surcouche CraftBukkit, qui est l'implémentation de l'API Bukkit, elle permet de "traduire" les commandes transmises vers l'API vers le serveur vanilla.
-
Ensuite, il y a l'API CraftBukkit, c'est une simple interface de communication unique et stable, c'est l'interface utilisée par les développeurs de plugin pour communiqué avec le jeu. C'est ce qui permet de rendre les plugin compatible d'une version de Minecraft à l'autre: Même si Minecraft change, l'API ne change pas, c'est craftbukkit qui s'adapte.
-
Enfin il y a Spigot, qui est une amélioration de Bukkit, qui inclus directement dans le serveur des fonctionnalités supplémentaires sans besoin de plugin, il apporte des corrections de bugs de CraftBukkit et de Minecraft, il optimise certaines parties du code, etc.
La réécriture en profondeur du code de Minecraft a donc eut un impact sur toutes cette chaine de couche logiciel, d'où la difficulté de le mettre à jour.
L'impact de la 1.13
Mais a cause de la réécriture du code de Minecraft en profondeur dans la version 1.13, les développeurs de Spigot ont dû modifier grandement le fonctionnement de CraftBukkit, ainsi que par extension de l'API Bukkit et Spigot. Mais tout n'est pas perdu:
Les développeurs de Spigot ont une version de Bukkit et Spigot fonctionnant avec la release 1.13, mais elle est explicitement décrite comme
peu stable, et il formellement déconseillé d'utiliser d'anciennes données et d'anciens mondes sur cette version. Cette version (la seule disponible actuellement) ne permet pas de lancer d'anciens plugins, seulement ceux codés nativement avec la version 1.13 (à cause des grandes modifications du code). Pire, des bugs sont connu pour corrompre les anciennes maps, si vous utilisez cette version, votre map sera définitivement perdu ! SI vous souhaitez la tester, il faut donc soit créer une nouvelle map, soit faire une sauvegarde de la map, pour la restaurer dans les phases suivantes.
Heureusement md_5 (le créateur de Spigot et développeur principal de Bukkit/Spigot) a prévu deux autres "vagues" de mises à jour qui amélioreront la stabilité ultérieurement:
-
La deuxième vague améliorera grandement la stabilité des anciennes données: il n'y aura plus de bug connu dans la conversion d'un ancien monde vers la 1.13. Les plugins natifs 1.13 seront recommandés, cependant les anciens plugins (1.11 par exemple) pourront également fonctionner. Ils précisent que l'utilisation de Spigot lors de cette 2e vague reste risquée, il pourra y avoir des problèmes de perte de données.
-
La troisième (et dernière) vague verra une stabilisation du serveur, et il devrait être plus sûr de mettre à jour les anciens mondes. Les plugins développés en 1.13 seront toujours recommandés, mais ceux développés pour les anciennes versions devront également fonctionner comme cela était déjà le cas auparavant.
Actuellement, nous sommes dans la "phase 1" de la mise à jour de Spigot, donc trouver un serveur fonctionnant avec des plugins et nativement en 1.13 n'est pas chose facile ; quasiment aucun ne propose ça, la plupart sont des serveurs fonctionnant sous d'anciennes versions, avec un protocolhack (par exemple ViaVersion), qui permet à des versions plus récentes de clients Minecraft de se connecter au serveur (par exemple des clients 1.13 sur un serveur 1.12 ou plus ancien).
Il faudra donc encore faire preuve de patience avant de pouvoir profiter de la baignade dans les fonds marins et de la nage avec les dauphins sur des gros serveurs !
J'ai un peu complété la news pour précisé que la pahse 1 n'est pas juste "déconseillé"', mais md_5 a dit clairement quelle corrompt les anciennes maps et que les données seront irrécupérable. J'ignore par contre ce qu'il en ai si on convertie avec l'outils d'optimisation une ancienne map en 1.13 ? Est-elle considéré comme une map 1.13 native ou pas ? Je serait un admin de serveur je ne prendrais de toute façon pas le risque de tester !