Catégories
Bogue

D’une petite recherche pour donner un coup de main vers la mort de mon serveur Minecraft

Aujourd’hui, j’ai été victime d’une chaîne de bogues qui a mené à la paralysie de mon serveur Minecraft. Ce qui devait être une courte recherche personnelle a dégénéré en une série de problèmes qui n’en finissaient plus de s’enchaîner. Par chance, j’ai réussi à ressusciter ma machine et tout fonctionne maintenant correctement!

Il y avait deux personnes que je pouvais tenter d’aider pour des problèmes d’ordinateur. L’une d’elle utilisait Windows si bien que j’ai investigué la possibilité d’établir une connexion via l’assistance à distance. Si la personne réussissait à démarrer l’application d’assistance intégrée à Windows, ai-je découvert, et si elle m’envoyait, par l’entremise de cette application, une invitation par courrier électronique, je pourrais accepter l’invitation et une connexion s’établirait entre ma machine et la sienne. De cette façon, je pourrais voir l’écran de la machine à examiner et établir un diagnostic préliminaire, voire même résoudre le problème sans avoir à me déplacer!

Pour la deuxième personne, ce serait moins simple, car elle utilisait un Mac. Il m’est passé par la tête de recréer mon Hackintosh pour pouvoir tenter un partage de l’écran via iChat, mais j’ai eu trop de problèmes avec ce Hackintosh pour vouloir en arriver là. J’ai songé m’acheter un Mac Mini, la série la moins chère de la famille Macintosh d’Apple, pour remplacer le Salvator vieillissant dans le rôle de serveur Minecraft, pour établir cette liaison iChat et pour faire d’autres tests au besoin plus tard. Mais le coût de la machine pour les fonctionnalités que j’obtenais me dissuada d’emprunter cette voie. Pour le même prix, je pourrais me monter un Core i7 avec 16Go de mémoire et un SSD! J’ai examiné la possibilité de créer une instance Amazon EC2 que j’activerais de façon intermittente pour faire des tests, mais aucun résultat concluant n’existe au sujet de l’installation d’un Mac OS X dans le nuage de Amazon.

Mais cette investigation au sujet de EC2 et cette idée de Mac Mini viennent peut-être d’une intuition: je percevais que la mort du Salvator approchait… Et qu’en est-il de migrer mon serveur Minecraft sur une instance EC2? J’y ai pensé, mais il m’en aurait coûté 500$ par année à moins de rendre l’instance intermittente: mon ami ou moi devraient démarrer le serveur pour jouer et l’arrêter ensuite. J’envisageais bien sûr explorer cette voie et espérais que le démarrage ou l’arrêt seraient simples et qu’il serait possible d’accorder à mon ami la permission de le faire. Juste pour le merveilleux silence que l’extinction de ce vieux coucou me procurerait dans mon bureau lors de mes journées de travail, ça en vaudrait le coup!

Par chance, il y avait une solution bien plus simple et beaucoup moins coûteuse pour aider mon amie: TeamViewer. Il suffisait que mon amie installe ça sur son Mac, me transmette l’identifiant généré par le logiciel et je pourrais alors établir la liaison. Mais il se pouvait que ça ne fonctionne pas du premier coup si bien que j’ai voulu faire un test avant de proposer cette stratégie.

Pour ce faire, j’ai installé TeamViewer sur ma machine principale au moment où elle exécutait Windows 8. Il me fallait ensuite une deuxième machine sur laquelle installer TeamViewer, mais tous mes ordinateurs secondaires (mon serveur de Minecraft et mon HTPC) exécutaient Linux. Pas de problème: il y a une version Linux de TeamViewer! J’ai téléchargé et tenté d’installer ça: eh non, encore des problèmes! Le système de paquetages APT indiquait qu’il manquait une dépendance pour installer TeamViewer, à savoir lib32asound2J’ai tenté de l’installer: en vain. Il ne semble pas possible d’installer ce paquet .deb de TeamViewer sous Ubuntu 13.10! Certains ont réussi en utilisant la version 32 bits au lieu de 64 bits tandis que d’autres se sont rabattus sur une version .tar.gz du logiciel.

Au moment où je voulais tenter l’installation 32 bits, eh bien tout le système figea et plus rien ne répondait. Au début, la souris ne bougeait même plus, puis elle finit par bouger, mais je ne pouvais cliquer nulle part. Choqué, j’ai tenté de basculer vers une console pour redémarrer X.Org: encore en vain. Le système a fini par cracher des messages d’erreur à propos du pilote Nouveau qui ne pouvait pas mettre en standby certains canaux. Nouveau est un pilote open source pour les cartes graphiques de marque NVIDIA.

J’ai fini par établir une liaison SSH vers la machine puis forcer un redémarrage de X.Org: en vain. Eh oui! J’avais affaire à une défaillance dans un module du noyau, pas seulement un logiciel fonctionnant incorrectement! Choqué, il me fallut me résoudre à tout redémarrer et donc éteindre mon instance de Minecraft. Par chance, mon ami avec qui je partage le monde imaginaire de Taowa n’était pas en train de jouer à ce moment-là.

La machine mit plus d’une minute avant d’enfin terminer la fermeture d’Ubuntu et entamer le retour au POST, puis le démarrage. Là, j’ai eu l’interface graphique. X.Org semblait fonctionner, mais je savais bien que le pilote Nouveau, qui a causé des problèmes sur le Drake, finirait par frapper de nouveau. J’ai alors voulu installer le pilote de NVIDIA.

Malheureusement, l’application listant les logiciels et pilotes n’affichait rien par rapport à NVIDIA. Il m’a donc fallu y aller à la main et exécuter sudo apt-get install nvidia-current. Malheureusement, une super longue installation et un redémarrage plus tard, l’écran était noir et le resta un bon bout. Tout semblait foutu, impossible de récupérer l’affichage. Tenter d’exécuter sudo nvidia-x-config ne donna aucun résultat. En plus, toute tentative de redémarrer ou installer quelque chose prenait un temps fou sur cette vieille carlingue!

J’ai bien cru que c’était fini. À présent Ubuntu sera trop instable pour exécuter de quoi. Je pouvais certes tenter de réinstaller, mais une mise à jour risquait d’encore tout briser ou rendre le système propice aux plantages. Et encore une fois, je manquais de temps et devais tout laisser ça en plan pour aller dîner puis m’entraîner au gym.

Pendant que je dînais, je me suis dit que si je devais tout réinstaller, j’opterais pour Ubuntu 12.04 qui, au moins, est plus stable. Pour cette machine, cela suffirait amplement. Mais avant, j’allais tenter un sudo apt-get dist-upgrade pour m’assurer que les plus récents noyaux étaient bien installés.

Après le dîner, je l’ai tenté en vain; cela ne changea absolument rien puisque tout était déjà à jour. J’avais éteint l’ordinateur ne fonctionnant plus le temps de dîner. J’ai trouvé que le bureau était bien plus silencieux sans ces deux ventilateurs tournant en permanence. En plus, quand j’ai rallumé le vieux coucou, le ventilateur du bloc d’alimentation m’a fait un bruit de vieille carlingue. C’était arrivé plusieurs fois par le passé, mais cette fois, le grondement dura près de cinq minutes avant d’enfin cesser! C’était plus long que les fois précédentes.

Redémarrer la machine n’eut aucun effet. Avant d’entreprendre la réinstallation, j’ai essayé sudo apt-get install –reinstall nvidia-current. En examinant les messages de plus près, j’ai constaté qu’il y avait une ligne indiquant que le module NVIDIA n’avait pas pu être compilé, car il manquait les sources du noyau. J’installai alors linux-headers-generic et, pour être sûr, build-essentials. Cela compila le module et ressuscita mon système! J’ai alors pu redémarrer le serveur Minecraft avant de partir pour le gym!

Suite à cette mauvaise expérience, j’ai abandonné le test avec TeamViewer, car il n’avait plus aucune valeur. Même si ça fonctionne parfaitement entre mes deux machines, il se peut que ça échoue lamentablement avec mon amie. Peut-être la version Mac de TeamViewer ne fonctionne pas bien, peut-être le Mac est derrière un pare-feu, peut-être le routeur de mon amie va bloquer l’accès, ou peut-être même ce sera le mien qui le fera. Je ne suis pas du tout certain que mon amie persistera avec de multiples essais; elle laisserait peut-être tomber.

Par chance, ces connaissances sur l’administration à distance seraient utiles pour d’autres cas de figure et TeamViewer n’est pas le meurtrier de mon serveur Minecraft. Le plantage qui a eu lieu n’a rien à voir avec TeamViewer; ça aurait pu arriver n’importe quand.