Une tour, un t-shirt et beaucoup trop de câbles

Pause de bases de données. Place aux t-shirts incompréhensibles, aux boîtiers transparents et à un nombre beaucoup trop élevé de câbles.

Le party LAN est probablement l’endroit où la culture geek devient la plus visible. Le setup lui-même ressemble à une petite salle informatique improvisée :

  • une tour complète par personne;
  • un écran cathodique qui pèse comme un petit téléviseur;
  • un clavier, une souris et un casque;
  • un commutateur Ethernet au milieu;
  • assez de fils et de rallonges pour transformer le plancher en piège.

Une fois les machines déposées, il faut quand même fabriquer un réseau. Chaque carte Ethernet doit avoir une adresse IP dans le même sous-réseau, par DHCP ou configuration manuelle. Avec 192.168.10.23 et un masque 255.255.255.0, le poste considère les autres 192.168.10.x comme locaux. Pour joindre 192.168.10.42, il diffuse d’abord une demande ARP : « quelle adresse MAC possède cette IP? » Le propriétaire répond, puis les trames partent vers sa MAC.

Le commutateur apprend en regardant l’adresse source des trames. Il associe chaque MAC à un port et envoie ensuite le trafic unicast seulement au bon câble. Au début, ou pour un broadcast, il copie la trame vers plusieurs ports. C’est beaucoup plus efficace qu’un vieux hub qui répète tout partout, surtout quand quinze jeux transmettent en même temps.

PC A 192.168.10.21 ─┐
PC B 192.168.10.22 ─┼─ commutateur ─ serveur de jeu 192.168.10.10
PC C 192.168.10.23 ─┘

La découverte d’une partie locale utilise souvent un broadcast UDP. Le serveur annonce « je suis ici » ou les clients demandent qui écoute sur un port. Un pare-feu personnel peut bloquer ce paquet tout en laissant le ping passer. Deux versions différentes du jeu peuvent se voir sans réussir à négocier. Et deux personnes qui choisissent manuellement la même adresse IP provoquent un conflit où les réponses ARP changent de machine.

Je préparerais donc le réseau dans cet ordre :

  1. un petit serveur DHCP avec une plage connue;
  2. une adresse fixe hors de cette plage pour le serveur de jeu;
  3. un test ping entre chaque segment;
  4. la même version et les mêmes mises à jour du jeu;
  5. les ports de pare-feu documentés, pas le pare-feu désactivé partout;
  6. une copie locale des correctifs pour ne pas saturer le lien Internet.

Le serveur de jeu possède sa propre boucle. Il reçoit les commandes des joueurs, met à jour l’état autoritaire du monde à intervalles réguliers, puis diffuse des instantanés. Le LAN réduit la latence, mais un poste qui charge le disque ou une machine infectée qui bavarde sur le réseau peut encore créer des pointes. Une grande copie de fichiers au milieu d’une partie partage les ports et les tampons du commutateur avec le trafic du jeu.

Le courant est une contrainte moins geek mais très réelle. Dix tours et dix écrans cathodiques peuvent dépasser facilement un circuit domestique. J’additionne la puissance indiquée, je répartis les machines sur des circuits confirmés et je ne chaîne pas des rallonges douteuses. Le commutateur et le serveur méritent une alimentation stable; une coupure au mauvais moment peut corrompre les fichiers de partie ou les disques.

Partager un dossier en écriture à « Tout le monde » pour échanger des cartes est tentant. C’est aussi une façon de distribuer un virus ou d’effacer les fichiers du voisin. Un dossier de dépôt limité, un antivirus à jour et aucune donnée personnelle sur le partage rendent le plaisir moins risqué.

La tour modifiée et le t-shirt sont la partie visible. Le vrai langage commun, pour moi, se trouve dans le moment où quelqu’un lit une table ARP, trouve le port bloqué et remet la partie en marche. Pour le prochain LAN, je vais apporter autant un plan d’adresses et une copie des patches que mes câbles. Le setup fait partie du jeu, mais il n’a pas besoin de durer toute la soirée.