Maintenance générale du 31/07 - Réparation des UUID

Vous trouverez ici les dernières informations (passées et a venir) concernant HelloMinecraft.
N'oubliez pas de participer aux sondages qui font évoluer nos serveurs pour toujours mieux vous servir !
ORelio
Ancien Administrateur
Messages : 12582
Inscription : 28 oct. 2011, 22:06
Pseudo Minecraft : ORelio
Contact :

Maintenance générale du 31/07 - Réparation des UUID

Messagepar ORelio » 01 août 2014, 16:29

Bonjour à tous,

Imageserver-maintenance.png

Comme vous avez pu le constater hier, les serveurs HelloMinecraft ont été inacessibles durant une partie de l'après-midi.
Il s'agissait d'une maintenance visant à réparer un gros problème relatif aux UUID des joueurs et touchant les serveurs HelloMinecraft.
Le problème en question devait être réparé aussi vite que possible car il ne ferait que s'empirer avec le temps.
Afin de mieux vous permettre d'en comprendre les enjeux, voici un compte-rendu complet de la situation.

Les UUID et les changements de pseudos, un changement considérable d'architecture

Vous n'êtes pas sans savoir que dans un futur proche, il sera possible de changer son pseudo Minecraft sans avoir à racheter un compte.
Ce changement majeur initié par Mojang a pris des mois à mettre en place, et pour cause : auparavant, il était impossible d'identifier un joueur autrement que par son pseudo.
Il n'était donc pas possible de changer de pseudo sans être en même temps considéré comme un autre joueur : débanni, nouvel inventaire, plus reconnu par le jeu comme étant l'ancien joueur.

De ce fait, il a d'abord fallu introduire un nouveau moyen d'identifier les joueurs : les UUID ou identifiants uniques, propres à chaque joueur.
Ainsi, Mojang a attribué un identifiant unique à chaque joueur, composé de 32 caractères séparés ou non par des tirets selon l'endroit où il est utilisé.
Cet identifiant unique a pour but de pouvoir reconnaître un joueur après qu'il ait changé de pseudo :

Imagechangement-de-pseudo.png

En effet, même en changeant de pseudo, nous possédons toujours le même identifiant unique ce qui permet de nous retrouver.

Une modification en profondeur de l'architecture de Minecraft

N'importe où dans Minecraft avant les versions récentes de la 1.7, tout reposait sur le pseudo, car c'était la seule caractéristique reconnaissable et non modifiable du joueur.
C'est pourquoi la liste des ban et les fichiers de joueurs reposent dessus, et que les plugin n'ont également eu d'autre choix que d'utiliser la même méthode : le fichage par pseudo.
Cela signifie qu'il faut à présent réécrire tout le code qui stocke des informations relatives aux joueurs pour les stocker par UUID et non par pseudos.

Comment le changement a été implémenté dans Minecraft

Chez Mojang, un plan de migration a été mis en place pour que la transition se fasse de la manière la plus transparente possible, enfin, en théorie.
Lorsqu'un serveur 1.7 récent est lancé pour la toute première fois, il va convertir automatiquement toutes les informations déjà stockées dans le serveur.
Cela inclut la liste des opérateurs, des joueurs bannis, la white-list, et bien sûr, le profil des joueurs décrivant son inventaire et sa position sur la map.
Pour effectuer cette conversion, deux méthodes sont utilisées, et ces méthodes diffèrent selon si le serveur est en online-mode ou pas.

Imageconversion-pseudo-uuid.png

Cela signifie que si le serveur se trouve en offline-mode, les UUID utilisés seront de faux uuid entièrement dépendant du pseudo et changeant si on change de pseudo.
En revanche si le serveur est en online-mode, les UUID officiels de chaque joueur seront automatiquement récupérés et resteront uniques en changeant de pseudo.
La même procédure est appliquée lorsqu'un nouveau joueur arrive, l'UUID attribué dépendant si le serveur est online ou pas.

Et les plugin, dans tout cela ? Ils migrent, avec l'aide du serveur Minecraft

Une fois que le serveur a terminé son processus de migration, il possède l'intégralité des UUID pour chaque joueur qui joue dessus.
Un plugin peut donc lui aussi migrer sa base de données en demandant à son tour au serveur Minecraft qui l'héberge quel est l'UUID pour un pseudo donné.
Par exemple, le plugin Factions a déjà entièrement migré sa base de données pour utiliser des UUID, de même pour le plugin Essentials tout récemment.
Bref, tout doucement, l'intégralité de l'écosystème Minecraft bascule vers les UUID, au fil des mises à jour des plugin.

Bien sûr, certains plugins feront de la résistance donc n'espérez pas que 100% des plugins vous reconnaîtront après un changement de pseudo.
C'est notamment le cas de Lockette par exemple, qui n'a pas d'autre information que le pseudo sur le panneau pour vous retrouver et qui ne peut donc pas migrer pour des UUID.
Un changement de pseudo restera donc une opération risquée à n'utiliser qu'en dernier recours. Mais au moins, grâce aux efforts déployés par Mojang et les développeurs,
la plupart des fonctionnalités du jeu fonctionneront toujours même après le changement. Le but recherché est atteint, la migration est un succès (ou presque).

La migration des serveurs HelloMinecraft, ou comment rater le virage des UUID

Si tout s'était bien passé sur HelloMinecraft, je ne serais pas là pour vous en parler, et il n'y aurait pas eu de maintenance.
Mais alors, qu'est-il arrivé ? Pour le comprendre, commençons par faire le tour de l'architecture de nos serveurs.

Un Cloud composé de plusieurs serveurs sous-jacents

Les serveurs HelloMinecraft utilisent le logiciel de serveur Spigot, une version améliorée et ultra-performante de CraftBukkit.
Mais ce n'est pas tout, ces logiciels sont complémentés et chapeautés par une clé de voûte nommée BungeeCord.
BungeeCord est un proxy s'intercalant entre vous et le serveur, permettant d'en changer sans se déconnecter :

Imageconnexion-serveurs-hellominecraft.png

J'espère que le schéma ci-dessus vous aidera à comprendre que vous ne vous connectez pas directement aux serveurs.
Un proxy le fait pour vous, et c'est lui qui gère d'ailleurs le système de panneaux sur le lobby ainsi que la commande /server.
Lorsqu'il détecte que vous voulez changer de serveur, il s'y connecte pour vous. De votre côté, c'est comme si vous changiez de monde.

Quand l'architecture interfère dans la migration

Comme les serveurs sous-jacents ne sont pas ceux auxquels vous vous connectez, c'est le proxy qui est en mode online.
En effet, c'est lui qui se charge de vérifier l'authenticité des comptes Minecraft des personnes qui s'y connectent.
Les serveurs, eux, sont en mode offline et n'acceptent par sécurité que des connexions en provenance du proxy.

Mais du coup, si on n'y prend pas garde et qu'on passe les serveurs en 1.7.9, que se passe-t-il ?
Comme expliqué précédemment, tout serveur en mode offline ne cherchera pas à récupérer les UUID auprès de Mojang.
Et c'est ainsi, qu'ignorant cette subtilité du processus de mise à jour, les serveurs HelloMinecraft ont été convertis avec les mauvais UUID.

Bien sûr, il y avait des warning un peu partout sur le site de Mojang, le site de Spigot, et même dans la console du serveur avant l'opération :

Imagewarning-1-7-10-transparent.png

Le message ci-dessus aurait dû apparaître au moment ou notre cher administrateur a mis à jour les serveurs.
Mais malheureusement, l'avertissement a été ignoré ou n'a pas été affiché, et les serveurs ont été mis à jour dans le mauvais mode.
Comme le préconisait le message, il suffisait de changer quelques fichiers de configuration avant de procéder à la mise à jour.

Une fois que le serveur et donc ses plugins se sont convertis dans le mauvais mode, c'est fichu, impossible de faire marche arrière.
Il n'existe en effet aucune méthode simple pour annuler des changements aussi profonds, autrement qu'en restaurant une sauvegarde.
Mais bien entendu, si on s'en rend compte deux mois plus tard, il est impossible de restaurer une sauvegarde aussi vieille : on a perdu, c'est game over.

Une découverte tardive de l'étendue du désastre

Il y a quelques jours, alors que je travaillais sur le plugin HM pour le migrer vers les UUID, je me suis aperçu que mon UUID sur HM était mauvais.
En effet, il ne correspondait pas à l'ID que j'aurais dû avoir en testant sur l'API de Mojang ou sur http://connorlinfoot.com/uuid/ par exemple.
Mon UUID était 7d92ed81-7f95-36fa-9ea6-3ff4969e0f81 alors qu'il aurait dû être e0e6a938-c71b-48c7-99ad-3f06c3711e94.

En me renseignant sur la situation et en apprenant plus sur les différents types d'UUID, petit à petit, je me suis rendu compte du problème.
Nos serveurs étaient convertis bien en profondeur et s'étaient enfoncés dans le mauvais système. Les mauvais UUID étaient partout.
Si on ne faisait rien, lorsque les changements de pseudos seraient possibles, nous allions faire face à de grosses difficultés.

Imagethey-need-maintaining.png

Et bien sûr, tout cela ... à cause d'un simple mauvais réglage.

Déconstruire la pyramide, ou comment revenir en arrière étape par étape

Pour pouvoir réattribuer aux joueurs les bons identifiants uniques, il faut tout d'abord repartir sur une base saine : supprimer tout mauvais UUID.
Et afin de faire cela, il n'y a pas trente-six solutions, il faut déconstruire la pyramide d'UUID bâtie par Minecraft 1.7.10. A la main.
En effet, dans un premier lieu, le serveur a converti les pseudos en UUID. Puis, à son tour, Essentials a converti ses pseudos en UUID.
Il faut donc dans un premier temps annuler les changements dans les plugin, puis annuler les changements dans le serveur.
Pour terminer, il faut ensuite re-effectuer les conversions en UUID, dans le bon sens et dans le bon mode, cette fois-ci.
Une fois cela fait, les UUID seront réparés sur les serveurs HelloMinecraft. Mais bien sûr, c'est plus facile à dire qu'à faire.

Quand la programmation d'outils personnalisés devient indispensable

Essentials était donc en première ligne, se trouvant au sommet de cette pyramide.
Pour rappel, c'est ce plugin qui enregistre la position du /home, la possession ou non du /god, les messages envoyés par /mail etc.
Il est donc impensable que de telles informations soient perdues, c'est pourquoi il est crucial de les récupérer et non de les effacer tout simplement.
Pour cela, il faut les convertir. Nous avons des fichiers ayant pour nom de mauvais UUID, et nous voulons les remettre sous la forme de pseudos de joueur :

Imageessentials-profils-uuid-pseudos.png

Fort heureusement, lorsqu'on examine le contenu d'un de ces fichiers, on constate que le pseudo correspondant y est inscrit :

Imageessentials-profils-uuid-contenu.png

Cela est une excellente nouvelle, car il est alors possible de fabriquer sans trop de difficultés un outil qui va analyser le fichier pour récupérer le pseudo, en vert sur l'image.
L'outil va alors pouvoir sauvegarder un fichier contenant les mêmes informations, mais ayant le pseudo pour nom de fichier, ici un fichier nommé orelio.yml
Deux lignes ne figureront pas dans le fichier converti : le dernier pseudo utilisé -- on n'en a plus besoin -- et le mauvais UUID pour éviter qu'Essentials ne l'utilise par erreur à l'avenir.
Une fois le fichier converti avec succès, il n'aura plus qu'à supprimer l'original, ici 7d92ed81-7f95-36fa-9ea6-3ff4969e0f81.yml, qui n'est alors plus d'aucune utilité.
Afin de pouvoir effectuer la manipulation sur le serveur avec le minimum d'interruption, l'outil doit être exécuté directement sur le serveur, je devais donc l'écrire en Java.

Une courte maintenance d'Essentials effectuée avec succès

Ayant effectué au préalable des tests sur mon PC avec les fichiers du Build, l'outil était déjà bien rôdé et capable de traiter les différents cas : fichier ne contenant pas la ligne lastAccountName,
fichier vide, corrompu, etc. Il m'a donc suffit de mettre l'ancien plugin Essentials sur le Build, d'envoyer l'outil sur le serveur, d'éteindre le Build et de lancer l'outil (20 secondes).
Cela s'est bien passé et n'a duré que le temps d'un restart. L'opération étant un succès, elle a été appliquée de même sur le PVP, mais pas sur le Play : Essentials n'y avait pas été mis à jour.

Se préparer à réparer les serveurs, ou comment établir un plan d'action

Une fois le plugin Essentials revenu à son ancien fonctionnement, il ne reste plus qu'à corriger les UUID du serveur lui-même.
Pour cela, il faut éteindre tous les serveurs et effectuer une opération à cœur ouvert : c'est donc quelque chose qui se prépare et n'est pas à prendre à la légère.
C'est pourquoi, j'ai dans un premier temps fait une copie sur mon PC du lobby et du proxy BungeeCord, pour effectuer tranquillement des tests de mon côté.

La conversion des fichiers de joueurs dans l'ancien format

La première étape consiste à convertir les fichiers de joueurs dans l'ancien format. De la même manière qu'Essentials, nous avons des fichiers avec pour nom l'UUID,
et dans son contenu, le dernier pseudo connu sous lequel cet UUID a été vu. La seule différence, c'est qu'ici, les fichiers sont au format NBT, ce n'est pas du simple texte.

Imageorelio-playerdata-unzipped-username-resized.png

Fort heureusement, la team Spigot, qui développe le logiciel de serveur, a créé un outil pour les administrateurs de serveur confrontés à ce problème.
Il parcourt les fichiers, décode les informations contenues pour récupérer le pseudo, puis il les renomme et les place dans l'ancien dossier.
C'est donc exactement ce qu'il nous faut pour annuler une mauvaise conversion des UUID et pouvoir la refaire au propre.

Revenir au nouveau format, avec les bons UUID

Une fois que nous avons nos fichiers de joueur dans l'ancien format, nous pouvons à nouveau les convertir dans le nouveau format.
Pour cela, rien de plus simple : il suffit de lancer à nouveau le serveur en 1.7.10, ce qui aura pour effet de convertir automatiquement les fichiers.
Ceci se fait grâce à l'outil de migration proposé par Mojang et intégré aux serveurs Vanilla, et par extension également dans CraftBukkit et Spigot.

J'ai donc, toujours dans le cadre de mes tests, lancé cette opération de conversion. Je vois les fichiers de joueurs se convertir en UUID, parfait.
Par contre, cela semble prendre un certain temps. Je vais manger, je reviens, ce n'est toujours pas fini. Et ce ne sont là que les fichiers du Build.
Après examen, il apparaît que la procédure de conversion de Mojang traite les fichiers un par, un. Elle effectue donc les requêtes d'UUID... UNE PAR UNE !

Un outil de conversion inadapté pour HelloMinecraft

En considérant le fait qu'une requête prend environ 0,33 seconde à faire, à ce rythme, cela va donc convertir les 28515 fichiers du Build en 9384 secondes.
Ce qui fait un temps de conversion de presque trois heures. Et pour le Play avec ses 93791 fichiers, cela prendrait 31263 secondes soit presque sept heures.
J'en suis arrivé à la conclusion que cet outil pourtant officiel était absolument sous-dimensionné pour effectuer des conversions pour des gros serveurs.

Il est en effet absolument idiot de demander à Mojang les UUID un par un quand leur API permet d'en demander jusqu'à cent d'un coup !
De ce fait, je me suis dit qu'il était nécessaire de programmer moi-même un outil de conversion plus performant qui allait tirer parti de cette possibilité.
En effet, récupérer les UUID depuis l'API ne semble pas bien compliqué pour peu qu'on ait la documentation, ce qui est présentement le cas.

J'ai donc fait un programme, toujours en Java, qui agit en trois étape. Premièrement, il dresse la liste des pseudos à traiter.
Deuxièmement, il groupe les pseudos 100 par 100, effectue les requêtes d'UUID, et stocke les correspondances pseudo <-> UUID dans une table.
Troisièmement, il parcourt tous les fichiers, insère le tag lastKnownName dans le fichier au format NBT et renomme le fichier avec l'UUID.

Imageoutils-appropries.png

De cette manière cet outil est théoriquement 100 fois plus rapide que l'outil fourni par Mojang et donc capable de traiter une masse d'autant plus importante de fichiers.
Après quelques tests et ajustement, et en m'inspirant de l'outil de Spigot, Je fut rapidement capable de convertir les fichiers du Build en quelques minutes seulement.
En ayant de telles performances, une maintenance de courte durée devient donc possible pour les serveurs HelloMinecraft.

Préparation du plan d'action

Tous les éléments étant réunis, le plan d'action était simple et l'affaire devait être rondement menée.
Il s'agissait d'éteindre les serveurs, configurer correctement Spigot et BungeeCord pour qu'ils soient compatibles avec les UUID officiels de Mojang, puis réparer.
La réparation se ferait donc en deux étapes : convertir les mauvais fichiers UUID en anciens fichiers avec l'outil de Spigot, puis les convertir dans l'autre sens avec mon outil.
Ensuite, une fois la conversion faite, plus qu'à rallumer les serveurs, vérifier avec la whitelist que les UUID sont bons, puis enlever la whitelist pour rendre le serveur à nouveau accessible.
Je procèderais par ordre : d'abord tout éteindre en expliquant rapidement aux connectés la situation, puis configurer les serveurs, et traiter par ordre de priorité Lobby, Play, Build, PVP.
Le faire de cette manière permettrait ainsi de récupérer en premier lieu le lobby, puis chacun des serveurs. Cela ne prendrait donc qu'une dizaine de minutes, par sécurité j'en ai annoncé vingt.

La maintenance générale du 31/07, un fruit plein de pépins

Comme les personnes connectées à ce moment là ont pu le remarquer, la maintenance ne s'est pas tout à fait passée comme prévu.
La configuration des serveurs s'est fait de manière nette, précise et rapide. La conversion du Lobby n'a pas posé de problème avec ses 12235 fichiers et il fut rapidement de retour.
Je me suis alors attaqué au Play, avec ses 93791 fichiers, et c'est à ce moment là que je suis tombé sur un os.

La limitation de vitesse sur l'API de Mojang

En effet, en plein milieu de la récupération des UUID, l'API de Mojang cessait de répondre et mon outil n'avait donc rien pu convertir vu qu'il le fait dans sa 3ème étape.
Après relecture de la documentation, il est apparu que l'API n'autorise que 600 requêtes par tranche horaire de 10 minutes. Du coup impossible de convertir plus de 60000 pseudos avec ma méthode.
Cela signifie également qu'avec l'outil fourni par Mojang on ne peut convertir que 600 pseudos en 10 minutes, soit 3600 pseudos par heure, soit 26h pour convertir les 93791 pseudos du Play.

Rapidement, je me suis donc attelé à modifier mon outil pour qu'il convertisse tous les pseudos pour lesquels il a pu récupérer un UUID en nouveaux fichiers,
plaçant ainsi les fichiers correspondant dans un autre dossier, et laissant dans le dossier de départ tous les fichiers qui restent à convertir afin de pouvoir les traiter plus tard.
De cette manière, j'ai pu convertir les pseudos en trois fois, ce qui a pris environ trente minutes. Cela reste un excellent score comparé aux 26h que cela aurait dû prendre sans mon outil.

Image2014-07-31_16-46-07.png
Pendant ce temps, sur le Lobby, on bavarde, on insulte2014-07-31_16-24-23.png, on fait du JumpCraft2014-07-31_16-19-41.png, et on grogne un peu2014-07-31_16-48-27.png.

Une fois les fichiers du Play convertis, j'ai donc pu rallumer le Play, au grand soulagement des personnes qui attendaient dans le lobby.
La joie fut malheureusement de courte durée, car un bug malencontreux était alors apparu sur le Play et j'ai dû le remettre en maintenance.
En effet, plus personne n'était dans sa faction, ce qui est un peu embêtant quand même et doit donc être corrigé de toute urgence.

Le plugin qui a échappé à ma vigilance : Factions

Ce fut là ma principale erreur lors de l'établissement de mon plan d'action. La donnée manquante à l'équation. Le plugin Factions.
Factions est lui aussi passé aux UUID, et stockait les données de chaque joueur dans un fichier JSON ayant pour nom l'UUID du joueur. Le mauvais UUID.
Ce fichier décrit à quelle faction appartient le joueur, quel est son titre dans la faction, et quel est son grade. Sans ce fichier, plus personne dans les factions.
Le pseudo des joueurs n'étant pas indiqué dans ces fichiers, comment savoir quel est le bon UUID à mettre à la place comme nom de fichier ?
Il fallait réfléchir vite car tant que je ne réparais pas cela, les serveurs resteraient fermés, et ça, je ne le savais que trop bien. Je m'y suis donc mis immédiatement.
J'avais encore à ma disposition les anciens fichiers de joueur avec les mauvais UUID. J'ai eu l'idée de les réutiliser car ils représentaient la pièce manquante de mon puzzle.

Imagefactions-trollface.png

Je me suis donc remis au java, et j'ai codé en quatrième vitesse un nouvel outil qui allait faire ce que je voulais : réparer les fichiers de Factions.
Il fallait dans un premier temps établir les correspondances mauvais UUID <=> UUID officiel, puis dans un second temps renommer tous les fichiers.
Afin d'établir de telles correspondances, j'utilisais la portion de code du convertisseur de Spigot qui ouvrait chaque fichier de joueur pour en extraire le pseudo.
Mon outil fonctionnait ainsi en trois étapes : parcourir tous les nouveaux fichier de joueur et stocker les correspondances pseudo <=> UUID officiel.
Ensuite, parcourir tous les anciens fichiers de joueur et établir les correspondances mauvais UUID <=> pseudo. Ainsi il devenait possible de passer d'un mauvais UUID au bon UUID.
Enfin, parcourir tous les fichiers de Factions et tout renommer grâce à la table de correspondances ainsi établie. Après quelques tentatives infructueuses, ce fut la bonne.

Le retour des serveurs, secoués par l'opération, mais fonctionnels

Après près de 2h de maintenance, les serveurs furent finalement de retour, pour le bonheur des petits et des grands.
Une fois les fichiers réparés, en effet, chacun a retrouvé sa faction, et, à quelques petits bugs près, tout est rentré dans l'ordre.
Je pus donc aller me chercher une aspirine et souffler un peu après ce moment difficile, bien que tout ne soit pas encore réglé.

Les descriptions de factions, un peu chamboulées par le changement

Il reste en effet quelques traces de ce remaniement en profondeur des serveurs, la plus évidente concernant Factions :

Imagefaction-eclairs-uuid.png

Le plugin Factions a un peu de mal : pour connaitre les pseudos des membres de la faction, il tient à jour une liste UUID <=> pseudo
Cependant, tous les UUID sont maintenant différents, puisque je les ai remplacés par les bons, et que faction a toujours les mauvais dans sa liste.
Néanmoins, le problème est bénin car Factions rétablira petit à petit ses correspondances UUID <=> pseudo au fur et à mesure des connexions des joueurs.

La liste des opérateurs et des joueurs bannis

Ces deux listes, déjà converties auparavant, utilisaient également toujours le mauvais système d'UUID : les personnes déjà dans la liste avaient conservé leur mauvais UUID.
Fort heureusement, les pseudos étant également précisés dans ce fichier afin de permettre la commande /pardon <nom>, la réparation apparaît plus facile que pour Factions.
En effet, les pseudo dans les infos du ban n'empêchent pas les bannis de se connecter, mais facilitent grandement la réparation dans la mesure où il suffit de récupérer l'UUID correspondant.

Il m'a donc suffit d'écrire un dernier outil, parcourant la liste des ban, résolvant les UUID auprès de Mojang, et remplaçant le mauvais UUID correspondant à chaque pseudo par le bon.
La liste des ban du Play contenant ~4600 ban, il m'a quand même fallu les récupérer cent par cent, mais ce n'est pas bien difficile car je l'avais déjà fait auparavant.
Après une ou deux tentatives infructueuses, j'ai fait redémarrer les serveurs une dernière fois pour corriger leur liste de ban. Et voilà. C'était la dernière étape.

Le mot de la fin : tout est bien qui finit bien

Les serveurs HelloMinecraft sont donc à présent réparés, et prêts pour les changements de pseudos.
Il reste bien entendu quelques plugins à modifier, mais maintenant que les serveurs utilisent les UUID officiels de chaque joueur, cela presse moins.
Je suis vraiment désolé d'avoir causé une telle interruption des serveurs, mais comprenez que c'était indispensable à leur bon fonctionnement à long terme.
En effet, si on avait attendu que Mojang active la possibilité de changer de pseudo, un tel plan de migration n'aurait plus été possible, n'étant plus sûrs du compte auquel correspondait un pseudo.
Accessoirement, je remercie les courageux qui auront lu ce compte-rendu des événements dans son intégralité, et je vous souhaite un bon jeu à tous. J'espère que vous ne m'en voudrez pas trop :p
Dernière modification par ORelio le 01 août 2022, 10:34, modifié 2 fois.
Image
Image
__ORelio, Tonton des Eclairs - Développeur sur HM - Admin à temps partiel - Night Club - L'Hymne des modérateurs
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse Image

Romain42
Messages : 4187
Inscription : 19 juin 2011, 16:31
Pseudo Minecraft : Romain42
Localisation : Bouches-du-Rhône
Contact :

Re: Maintenance générale du 31/07 - Réparation des UUID

Messagepar Romain42 » 01 août 2014, 17:03

J'avais entendu que la conversion pseudo ↔ ID allait causer quelques problèmes, mais je n'étais pas au courant qu'il y avait 2 systèmes d'identifiants de pseudo...
En tout cas bravo à toi ! Tu mérites un prix Nobel pour la patience que tu as eu, je pense que pour ma part j'aurais plus pensé à faire un rollback dès que j'aurais aperçu le problème (alors que c'est pas mon genre d'habitude) ^^
Image
Image
Allez donc voir mon profil SensCritique !

Guillaumel7
Messages : 323
Inscription : 21 avr. 2012, 13:01
Localisation : Quelque part ...

Re: Maintenance générale du 31/07 - Réparation des UUID

Messagepar Guillaumel7 » 01 août 2014, 17:05

Woaw, je vois qu'encore une fois tu as bien bossé pour HM !
Accessoirement, tu m'as aussi permis de perdre une dizaine ou une quinzaine de minutes ... mais je ne t'en veux pas, mea culpa d'avoir lu jusqu'au bout. :mrgreen:
Un gros bravo pour tonton ORelio :) !
Play ===>>> * / ** Vespérien
Build ====>>> **Elfes
Pvp ===>>> Siphlords perdurera !

Mortenkein
Messages : 292
Inscription : 19 août 2011, 03:08

Re: Maintenance générale du 31/07 - Réparation des UUID

Messagepar Mortenkein » 01 août 2014, 17:11

ORelio, t'es un as, un prodige d'efficacité et de dévouement! Mille fois merci! Je respecte hautement tes compétences de développeur et mais aussi de pédagogue. Tes explications sont claires et précises.

Au nom d'Hellominecraft, je te décerne le cube du mérite!
Fondateur et administrateur d'Aventure.

Besoin d'un coup de pouce? Visitez mon refuge public sur le Play! Vous y trouverez un abri, deux double spawners aménagés (squelette/squelette et zombie/zombie), plus de 30 PNJ, des cultures, des élevages et un centre d'échanges pour troquer vos objets contre d'autres!

HammerHead
Messages : 630
Inscription : 15 sept. 2012, 16:10
Pseudo Minecraft : PPCHammerHead
Localisation : Mojave > Dryfield > Au fond d'un puis

Re: Maintenance générale du 31/07 - Réparation des UUID

Messagepar HammerHead » 01 août 2014, 17:28

N'étant pas possible pour moi de jouer, je n'ai pas eu le loisir d'assister a ça,( je visite ce beau département qu'est la Corse -coucou Mister- )
Mais ça fait plaisir de voir que le staf communique avec nous a ce point, merci de tout avoir expliquer en détail, et pour te répondre, moi j'ai pris le temps de tout lire, c'est toujours intéressent d'être tenue au courent de ce qui arrive au serveur, merci a toi Orelio, je suppose qu'après les aspi, tu a du aller dormir un moment pour récupéré de tout ce travail.
Soldat Érotique !
PPC

"My name is Michael J. CABOOSE ! And I hate... Puppy'z ! "
"Allright ! Let's kill the bad guy's ! "

venant19
Messages : 843
Inscription : 10 janv. 2012, 19:19
Pseudo Minecraft : Venant19

Re: Maintenance générale du 31/07 - Réparation des UUID

Messagepar venant19 » 01 août 2014, 18:15

Bon Boulot Tonton ! Encore une mission de remplie par notre célèbre amateur de melon !

Cordialement, Venant19

Alkool
Messages : 2589
Inscription : 01 sept. 2012, 17:56
Pseudo Minecraft : Alkool_

Re: Maintenance générale du 31/07 - Réparation des UUID

Messagepar Alkool » 01 août 2014, 19:57

Toujours du bon boulot ce que tu fais ORelio , mais tu bois vraiment du café quand tu bosses devant ton ordi x) ? Moi , je bois parfois du thé depuis quelques temps...Du thé chaud hun ;) .
Image

jolou
Messages : 1352
Inscription : 11 mai 2011, 16:17

Re: Maintenance générale du 31/07 - Réparation des UUID

Messagepar jolou » 01 août 2014, 22:15

Merci tonton pour le boulot effectué ^^
Reporter/Responsable Vidéaste depuis le 24 février 2015
HelloMinecraftTV : http://www.youtube.com/user/HelloMinecraftTV
"Je vais mettre un terme a votre idéologie barbare de répartition équitable des richesses !"
"La vie est une pilule contraceptive "

ORelio
Ancien Administrateur
Messages : 12582
Inscription : 28 oct. 2011, 22:06
Pseudo Minecraft : ORelio
Contact :

Re: Maintenance générale du 31/07 - Réparation des UUID

Messagepar ORelio » 01 août 2014, 22:44

Merci à tous de vos retours, ça fait vraiment plaisir vos encouragements, et de voir que des gens ont pris la peine de lire un tel roman !

Pour ceux qui se demandent cette petite histoire m'aura tenu occupé pendant 48h le temps de faire les préparatifs, mais aussi,
de développer les outils, effectuer la maintenance, les corrections post-maintenance et bien sûr, rédiger ce compte-rendu !

Pour répondre à la question de Hammer : Je suis allé décompresser un coup, puis je suis revenu tranquillement m'occuper des fichiers de ban.
Goldax : Sois rassuré, je ne bois pas de café, mais rajouter plein de tasses sur l'image permet de montrer que j'étais devant l'ordi depuis des heures.
Image
Image
__ORelio, Tonton des Eclairs - Développeur sur HM - Admin à temps partiel - Night Club - L'Hymne des modérateurs
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse Image

luluurca
Messages : 2879
Inscription : 25 août 2012, 05:06

Re: Maintenance générale du 31/07 - Réparation des UUID

Messagepar luluurca » 01 août 2014, 23:46

Bien joué tonton <3
D'ailleurs j'adore ton post au passage :mrgreen:
Image
Anciennement modérateur du serveur play, du 11 juin 2013 au 8 avril 2014.
Plus de 700 heures de jeu sur HM !


Revenir à « Annonces, news et sondages populaires ! »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité