Documentation

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

  • VĂ©rifiez que vous avez la permission horizons.report.see
  • VĂ©rifiez que la commande est activĂ©e dans config.yml
  • 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
  • VĂ©rifiez que vous avez la permission horizons.report.delete
  • Utilisez le clic droit sur le rapport dans le GUI