🗣️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:

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.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 :

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

💡 Astuces

1

Utilisation du GUI

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

2

Prise en charge rapide

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

3

Suppression sécurisée

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

4

Webhooks Discord

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

5

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