Documentazione ReportSystem

Installazione, comandi, permessi e configurazione.

Requisiti

  • Server Paper 1.21 o superiore
  • Java 21+
  • Un database MySQL o MariaDB (le segnalazioni vengono salvate lì)

Installazione

  1. Copia ReportSystem-1.1.0.jar nella cartella plugins/ del server.
  2. Avvia il server una volta e poi fermalo: viene creato plugins/ReportSystem/config.yml.
  3. Apri config.yml e inserisci la chiave di licenza e i dati del database.
  4. Riavvia. In console deve comparire Licenza verificata.

Licenza

Dopo l'acquisto trovi la chiave in Area clienti → Licenze su sononiko.it. Incollala qui:

license-key: "SN-XXXXX-XXXXX-XXXXX-XXXXX"

Senza una chiave valida il plugin si disattiva all'avvio. La licenza è legata al server: se cambi hosting usa "Cambia IP / server" nell'area clienti (fino a 3 volte).


Come funziona

  • I giocatori aprono /report (menu) oppure usano /report <giocatore> [motivo].
  • Si possono segnalare solo giocatori online.
  • Dal menu il giocatore vede le proprie segnalazioni con lo stato (aperto, preso in carico, chiuso), può annullarle o crearne di nuove.
  • Ogni segnalazione viene inviata anche su Discord tramite webhook.
  • Lo staff gestisce tutto dal pannello /reportadmin, anche senza OP (via permessi).

Comandi

Comando Descrizione Permesso
/report Apre il menu per segnalare reportsystem.report
/report <giocatore> [motivo] Segnala direttamente reportsystem.report
/reportadmin Apre il pannello staff reportsystem.admin
/reportadmin view <id> Apre una segnalazione reportsystem.admin
/reportadmin reload Ricarica config e messaggi reportsystem.reload

/reports è un alias di /reportadmin.


Permessi

Permesso Cosa fa Default
reportsystem.report Usare /report tutti
reportsystem.admin Aprire il pannello staff op
reportsystem.notify Ricevere le segnalazioni in chat op
reportsystem.admin.teleport Teletrasportarsi dal segnalato op
reportsystem.admin.delete Eliminare una segnalazione op
reportsystem.reload Ricaricare la configurazione op
reportsystem.bypass.cooldown Ignorare il cooldown op
reportsystem.exempt Non poter essere segnalato nessuno

Staff senza OP (LuckPerms)

/lp group staff permission set reportsystem.admin true
/lp group staff permission set reportsystem.notify true
/lp group staff permission set reportsystem.exempt true
/lp group admin permission set reportsystem.reload true

Configurazione

Voci principali in config.yml:

  • server-name: nome mostrato su Discord e nel pannello.
  • database: host, porta, nome, utente e password del database.
  • discord.webhook-url: URL del webhook Discord per le notifiche.
  • settings.cooldown-seconds: attesa tra due segnalazioni.
  • settings.max-open-reports: segnalazioni attive massime per giocatore (0 = illimitate).
  • settings.prevent-duplicate: vieta di segnalare due volte lo stesso giocatore.
  • reasons: i motivi del menu, ognuno con testo, icona e descrizione (massimo 14).

I testi si cambiano in language.yml. Dopo una modifica: /reportadmin reload.


Note multi-server

Se più server usano lo stesso database, il pannello mostra le segnalazioni di tutti (il server d'origine è indicato nella segnalazione). Notifiche in chat e teletrasporto funzionano solo per i giocatori sul server corrente; Discord riceve tutto.


Risoluzione problemi

  • "Licenza non valida" all'avvio → chiave errata o IP cambiato: verifica la chiave e usa "Cambia IP / server" nell'area clienti.
  • Il plugin non parte / errori database → controlla host, porta e credenziali nella sezione database.
  • Nessuna notifica su Discord → discord.webhook-url mancante o errato.