Hello,
Aujourd'hui petit travail sur le site, j'ai réalisé une opération
d'importation des profils de joueurs manquants depuis tous les serveurs (play/pvp/build/lobby) :
1) On récupère tous les profils de joueur du serveur, ceux générés par Minecraft vanilla : on a l'UUID en nom de fichier, et le pseudo dedans, et la date de création du fichier *
2) On récupère tous les profils de joueur du site hellominecraft, enfin, seulement leur UUID, en fait
3) On compare et s'il y a des profils dans le serveur qui ne sont pas sur le site, on les garde
4) On construit une requête à lancer dans la base de données du site HM pour ajouter les profils manquants
* date valide seulement pour les fichiers datant d'après la migration des UUID
de l'été 2014, pour ceux là comme ça on sait quand le joueur s'était connecté pour la première fois,
donc on a la date d'enregistrement seule, pas les statistiques, mais c'est mieux que rien, et ça je l'ai donc renseigné sur les profils de joueurs importés à cette occasion
:)
Ainsi ce sont
7445 profils de joueurs supplémentaires qui sont maintenant apparus sur le site !
Vous vous demandez sans doute, pourquoi des profils étaient présents sur les serveurs et non sur le site ?
Les raisons possibles sont les suivantes :
1) Le joueur était venu avant même que le système de statistiques existe
2) Le joueur était venu pendant un laps de temps très court, moins de 2 minutes, du coup il n'avait pas été remonté sur le site (c'est encore possible même maintenant)
3) Le joueur était venu pendant les ~15 jours durant lesquels les nouveaux joueurs n'étaient pas enregistrés sur le site parce que j'avais cassé un truc (
en savoir plus)
Au cours de cette importation, il s'est quand même passé quelques trucs marrants :
1) Cela a permis d'isoler les faux profils "ORelio" et "Amrac59" générés pendant
le hack, en effet ils avaient des UUID incorrects (offline mode)
2) Cela a permis de retrouver l'UUID d'un compte minecraft qui n'existe plus, du coup au lieu de 16 comptes je n'en ai plus que 15 avec UUID de remplacement en base
3) Cela a permis de déceler le premier cas de conflit de pseudo ! En effet deux joueurs différents ayant joué sur HM ont eu, chacun leur tour, le même pseudo : "letueur"
Voici une représentation visuelle de ce cas n°3 :
Un compte nommé "letueur" a été aperçu sur le Build avec l'UUID "7c1b[...]", il a donc été importé en base, et là erreur, il existe déjà avec l'UUID "3183[...]" !
Cela parce que lors de l'opération d'importation, probablement celle faite
récemment, il y avait deux possibilités, et c'est la mauvaise qui avait été retenue vu que l'original avait changé de pseudo.
Cela aurait pu s'arrêter là mais que s'est il passé quand je suis passé au lobby ? Surprise, le retour du tueur, vu sur le lobby avec l'UUID "3183[...]" ! Les deux comptes ont donc chacun mis les pieds sur HM
Voilà pourquoi migrer les pseudos en UUID après l'instauration du changement de pseudo est une mauvaise idée, et que cela a été fait rapidement l'été dernier vu qu'on ne savait pas quand ça allait être activé.
Heureusement, 99,99% des pseudos sont maintenant déjà migrés dans le site HM, rendant possible les résolutions à la main pour les cas problématiques, qui ne manqueront pas d'apparaitre pour
la migration des PO 
En effet, la migration des PO résoudra les pseudos en UUID essentiellement grâce au site HM, super rapidement - quelques secondes - d'où l'intérêt d'avoir d'abord réalisé cette opération d'importation.
Dans les autres cas, il est difficile et extrêmement lent de résoudre, à partir du pseudo, les UUID des comptes ayant changé de pseudo: cela prend environ 1 à 3 secondes par compte contre ~0.01 seconde sinon.
Il faut donc que j'en aie le moins possible à traiter via l'API de Mojang (
en savoir plus sur les différentes méthodes de résolution des UUID).
La prochaine étape sera la finalisation de la procédure de migration des PO vers la nouvelle base de données, qui permettra de refondre le système d'économie pour gérer les UUID dedans (
topic dédié)