🗣️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 rapportshorizons.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:
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:
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:
🎮 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.deleteOuvre 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 :
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 :
Configuration des webhooks
⚠️ 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