Horizons
🧩 Modules🔨 ModerationSuite

🗣️ Report

📝 Introduction

La commande /report permet aux joueurs de signaler des problèmes sur le serveur, qu'il s'agisse de problèmes liés à un joueur spécifique ou de problèmes généraux. Les administrateurs peuvent ensuite consulter, prendre en charge et gérer ces rapports via une interface graphique intuitive.

🔑 Permissions

Pour les joueurs

  • Aucune permission requise - Tous les joueurs peuvent créer des rapports

Pour les administrateurs

  • horizons.report.see - Permet de voir le GUI des rapports et de consulter tous les rapports
  • horizons.report.delete - Permet de supprimer des rapports

📋 Syntaxe

Pour les joueurs

Signaler un joueur

Syntaxe: /report <joueur> <raison>

Description: Signale un joueur spécifique pour un problème

Paramètres:

  • joueur - Nom du joueur à signaler (doit être en ligne)
  • raison - Raison du signalement (peut contenir plusieurs mots)

Exemple:

/report Steve Il triche avec des mods

Signaler un problème global

Syntaxe: /report <raison>

Description: Signale un problème général qui n'est pas lié à un joueur spécifique

Paramètres:

  • raison - Description du problème (peut contenir plusieurs mots)

Exemple:

/report Le serveur lag beaucoup

Pour les administrateurs

Ouvrir le GUI des rapports

Syntaxe: /report ou /report list

Description: Ouvre l'interface graphique pour consulter et gérer tous les rapports

Permission requise: horizons.report.see

Exemple:

/report
/report list

🎮 Interface Graphique (GUI)

Vue principale

Le GUI des rapports affiche tous les rapports actifs avec les informations suivantes :

  • Tête du joueur (pour les rapports de joueurs) ou Enclume (pour les rapports globaux)
  • ID du rapport - Identifiant unique du rapport
  • Joueur signalé - Nom du joueur signalé (si applicable)
  • Type - Indique si c'est un rapport de joueur ou un problème global
  • Raison - Raison du signalement
  • Statut - Indique si le rapport est traité ou non
  • Traité par - Nom de l'administrateur qui a pris en charge le rapport (si applicable)
  • Date - Date et heure de création du rapport

Interactions dans le GUI

Clic gauche sur un rapport

  • Si le rapport n'est pas encore traité, le prend en charge
  • Change le statut du rapport à "traité"
  • Enregistre votre nom comme celui qui a traité le rapport
  • Envoie une notification à tous les autres administrateurs en ligne
  • Envoie un webhook Discord (si configuré)

Clic droit sur un rapport

  • Permission requise: horizons.report.delete
  • Ouvre un GUI de confirmation pour supprimer le rapport
  • Le GUI de confirmation affiche :
    • Bouton Confirmer (vert) - Supprime définitivement le rapport
    • Bouton Annuler (rouge) - Annule la suppression et retourne au GUI principal

Pagination

Le GUI affiche jusqu'à 27 rapports par page. Les rapports sont triés par ID décroissant (les plus récents en premier).

🔔 Notifications

Création de rapport

Lorsqu'un joueur crée un rapport, tous les administrateurs en ligne avec la permission horizons.report.see reçoivent une notification dans le chat :

  • Pour un rapport de joueur: [REPORT] Joueur a signalé AutreJoueur pour: raison (ID: #123)
  • Pour un rapport global: [REPORT GLOBAL] Joueur a signalé un problème: raison (ID: #123)

Prise en charge d'un rapport

Lorsqu'un administrateur prend en charge un rapport, tous les autres administrateurs en ligne sont notifiés :

[REPORTS] Le report #123 a été pris en charge par Administrateur

🔗 Webhooks Discord

Le système de rapports peut envoyer des webhooks Discord pour notifier les administrateurs même lorsqu'ils ne sont pas en jeu.

Configuration

Dans le fichier config.yml :

reports:
  webhook:
    enabled: true                # Activer ou désactiver les webhooks
    url: "https://discord.com/api/webhooks/..."  # URL du webhook Discord

Types de webhooks

Création de rapport (joueur)

  • Couleur: Rouge (#FF0000)
  • Titre: "Nouveau report de joueur"
  • Contenu:
    • Joueur reporté
    • Par (auteur du rapport)
    • Raison
    • ID du rapport

Création de rapport (global)

  • Couleur: Rouge (#FF0000)
  • Titre: "Nouveau report global"
  • Contenu:
    • Type: Problème global
    • Par (auteur du rapport)
    • Raison
    • ID du rapport

Prise en charge de rapport

  • Couleur: Vert (#00FF00)
  • Titre: "Report pris en charge"
  • Contenu:
    • Informations du rapport (joueur ou type global)
    • Par (auteur du rapport)
    • Raison
    • Traité par (administrateur)
    • ID du rapport

📜 Journalisation

Tous les rapports sont automatiquement enregistrés dans des fichiers de logs séparés :

  • Emplacement: plugins/Horizons/logs/reports/
  • Format: Un fichier par action (création, prise en charge, suppression)
  • Contenu: Horodatage, ID du rapport, type, joueur signalé (si applicable), auteur, raison, statut, traité par (si applicable)

Les fichiers de logs incluent :

  • Création de rapports
  • Prise en charge de rapports
  • Suppression de rapports

⚙️ Configuration

La commande peut être activée ou désactivée dans le fichier config.yml :

commands:
  report:
    enabled: true  # Passer à false pour désactiver la commande report

Configuration des webhooks

reports:
  webhook:
    enabled: false                # Activer ou désactiver les webhooks Discord
    url: ""                       # URL du webhook Discord (laisser vide pour désactiver)

⚠️ Restrictions et Notes

Pour les joueurs

  • ❌ Impossible de se signaler soi-même
  • ❌ Le joueur signalé doit être en ligne (pour les rapports de joueurs)
  • ✅ La raison est obligatoire

🔄 Alias

  • /reports - Alias pour /report

💡 Astuces

Utilisation du GUI

Utilisez /report sans arguments pour ouvrir rapidement le GUI des rapports (en tant qu'admin)

Prise en charge rapide

Cliquez gauche sur un rapport non traité pour le prendre en charge instantanément

Suppression sécurisée

La suppression nécessite une confirmation pour éviter les erreurs

Webhooks Discord

Configurez les webhooks pour être notifié même hors jeu

Logs

Consultez les logs dans plugins/Horizons/logs/reports/ pour un historique complet

🐛 Dépannage

Le GUI ne s'ouvre pas
  • Vérifiez que vous avez la permission horizons.report.see
  • Vérifiez que la commande est activée dans config.yml
Les webhooks ne fonctionnent pas
  • Vérifiez que reports.webhook.enabled est à true
  • Vérifiez que l'URL du webhook est correcte
  • Vérifiez les logs du serveur pour les erreurs potentielles
Impossible de supprimer un rapport
  • Vérifiez que vous avez la permission horizons.report.delete
  • Utilisez le clic droit sur le rapport dans le GUI

On this page