😴Système Anti-AFK (BETA)

Ce document détaille la configuration et le fonctionnement du système anti-AFK dans le plugin Horizons.

📝 Introduction

Le système anti-AFK de Horizons permet de détecter et d'expulser les joueurs inactifs. Il dispose de deux modes de détection: simple et avancé. Le mode avancé est capable de détecter des méthodes sophistiquées d'évitement AFK comme les auto-clickers, les macros et les mouvements automatisés.

⚙️ Configuration

La configuration du système anti-AFK se fait dans le fichier config.yml:

anti-afk:
  # Activer ou désactiver le système anti-AFK
  enabled: true
  
  # Mode de détection: SIMPLE ou ADVANCED
  # SIMPLE: Vérifie uniquement le mouvement entre les blocs
  # ADVANCED: Détecte les modèles de mouvement automatisés
  mode: ADVANCED
  
  # Temps en minutes avant qu'un joueur inactif soit expulsé
  afk-time-minutes: 15
  
  # Temps en secondes avant l'expulsion pour afficher un avertissement
  warning-time-seconds: 30
  
  # Messages affichés aux joueurs
  warning-message: "&c&lAFK WARNING &7You will be kicked for inactivity in {time} seconds."
  kick-message: "&c&lAFK KICK &7You were kicked for being inactive."
  
  # Paramètres de performance
  
  # Intervalle entre les vérifications AFK (secondes)
  check-interval-seconds: 1
  
  # Nombre de joueurs à traiter dans chaque cycle de vérification
  batch-size: 20
  
  # Afficher des informations de débogage détaillées
  debug: false

🔄 Rechargement de la configuration

Pour recharger la configuration du système anti-AFK sans redémarrer le serveur, utilisez la commande:

/horizons reload config

🔍 Modes de détection

Mode SIMPLE

Le mode simple détecte l'inactivité en fonction des mouvements du joueur:

  • Déplacement entre blocs

  • Placement/destruction de blocs

  • Interaction avec des objets/inventaires

Mode ADVANCED

Le mode avancé ajoute une détection supplémentaire pour identifier:

Type d'automatisation
Description
Méthode de détection

Mouvements circulaires

Joueur tournant en cercle

Analyse des changements d'angle

Sauts répétitifs

Script faisant sauter régulièrement

Comptage des sauts consécutifs

Mouvements ping-pong

Aller-retour automatisés

Détection des changements de direction

Rotations automatisées

Auto-clicker/script sur la caméra

Détection des motifs réguliers

🛡️ Permission de contournement

Les joueurs avec la permission suivante ne seront pas affectés par le système anti-AFK: horizons.afk.bypass

📊 Fonctionnement technique

Processus de détection

  • Les activités des joueurs sont surveillées via différents événements (mouvement, interaction, etc.)

  • Les joueurs inactifs pendant plus longtemps que afk-time-minutes reçoivent un avertissement

  • Si l'inactivité continue, le joueur est expulsé du serveur

Détection avancée En mode ADVANCED, le système:

  • Stocke les 15-20 dernières positions et orientations

  • Analyse les motifs de mouvement pour détecter des comportements automatisés

  • Recherche des régularités dans les mouvements qui seraient impossibles pour un humain

💡 Conseils d'optimisation

Pour les serveurs à grande échelle (50+ joueurs):

  • Augmentez check-interval-seconds à 2-3 pour réduire la charge CPU

  • Augmentez batch-size à 25-30 pour un traitement plus efficace

  • Utilisez le mode SIMPLE si la charge serveur est préoccupante

Pour les petits serveurs avec détection stricte:

  • Maintenez check-interval-seconds à 1

  • Réduisez batch-size à 10-15

  • Utilisez le mode ADVANCED pour la meilleure détection

⚠️ Remarques

  • Le système anti-AFK peut avoir un impact sur les performances du serveur en mode ADVANCED avec de nombreux joueurs

  • Certains mods légitimes des clients peuvent être détectés comme des comportements AFK automatisés

  • Le délai d'inactivité (afk-time-minutes) devrait être raisonnable pour ne pas pénaliser les joueurs légitimes