Présentation

Disponible v1.2.2
Plateformes
Velocity, Paper, Folia
Minecraft
Velocity 3.3+ ; complément facultatif sur Spigot, Paper, Folia ou Purpur 1.21+
Java
17 / 21
Requis
Aucun
Facultatif
VelorFailoverSpawn

Repli sensible aux plantages pour les réseaux Velocity, plus des commandes de bascule pilotées par la configuration.

Comment il décide #

Lorsqu'un joueur est expulsé d'un serveur backend (ou ne peut pas s'y connecter), Velocity déclenche le même événement pour un vrai plantage et pour l'expulsion d'un modérateur, un bannissement ou un retrait par un anticheat. VelorFailover ne devine pas à partir de cet événement. Il envoie un ping au serveur :

  • Le serveur répond : rien ne se passe, Velocity traite l'expulsion exactement comme si VelorFailover n'était pas installé.
  • Le ping échoue (plantage, blocage, connexion refusée) : le serveur de repli reçoit aussi un ping et, s'il répond, le joueur y est déplacé.

Si le serveur de repli est lui aussi hors service, rien n'est redirigé et le traitement normal de Velocity s'applique.

Les joueurs déplacés attendent le serveur surveillé. À chaque health-check-interval-seconds, il reçoit un ping ; dès qu'il a répondu return-stability-checks fois de suite, les joueurs en attente sont renvoyés à raison d'au plus return-rate-per-second par seconde. Un joueur qui part, qui va ailleurs de lui-même ou qui ne peut pas être renvoyé pendant return-give-up-minutes est oublié.

Arrêts et redémarrages planifiés : un serveur arrêté volontairement expulse ses joueurs alors qu'il répond encore un instant aux pings, si bien qu'un ping ne peut pas distinguer cela de l'expulsion d'un modérateur. VelorFailover lit donc aussi le message d'expulsion : s'il contient l'un des textes de planned-shutdown-messages (par défaut ceux qu'utilisent Paper et Spigot : "Server closed", "Server is restarting", "Restarting"), les joueurs sont déplacés vers le serveur de repli puis renvoyés quand le serveur est de nouveau en ligne, à la position où ils se trouvaient (personne n'est téléporté sauf si vous définissez teleport-to-spawn-after-planned-stop). Ajoutez le message qu'utilise votre propre arrêt ou redémarrage ; une liste vide désactive cette fonction. Après un arrêt planifié, le serveur doit d'abord être vu en train de s'éteindre, ou planned-return-grace-seconds doit s'écouler, avant que quiconque soit renvoyé, afin qu'un serveur encore en cours d'arrêt ne soit pas pris pour un serveur revenu.

Installation #

  1. Placez VelorFailover.jar dans le dossier plugins/ du proxy et démarrez le proxy.
  2. Modifiez plugins/velorfailover/config.yml (les noms de serveur doivent correspondre à velocity.toml) et exécutez /velorfailover reload.
  3. Facultatif : placez VelorFailoverSpawn.jar sur chaque serveur backend qui doit téléporter au spawn les joueurs de retour.

Prérequis : Velocity 3.3 ou plus récent, Java 17 ou plus récent. VelorFailoverSpawn : Spigot, Paper, Folia ou Purpur 1.21 ou plus récent, Java 21.