21 novembre 2024

L’arrêt du serveur

Vous avez tous déjà entendu la phrase qui vous hérisse les poils : le serveur est à l’arrêt.

Il est 7h30, vous allez passer une formation à 8 heures sur le jeu et c’est le grand stress. Le compteur de joueurs connectés indique 250 pompiers en ligne, ça sent le sapin…

Un petit tour sur le chat, sur le forum ou sur la page de signalement des bugs confirmera vos soupçons. Le serveur de monpompier « est à l’arrêt ! »

Je vais vous expliquer ce qui se passe vraiment dans ces cas là.

files_mppmonpompier.com est un site web composé d’une trentaine de pages différentes (profil, personnage, caserne, direction, statistiques, etc). Ces pages sont divisées en sous pages (des contrôleurs), qui eux même font appel a des classes métiers, sorte de fichier qui gère tout un aspect du jeu (joueurs, casernes, formations, etc). Le nombre de fichiers au total dépasse certainement vos estimations comme vous pouvez le voir dans l’image ci-contre.

Le jeu a besoin de fonctionner sans que des joueurs soient connectés à cliquer à droite et à gauche. Il tourne donc en boucle ou en tâche de fond sur le serveur. Pour les connaisseurs, on parle d’un moteur (daemon) qui exécute des scripts php régulièrement (et non pas une crontab). Le moteur en question réalise les actions clés du jeu : appels de secours, mouvement de véhicules, changement de votre état opérationnel, début des formations, etc.

Lorsque votre cher administrateur met à jour le site, mis à part ajouter des nouveautés, il envoie aussi un lot de bugs et autres âneries tout à fait involontaires.

bug_moteur

Lorsque ces anomalies sont appelées par le moteur, il y a de forte chance que l’exécution de ce dernier soit stoppée. Du coup, les scripts qui maintiennent le jeu en action ne se font plus. Vous ne passez pas en état astreinte, les formations ne démarrent pas, les véhicules ne bougent plus. Chaos et désolation.

Heureusement, la Team est réactive et prévient illico votre administrateur qui peut réparer ces bêtises en quelques clics. Et oui, quand on est à l’origine du problème, c’est assez simple de se corriger, à condition de scruter les bons fichiers !

 

A propos de James

Je suis le fondateur et le développeur principal du jeu monpompier.com. J'ai 35 ans et suis Lieutenant SPV. Passionné naturellement d'informatique, mon objectif est de créer une véritable communauté autour de ce magnifique métier de Sapeur Pompier.

James

Je suis le fondateur et le développeur principal du jeu monpompier.com. J'ai 35 ans et suis Lieutenant SPV. Passionné naturellement d'informatique, mon objectif est de créer une véritable communauté autour de ce magnifique métier de Sapeur Pompier.

Voir tous les articles de James →