Guide d administration du serveur Pavlov VR sur Linux

Ce guide rassemble les meilleures pratiques et les étapes essentielles pour déployer, sécuriser et administrer un serveur Pavlov VR sur des distributions Linux (Ubuntu/Debian-like et Red Hat RPM-based). Il s’appuie sur les éléments fournis dans le brouillon et les organise de manière structurée pour une utilisation pratique et détaillée.

Conception et hébergement du serveur

Pour une disponibilité fiable, il est recommandé d’héberger le serveur dans un centre de données. Le serveur Pavlov VR est fonctionnellement mono-threadé, avec la majorité du travail effectué sur un seul thread, ce qui signifie que des processeurs plus rapides et plusieurs cœurs peuvent augmenter le nombre de serveurs gérés simultanément. Le matériel suggéré comprend environ 2 Go de RAM pour un serveur de base 10 joueurs, 4 Go pour 24 joueurs ou plus et des CPU autour de 4 GHz pour environ 24 joueurs. Les serveurs Pavlov VR peuvent prendre en charge jusqu’à 50 joueurs sur PC, mais les performances dépendent fortement du mode de jeu et de la cartographie.

  • Le nombre maximum de serveurs dépend du nombre de CPU disponibles.
  • L’hébergement local peut être complexe et présente des risques de sécurité et de configuration réseau.
  • Lorsque l’hébergement se fait chez soi, le routage, le NAT, le loopback et CGNAT doivent être pris en compte pour que le serveur soit accessible.

Réseau et sécurité

Pour exposer les ports UDP 7777 et 8177 (et éventuellement d’autres ports comme 9100) via le pare-feu ou le forwarding, assurez-vous que les règles adéquates sont en place. Si vous hébergez derrière CGNAT ou un NAT complexe, vérifiez votre adresse IP publique et l’adresse LAN pour garantir l’accessibilité du serveur. Le guide souligne qu’il existe des implications de sécurité sérieuses liées à l’hébergement à domicile et recommande d’utiliser des DMZ lorsque disponible et configuré correctement.

Configuration initiale du serveur Pavlov VR

Après l’installation du serveur, il est nécessaire de créer les fichiers de configuration et les répertoires requis. Lancez le serveur, puis arrêtez-le pour que les fichiers et répertoires de configuration soient créés. Créez manuellement les répertoires si nécessaire et placez-y les fichiers de configuration optionnels (mods.txt, banned.txt, whitelist.txt).

Service et supervision

Utilisez un superviseur pour lancer PavlovServer afin d’éviter que le serveur s’arrête lorsque le terminal est fermé. Les commandes et pratiques suivantes permettent une gestion automatique et réactive du serveur :

  • Utiliser LinuxGSM ou un montage similaire pour surveiller que le processus est en cours d’exécution et pour redémarrer le serveur en cas de plantage, avec des alertes.
  • Mettre en place des tâches planifiées par cron pour automatiser des commandes à des moments donnés et pour réaliser des mises à jour et exécutions périodiques.
  • Activer le mode debug en cas de problèmes afin d’obtenir des informations supplémentaires sur le comportement du serveur.
  • Consulter les logs du serveur pour le diagnostic et le suivi des activités.

Rotation des cartes et modes de jeu

Lors de la commande d’un serveur, il est nécessaire de lister GAMEMODE et MAP ID souhaités. Le système de rotation peut être configuré avec des éléments tels que MapRotation et les identifiants Modio UGC pour PCVR et Shack. Les noms de cartes intégrées utilisent simplement le nom de la map comme mapID, par exemple SAND pour Sand.

  • Gamemodes disponibles: DM, TDM, SND, ZWV, TTT, GUN, WW2GUN, TANKTDM, KOTH, OITC, Hide, PUSH, et d’autres modes comme CTF et PH qui ne sont pas nécessaires sur toutes les maps.
  • Sur les serveurs Shack et PCVR, les maps nécessitent des UGC IDs de Modio, par exemple UGC3229032.
  • Les maps officielles incluent des versions Shack et PC, comme Bridge, Bunker, Datacenter, Industry, Sand, etc., et des variantes nocturnes et de datacenter.

Menu d’administration Pavlov VR

Il existe deux menus d’administration pour PCVR Pavlov : RCON et le menu In-Game. Arctic VR prend en charge les deux options.

RCON (Remote CONnection)

RCON permet de contrôler les serveurs en dehors du VR. L’accès se fait via Pavlov RCON ou une interface dédiée comme PavlovRCON.com. Pour configurer, connectez-vous via RCON et utilisez les commandes d’administration comme addmod pour ajouter des administrateurs par SteamID64. Par exemple, un Steam64ID typique ressemblerait à 76561198082867112.

Menu In-Game

Pour ajouter des administrateurs In-Game, suivez les étapes : obtenir Steam64ID, se connecter via RCON, utiliser la commande addmod avec le SteamID, puis rejoindre le serveur et accéder au MENU ADMIN dans le menu pause in-game. Un exemple de flux est donné pour vérifier l’accès et l’apparition d’un bouton « ADMIN MENU ».

Menu administrateur Legacy

La version Pavlov Legacy permet de jouer sur des maps Steam Workshop non passées à Modio. L’accès nécessite des manipulations dans Steam et la configuration du binding pour afficher le menu en appuyant sur Scoreboard et en double tapant la poignée.

Installation et configuration pratique du serveur Pavlov VR

Ce qui suit résume les étapes typiques, en utilisant Ubuntu 24.04.1 comme exemple et en privilégiant les commandes bash pour une installation propre et reproductible :

  • Installer Docker et SteamCMD si nécessaire; loader les fichiers Pavlov et SteamCMD dans /home par défaut, ou les déplacer selon vos préférences.
  • Rendre le script PavlovServer.sh exécutable et lancer le serveur pour générer les fichiers de configuration par défaut (Game.ini, etc.).
  • Créer les fichiers et répertoires optionnels (mods.txt, banned.txt, whitelist.txt) et ajuster Game.ini selon les besoins (par exemple, MaxPlayers, ApiKey, bVerboseLogging, TickRate, MapRotation).
  • Ajouter des mods et maps via le PavlovRCON ou le PavlovRCON panel; utiliser UGC pour les maps Modio et s’assurer que les rotations fonctionnent correctement.
  • Configurer les ports UDP 7777 et 8177, puis ouvrir le pare-feu ou configurer le forwarding sur le routeur.
  • Si vous utilisez Shack/Quest, assurez-vous que les maps peuvent être téléchargées depuis le serveur et que les ports appropriés sont ouverts. Utilisez des modulations de port et des paramètres réseau pour assurer l’accessibilité.
  • Pour automatiser, créez des scripts de mise à jour et de redémarrage et exposez les journaux et les alertes par LinuxGSM ou un système équivalent.
  • Pour interroger et charger des scripts au démarrage, utilisez systemctl pour gérer pavlovserver comme service et configurez ExecStart en conséquence, notamment si vous souhaitez démarrer le serveur en mode compétitif par défaut ou via game.ini.
  • Envisagez d’éteindre IPv6 si nécessaire en modifiant GRUB_CMDLINE_LINUX_DEFAULT="ipv6=off" pour des raisons de stabilité et de compatibilité réseau, selon votre environnement.
  • Utilisez les commandes docker ps -a, docker start ID, docker stop ID et vérifiez les journaux via docker logs pour diagnostiquer les problèmes liés au conteneur.

Astuce et maintenance

Pour les mises à jour et les redémarrages programmés, créez un script dédié dans le répertoire du compte utilisateur Pavlov et planifiez-le avec cron. Si le serveur est invité à redémarrer, un mécanisme de supervision ou de redémarrage automatique est fortement recommandé pour éviter des interruptions prolongées.

Éléments additionnels utiles

Le brouillon mentionne des détails pratiques tels que :

  • Le nommage et les formats des identifiants (map ID, gamemode, UGC IDs).
  • Les limitations de certains modes de jeu sur certaines cartes et les précautions à prendre pour éviter les instabilités.
  • Les considérations de sécurité et les risques potentiels associés à l’hébergement à domicile, ainsi que les moyens de contourner certains obstacles réseau (DMZ, Bridged Adapter, etc.).
  • La nécessité d’obtenir une ApiKey et d’associer le serveur au serveur master via cette clé.
  • La gestion des clés API et l’importance de la rotation des maps et des fichiers de configuration lors des mises à jour.

Ressources visuelles et vidéos

Diagramme architecture serveur Pavlov VR

Pour illustrer l’architecture et les flux de gestion (RCON, logs, processus), un schéma clair peut aider à visualiser les interactions entre le serveur Pavlov, le système d’exploitation, et les outils de supervision.

Une courte vidéo expliquant les étapes essentielles de l’installation, de la configuration initiale et du démarrage du serveur peut compléter les instructions écrites et accélérer l’assimilation des commandes.

Capture écran rotation map et API key

Une infographie montrant comment configurer MapRotation et l’intégration des clés API et des IDs Modio pour les maps UGC aidera les administrateurs à éviter les erreurs courantes lors de la rotation des maps.

  1. Important: les balises de médias ne doivent pas apparaître en séries, afin de garder une lisibilité fluide entre sections techniques et explications pratiques.

tags: #jailbreak #serveur #pavlov