Configurer le Serveur
Le serveur HERA est fourni sous la forme d'un Linux Dedicated Server Build. Celui-ci fonctionne entièrement de manière headless, c'est-à-dire comme un simple processus en arrière-plan sans interface graphique.
Configuration requise
Pour le fonctionnement, un accès à une machine virtuelle (VM) sous Linux est nécessaire. Il peut s'agir soit d'un serveur sur le réseau universitaire local (comme au BCDH), soit d'une instance cloud, par exemple une instance Amazon AWS EC2.
Configuration de référence du BCDH
À titre indicatif, la configuration de serveur suivante a fonctionné de manière stable en phase de test avec 8 clients simultanés :
- Système d'exploitation : Ubuntu 22.04 LTS
- Cœurs de processeur (vCPU) : 2 cœurs
- Mémoire vive (RAM) : 8 Go
- Espace disque : 150 Go (SSD recommandé)
Remarque sur l'évolutivité : La limite absolue, c'est-à-dire le nombre maximum de clients simultanés avant que le serveur ne présente des baisses de performances ou ne plante, n'est pas encore définitivement établie.
Configuration réseau (Pare-feu)
Pour que les clients puissent se connecter au serveur, des règles correspondantes doivent être définies dans le pare-feu du serveur ou dans les groupes de sécurité entrants (Inbound Security Groups, par exemple chez AWS). HERA utilise le protocole UDP pour le flux de données multijoueur.
Configurez la règle entrante suivante :
| Paramètre | Valeur |
|---|---|
| Type | UDP personnalisé |
| Protocole | UDP |
| Plage de ports | 7777 |
| Source | N'importe où (0.0.0.0/0) |
Contexte : pourquoi UDP et non TCP ?
- TCP (Transmission Control Protocol) : C'est un protocole orienté connexion. Il établit une connexion fixe, vérifie l'intégralité de chaque paquet et redemande les données perdues (principe de la poignée de main / handshake). Cela garantit la sécurité, mais est beaucoup trop lent pour les applications multijoueurs en temps réel.
- UDP (User Datagram Protocol) : Il est sans connexion et se passe de cette poignée de main permanente. Les paquets de données sont envoyés en continu et avec une latence minimale. Si un paquet est perdu en chemin (par exemple une mise à jour de position), il est simplement écrasé par le paquet suivant. L'UDP est donc absolument indispensable pour une synchronisation fluide.
Transférer le build Linux sur le serveur
Ce dont vous avez besoin : Votre serveur Linux, le build Linux HERA et vos identifiants de connexion SSH. Il est préférable d'utiliser SSH pour se connecter au serveur. Il s'agit d'une connexion sécurisée qui vous permet d'exécuter des commandes sur le serveur Linux.
Suivez ces étapes pour configurer manuellement le build du serveur :
- Connexion SSH : Connectez-vous à votre serveur Linux via le terminal :bash
ssh username@adresse-IP - Copier les données : Transférez le dossier compressé du build Linux HERA dans le répertoire personnel de l'utilisateur concerné :
/home/VotreNomDUtilisateur/. - Décompresser : Utilisez la commande
unzippour extraire l'archive :bashunzip LinuxServer.zip - Attribuer les droits : Pour que les fichiers exécutables puissent être lancés, les droits d'exécution sur le répertoire doivent être définis de manière récursive (
-R) :bashchmod +x -R LinuxServer/ - Démarrer le serveur pour test : Accédez au dossier et lancez le script de démarrage :bash
cd LinuxServer/ ./HERA_Server.sh
⚠️ Remarque importante : Si vous démarrez le serveur manuellement via la console, l'application s'arrêtera automatiquement au bout de 2 heures. Il est donc vivement recommandé de configurer le serveur comme un service système permanent immédiatement après, comme décrit dans la section suivante : Configurer HERA en tant que Service.
