Documentazione AntiVPN

Installazione, comandi, permessi e configurazione.

Requisiti

  • Server Paper 1.21+, oppure proxy Velocity / BungeeCord
  • Java 21+
  • Connessione in uscita verso i provider di controllo IP (ip-api.com / proxycheck.io)

Installazione

  1. Scarica il jar della tua piattaforma:
    • SonoNikoAntiVPN-Paper.jar → singolo server Paper
    • SonoNikoAntiVPN-Velocity.jar → proxy Velocity
    • SonoNikoAntiVPN-Bungee.jar → proxy BungeeCord
  2. Mettilo in plugins/. Su una network installalo sul proxy: protegge tutti i backend con un solo jar.
  3. Avvia una volta per generare config.yml, poi inserisci la chiave di licenza.
  4. Riavvia. In console devono comparire SonoNikoAntiVPN attivo e Licenza verificata.

Una sola licenza copre tutte le piattaforme.


Licenza

Trovi la chiave in Area clienti → Licenze su sononiko.it:

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

  • Ogni connessione viene controllata al join: se l'IP è una VPN/proxy, o arriva da un paese, continente o rete (ASN) bloccato, il giocatore viene gestito secondo l'azione configurata.
  • Azione configurabile: kick con messaggio personalizzato, oppure solo avviso allo staff.
  • Cache dei risultati per non consumare le quote dei provider.
  • Fail-open o fail-closed se i provider non rispondono (scegli tu).
  • Avvisi in gioco allo staff e su Discord (webhook).
  • Messaggi in italiano/inglese.

Comandi

Comando /antivpn (alias /avpn, /antiproxy), permesso antivpn.admin:

Comando Cosa fa
/antivpn check <ip\|giocatore> Controlla un IP o un giocatore online
/antivpn allow <ip/cidr> Whitelist un IP o intervallo
/antivpn deny <ip/cidr> Blacklist un IP o intervallo
/antivpn remove <ip/cidr> Toglie una regola IP
/antivpn country deny\|remove <ISO2> Blocca/sblocca uno stato (es. KP)
/antivpn continent deny\|remove <COD> Blocca/sblocca un continente (es. AF)
/antivpn asn deny\|remove <numero> Blocca/sblocca un ASN (es. 16509)
/antivpn whitelist add\|remove <giocatore> Esenta un giocatore
/antivpn stats Statistiche dei controlli
/antivpn reload Ricarica la configurazione

Permessi

Permesso Cosa fa Default
antivpn.admin Usare i comandi /antivpn op
antivpn.bypass Salta il controllo VPN/proxy nessuno
antivpn.alerts Riceve gli avvisi dei blocchi op

PlaceholderAPI (solo Paper)

%antivpn_checked%, %antivpn_blocked%, %antivpn_cache%, %antivpn_rules%


Provider

  • ip-api.com — gratis, senza chiave, 45 richieste/minuto. Copre proxy, hosting, stato, continente e ASN. Attivo di serie.
  • proxycheck.io — gratis fino a 1000/giorno senza chiave, molte di più con una chiave gratuita. Distingue VPN, TOR, proxy e hosting, con punteggio di rischio.

Metti le chiavi in config.yml sotto providers. Puoi cambiarne l'ordine o disattivarne uno.


Configurazione

Voci principali in config.yml:

  • license-key: la tua chiave.
  • action: kick (con messaggio) oppure alert (solo avviso allo staff).
  • fail-mode: open (in caso di provider offline lascia passare) o closed (blocca).
  • cache: durata della cache dei risultati.
  • providers: elenco provider, ordine e chiavi API.
  • discord.webhook-url: notifiche dei blocchi su Discord.
  • Regole: liste per IP/CIDR, paesi, continenti, ASN e whitelist giocatori.

I testi si cambiano nel file lingua. Dopo una modifica: /antivpn reload.


Risoluzione problemi

  • "Licenza non valida" all'avvio → chiave errata o IP cambiato: verifica la chiave e usa "Cambia IP / server" nell'area clienti.
  • Non blocca nessuno → controlla action e che i provider siano raggiungibili; prova /antivpn check <ip>.
  • Falsi positivi → aggiungi il giocatore alla whitelist (/antivpn whitelist add) o dai antivpn.bypass allo staff.
  • Nessuna notifica su Discord → discord.webhook-url mancante o errato.