Vai al contenuto
ShadowMC

Configurazione

ShadowControl

Un posto solo dove vedere cosa hai, cosa gira e cosa e' da aggiornare. E un pulsante che aggiorna tutto.

Gratuito con Premium v1.0.4

Dove sono i file

plugins/ShadowControl/

Il plugin li crea al primo avvio e li aggiorna da solo alle nuove versioni, senza toccare le tue modifiche.

Applicare le modifiche

/sctrl reload

Rilegge i file senza riavviare il server.

Cosa c’è dentro

30 file · 150 impostazioni

Da dove partire: config.yml

Impostazioni

I file che decidono come si comporta il plugin. Si parte da qui.

config.yml

Impostazioni generali
52 impostazioni
plugins/ShadowControl/config.yml
Note del file

Il pannello che tiene insieme la suite Shadow. Ti dice cosa hai installato, cosa è in funzione, cosa va aggiornato, e aggiorna tutto con un pulsante.

Gli altri file sono:

catalog.yml          la lista dei plugin della suite
lang/<locale>.yml    le parole
menus/<name>.yml     la disposizione dei pannelli

All'aggiornamento i tuoi file vengono portati automaticamente alla nuova versione: ciò che hai cambiato resta, le vecchie copie sono in backup/<date>/, e se qualcosa richiede la tua attenzione troverai PORTING-<version>.txt nella cartella del plugin.

Una nota sulla lingua. Ogni nome di impostazione e ogni commento in questo file è in inglese, perché un'impostazione la legge chi gestisce il server e queste persone vengono da ogni parte del mondo. Ciò che leggono i tuoi giocatori è un'altra faccenda: vive in lang/, è tradotto, e la lingua che servi di default è messages.default-locale qui sotto.

config-version1
general1 chiave
server-id"server-1"

Il nome di questo server. Viene inviato al repository insieme alla licenza, così chi vende può distinguere un'installazione dall'altra. Non viene mai inviato niente sui tuoi giocatori.

Messaggi

Aggiungere una lingua = mettere un file in lang/. Viene rilevato da solo, nessuna impostazione da cambiare.

messages2 chiavi
default-locale"en_US"

La lingua che ricevono tutti a meno che il loro client non ne chieda un'altra, e la lingua della console. Include en_US e it_IT: metti "it_IT" qui per un server italiano.

follow-client-localetrue

Ogni giocatore legge nella lingua impostata nel suo client, quando esiste un file per quella lingua. Disattivalo per servire una sola lingua a tutti.

L'assistentePremium

Due comandi:

/shadowai <question>   una conversazione: come funziona il tuo server, o
                       una domanda generale su Minecraft
/helpstaff <problem>   chiede aiuto. Se è una domanda risponde
                       subito; se è un problema vero
                       (grief, un ban, un pagamento, un bug) apre
                       una richiesta per lo staff, riassunto incluso
Continua a leggere

LA CHIAVE API LA PAGHI TU. Comprare Premium significa comprare l'integrazione, non i token: apri un account con OpenAI o Anthropic, metti la chiave qui sotto, e paghi a loro quello che usi. Prezzi e limiti sono più in basso, così non ci sono sorprese.

Come fa a sapere qualcosa del tuo server

In ai/assistant.yml scrivi com'è il tuo server: il nome, che tipo di server è, le regole, cosa lo rende diverso. In ai/packs/ c'è un file per ogni plugin della suite, già scritto, con i suoi comandi reali. Entrano in gioco solo i pack dei plugin che hai davvero installato: ciò che non hai, l'assistente non lo nomina mai.

Perché due chiamate

Una domanda fa due giri: il primo, brevissimo, decide di cosa parla la domanda; il secondo risponde, caricando solo quel pack. Inviare i comandi di dieci plugin con ogni domanda costerebbe dieci volte tanto e risponderebbe peggio. Quando una domanda nomina un plugin senza possibilità di equivoco, il primo giro viene saltato del tutto.

Se non riesce a capire di cosa parla la domanda, l'assistente chiede al giocatore di spiegarsi invece di tirare a indovinare.

ai10 chiavi
enabledtrue
providerauto

claude | openai | auto "auto" sceglie quello per cui hai inserito una chiave.

max-answer-tokens400

Quanto può essere lunga una risposta. In una chat di Minecraft, oltre 400 nessuno legge più.

memory-turns6

Quanti scambi ricorda /shadowai, e dopo quanto silenzio dimentica il filo del discorso.

memory-timeout"10m"
timeout"30s"

Quanto aspettare una risposta prima di rinunciare.

I limiti. Non toglierli

Un comando che chiama un servizio a pagamento, aperto a chiunque entri, senza tetto, è una carta di credito lasciata sul bancone: la prima persona che scrive una macro la svuota in una notte. I limiti fermano tre cose diverse -- la macro, il giocatore insistente, e la somma di cento giocatori ragionevoli.

Continua a leggere

-1 toglie un limite. max-spend-per-day è in dollari e usa i prezzi scritti qui sotto: è una stima, non una fattura.

ai.limits4 chiavi
cooldown-seconds15
per-player-per-day20
per-server-per-day400
max-spend-per-day5.0

Claude (Anthropic)

ai.claude2 chiavi
api-key""
model"claude-opus-5"

OpenAI

Chiave: https://platform.openai.com

Tocca endpoint solo per usare un servizio che parla il Chat Completions di OpenAI (un proxy, un modello che fai girare tu).

ai.openai3 chiavi
api-key""
model"gpt-4o-mini"
endpoint""

I prezzi, in dollari per milione di token

Servono a due cose: mostrare quanto stai spendendo in /sctrl ai, e far funzionare max-spend-per-day. Un modello che non è in questa lista funziona lo stesso, ma conta zero nella spesa -- meglio aggiungerlo che avere un tetto che non scatta mai.

Continua a leggere

ATTENZIONE: i prezzi cambiano. Questi sono di agosto 2026 e vanno verificati su:

Anthropic  https://www.anthropic.com/pricing
OpenAI     https://openai.com/api/pricing

Quelli di Anthropic qui sotto sono verificati; quelli di OpenAI sono indicativi, quindi controlla la loro pagina prima di fidarti del tetto.

Per farti un'idea, con circa 3.000 token di contesto, una domanda breve e una risposta breve, 200 domande al giorno:

claude-haiku-4-5   ~25 dollari al mese
gpt-4o-mini        ~5 dollari al mese
claude-sonnet-5    ~70 dollari al mese
claude-opus-5      ~120 dollari al mese

Il prompt caching, che il plugin richiede da solo, taglia parecchio su tutti: il contesto è identico a ogni domanda ed è la parte più grossa.

ai.pricing7 chiavi

Anthropic

ai.pricing.claude-opus-52 chiavi
input5.00
output25.00
ai.pricing.claude-sonnet-52 chiavi
input3.00
output15.00
ai.pricing.claude-haiku-4-52 chiavi
input1.00
output5.00
ai.pricing.claude-opus-4-82 chiavi
input5.00
output25.00
ai.pricing.claude-sonnet-4-62 chiavi
input3.00
output15.00

OpenAI (indicativi: controllali)

ai.pricing.gpt-4o2 chiavi
input2.50
output10.00
ai.pricing.gpt-4o-mini2 chiavi
input0.15
output0.60

Licenza

Un solo jar, due edizioni. Senza chiave gira in versione FREE: il pannello è completo, vedi cosa hai, cosa è in esecuzione, cosa va aggiornato, e aggiorni un plugin alla volta, fino a 3 plugin Shadow installati.

Continua a leggere

Con una chiave firmata gira in versione PREMIUM, che aggiunge quello che ti serve quando i plugin diventano tanti: il pulsante che li aggiorna tutti insieme, i controlli automatici, il download automatico, l'avviso agli admin quando entrano, e i riavvii automatici e i comandi programmati di automation.yml.

Come attivarla

Hai un CODICE d'acquisto (quello del marketplace):

/sctrl license claim <code>

Il server si presenta al servizio, che gli firma una licenza legata ai SUOI indirizzi. Un secondo, nessuna email da mandare.

Hai già una CHIAVE:

/sctrl license activate <key>

La chiave finisce in license.yml, non qui: così una richiesta di supporto che dice "mandami il tuo config" non arriva con dentro la licenza di qualcuno.

Se qualcosa non torna

Non succede mai niente di grave: il caso peggiore è tornare all'edizione gratuita, detto chiaramente in console. Il plugin non si spegne e non interrompe niente a metà.

Una licenza appena scaduta, o che non riconosce gli indirizzi di questo server, ha grace-days giorni di tolleranza prima di tornare alla versione free: quasi sempre è un rinnovo in arrivo o un proxy, non un furto.

license4 chiavi

LA CHIAVE VIVE IN license.yml (stessa cartella di questo file), oppure nel file centrale plugins/ShadowControl/licenses.yml per tutta la suite. La 'key' qui sotto è solo un ripiego per i sistemi di deploy che generano config.yml: lasciala vuota.

La chiave NON vive qui: vive in license.yml, in questa cartella, che viene scritto al primo avvio (oppure in plugins/ShadowControl/licenses.yml per tutta la suite). La chiave, se preferisci scriverla a mano invece di usare il comando. Conta meno di license.yml, che è dove scrive il comando.

activation-url'https://shadow-licences.riccardobotins.workers.dev'

Il servizio che trasforma un codice d'acquisto in una licenza. Indirizzo base: il plugin aggiunge da solo /claim e /check.

grace-days7

Giorni di tolleranza prima di tornare alla versione gratuita.

resolve-public-iptrue

Chiedi al servizio licenze (activation-url + /ip) come si vede questo server da fuori: risponde con l'indirizzo che vede, e del server non viene inviato niente. È l'unico modo affidabile per conoscere il tuo indirizzo pubblico dietro un NAT, ed è ciò che fa funzionare una licenza venduta per un dominio su una macchina i cui indirizzi locali sono tutti 10.x. Solo con una licenza installata: un server senza chiave non chiede niente a nessuno. false = non chiedere mai.

server-address""

L'indirizzo con cui pubblicizzi il server, se il plugin non riesce a ricavarlo da solo. Serve solo in configurazioni particolari.

Il catalogo

La lista dei prodotti vive in catalog.yml. Quel file è tuo e non viene mai sovrascritto, quindi i nuovi prodotti ti arrivano da soli: dal catalogo integrato nel jar, dal repository, e da ciò che è installato su questo server.

Continua a leggere

auto-discover: un plugin installato qui il cui nome inizia con "prefix" viene mostrato nel pannello anche se nessuno lo ha ancora descritto nel catalogo. Serve a non farti mai perdere un pezzo della suite. Mettilo a false se vuoi che il pannello mostri solo ciò che dice catalog.yml e nient'altro.

catalog2 chiavi
auto-discovertrue
prefix"Shadow"

Da dove arrivano gli aggiornamenti

AUTO   -> usa url se c'è, altrimenti folder; con entrambi vuoti,
          il server di aggiornamenti di ShadowMC
          (https://shadow-updates.riccardobotins.workers.dev/suite.json)
HTTP   -> sempre il sito web
LOCAL  -> sempre la cartella
OFF    -> nessun controllo, il pannello mostra solo quello che hai
Continua a leggere

Sito web (url)

Un file JSON che elenca l'ultima versione di ogni plugin. Il formato è in docs/04-REPOSITORY.md, con un esempio pronto. Usa https: con http, chiunque stia in mezzo può sostituire il file che stai scaricando.

Cartella (folder)

Una cartella piena di jar. Un disco di rete, una chiavetta USB, la cartella in cui compili: va bene qualsiasi. Il pannello apre ogni jar, gli chiede che plugin è e che versione contiene, e tiene la più recente. Non può essere la cartella plugins del server stesso.

Esempi:
  folder: "C:/ShadowSuite/releases"
  folder: "/home/mc/suite-releases"
repository6 chiavi
modeAUTO
url""
folder""
license-key""

La chiave che ti ha dato lo shop, per i plugin a pagamento. Viaggia come header Authorization, mai dentro l'indirizzo.

timeout"15s"

Quanto aspettare una risposta prima di rinunciare.

max-download-mb200

Un limite di sicurezza per ogni singolo file scaricato.

Controlli automatici

check3 chiavi
on-starttrue

Cerca novità cinque secondi dopo l'avvio.

interval"6h"

Ogni quanto ricontrollare. "0" per non controllare mai da solo.

notify-adminstrue

Avvisa in chat chi ha shadowcontrol.notify quando entra e c'è qualcosa da aggiornare. L'avviso arriva con i pulsanti pronti.

Aggiornamenti

Come funziona, in breve: il nuovo file non viene mai scritto sopra un plugin in funzione. Finisce nella cartella che il server legge all'avvio (plugins/update), ed è il server stesso a scambiarli quando si riavvia. Per questo dopo un aggiornamento serve un riavvio, e per questo un aggiornamento non può rompere un plugin mentre sta lavorando.

updates3 chiavi
auto-downloadfalse
true  -> quando un controllo automatico trova qualcosa, lo scarica e
         lo lascia in attesa del riavvio
false -> non scarica niente finché non premi il pulsante
allow-restartfalse

Riavvii a mano: il pulsante nel pannello e /sctrl restart now, in e at. I riavvii automatici hanno il loro interruttore in automation.yml. ATTENZIONE: il server torna su da solo solo se qualcosa lo fa ripartire (un loop nel tuo file di avvio, il restart-script di spigot.yml, il tuo pannello). /sctrl restart setup ti dice cosa ha questo server; senza niente resta semplicemente spento.

restart-delay-seconds10

Il conto alla rovescia di "riavvia ora", in secondi: chat, title, action bar, boss bar e suoni come impostati in automation.yml, nella lingua di ogni giocatore.

bStats - statistiche d'uso anonime (https://bstats.org)

Cosa viene inviato, ogni 30 minuti: che questo server usa ShadowControl, le versioni del plugin, di Minecraft/Paper e di Java, il sistema operativo, il numero di core della CPU, quanti giocatori sono online (un numero, nient'altro), un serverUuid casuale che non identifica niente, e l'edizione in uso (free, premium o creator). Nessun dato dei giocatori lascia il server: niente nomi, niente UUID, niente indirizzi, e nemmeno la lista dei plugin che hai installato.

Continua a leggere

false lo disattiva solo per questo plugin. enabled: false in plugins/bStats/config.yml lo disattiva per ogni plugin su questo server in una volta.

metrics1 chiave
enabledtrue

automation.yml

Automation
49 impostazioni
plugins/ShadowControl/automation.yml
Note del file

Riavvii automatici e comandi programmati.

L'UNICA COSA DA LEGGERE. Un riavvio è uno stop seguito da un avvio, e l'avvio non tocca a noi: qualcosa fuori dal server lo deve riportare su - lo script di restart di spigot.yml, un loop nel tuo file di avvio, il tuo pannello, un gestore di servizi. Vedi "method". /sctrl restart setup ti dice cosa ha questo server, e quando niente lo riporterebbe su, i riavvii AUTOMATICI vengono rifiutati: la console e il pannello lo dicono in rosso.

Edizione gratuita: riavvii a mano (/sctrl restart now | in | at) con tutto il countdown, cancel, delay, simulate, setup e /nextrestart. Tutto ciò che succede da solo - la programmazione, i riavvii per uptime, per server vuoto e per salute, i rinvii, i comandi prima e dopo, il proxy, i task - è Premium. Senza licenza questo file resta com'è e inizia a funzionare il giorno in cui ne attivi una.

Durate: 30s, 5m, 2h, 1d. Gli orari usano "timezone". Prova tutto senza fermare niente: /sctrl restart simulate 1m

config-version1
enabledtrue
timezone"system"

"system" = il fuso orario della macchina, stampato all'avvio. Un server ospitato in Germania per giocatori italiani è la solita sorpresa: scrivilo per esteso.

e.g. "Europe/Rome"

restart11 chiavi
enabledtrue
methodAUTO

AUTO | SCRIPT | STOP | PTERODACTYL

SCRIPT       si ferma ed esegue restart-script di spigot.yml
STOP         si ferma; qualcos'altro lo riavvia (un loop nel tuo
             file di avvio, systemd con Restart=always, Docker con una
             restart policy, un pannello che riavvia i server fermi)
PTERODACTYL  chiede al tuo pannello di riavviarlo (panel.yml, Premium)
AUTO         il primo che funziona. Con AUTO e niente che
             riporti su il server, i riavvii AUTOMATICI vengono rifiutati
             e la console dice perché: un "riavvio" alle 5 di mattina che si limita a
             fermare è il risultato peggiore che ci sia. Scrivi STOP se
             sai che qualcosa lo riavvia e il plugin non lo vede.
schedule[ ]

Quando. Vince la riga più vicina.

"daily 05:00"      ogni giorno
"mon,thu 04:30"    in quei giorni (funziona anche "sat-sun 03:00")
"every 6h"         contando dall'avvio del server
"cron 0 4 * * *"   minuto ora giorno mese giorno-della-settimana

Un orario che non esiste nel giorno in cui inizia l'ora legale avviene un'ora dopo; uno che esiste due volte quando finisce avviene una volta sola. Vuoto apposta: niente si riavvia da solo finché non scrivi una riga, per esempio

schedule:
  - "daily 05:00"
max-uptime"0"

Anche dopo questo tempo di attività. "0" = mai.

restart.when-empty3 chiavi

Riavvia appena non c'è nessuno online, se è acceso da almeno questo tempo, dentro la finestra. Un conto alla rovescia breve, annullato se entra qualcuno. after-uptime "0" = spento.

after-uptime"0"
window"02:00-08:00"
countdown"30s"
restart.health8 chiavi

Quando il server sta male per un po'.

enabledfalse
tps-below15.0
mspt-above0

0 = not checked

memory-above-percent90

Heap della old generation ancora in uso DOPO la garbage collection, in %. Il valore dell'heap da solo va a dente di sega tutto il giorno e non significa niente.

for"5m"
min-uptime"1h"
max-per-day2

Un server che continua a guastarsi ha bisogno di una persona, non di un loop. -1 = nessun limite, 0 = non riavviare mai per lo stato di salute.

countdown"5m"

Quanto preavviso ricevono i giocatori.

Su Folia non c'è un TPS unico: lì funziona solo la regola sulla memoria.

restart.postpone5 chiavi
if-players-above0

Solo riavvii programmati e automatici: uno digitato a mano non viene rinviato. 0 = non rinviare mai per i giocatori.

by"15m"
max-times2

Dopo questo numero di rinvii riavvia comunque: un server che non si riavvia mai perché c'è sempre qualcuno connesso è proprio il problema per cui è stata scritta la programmazione.

wait-for-matchestrue

ShadowGames: lascia finire le partite in corso, fino a max-wait.

max-wait"10m"
restart.countdown7 chiavi
marks
[30m, 15m, 10m, 5m, 1m, 30s, 10s, 5s, 4s, 3s, 2s, 1s]+9

I momenti in cui viene detto qualcosa. Il più lungo è quando parte il conto alla rovescia di un riavvio programmato.

chat[30m, 15m, 10m, 5m, 1m, 30s, 10s]
title[1m, 10s, 5s, 4s, 3s, 2s, 1s]
actionbar[30s, 10s, 5s, 4s, 3s, 2s, 1s]
restart.countdown.bossbar3 chiavi
from"5m"
colorRED

PINK BLUE RED GREEN YELLOW PURPLE WHITE

overlayNOTCHED_10

PROGRESS NOTCHED_6 NOTCHED_10 NOTCHED_12 NOTCHED_20

restart.countdown.sound4 chiavi
name"BLOCK_NOTE_BLOCK_PLING"
volume1.0
pitch1.0
at[1m, 10s, 3s, 2s, 1s]
restart.countdown
use-shadowannouncementAUTO

Con ShadowAnnouncement installato parla il suo template "restart": una sola voce per ogni annuncio. AUTO | ALWAYS | NEVER

Le parole sono in lang/<language>.yml, sotto automation.restart, ogni giocatore nella sua lingua.

restart.before1 chiave

Comandi da console a un certo tempo prima del riavvio. Un comando il cui tempo è già passato quando parte il conto alla rovescia (un riavvio chiesto con dieci secondi) viene eseguito subito.

1m[save-all]
restart
proxy-send-to""

Manda i giocatori a questo server della tua rete invece di espellerli (canale BungeeCord; su Velocity attiva bungee-plugin-message-channel). "" = kick, con il messaggio in lang/.

restart.after-start2 chiavi

Comandi da console dopo il prossimo avvio, una volta che il server è su. Solo dopo un riavvio fatto da questo plugin, mai dopo un crash.

delay"30s"
commands[ ]
tasks1 chiave
tasks.example-reminder6 chiavi

Un blocco per task; il nome lo scegli tu. Il pannello può accendere e spegnere un task ed eseguirlo subito, ma i comandi si scrivono solo qui.

enabledfalse
when["every 30m"]

Stesse forme della programmazione dei riavvii. Vuoto = solo a mano (/sctrl tasks run <name>).

tasks.example-reminder.conditions5 chiavi
min-players5
max-players-1

-1 = no maximum

min-tps17.0

0 = not checked

days[ ]

empty = every day; e.g. [ SAT, SUN ]

between""

e.g. "10:00-23:00"

tasks.example-reminder
run["broadcast: lang:automation.example.reminder"]
console: <command>       una volta, come console
each-player: <command>   una volta per ogni giocatore online, <player> = nome
broadcast: <text>        MiniMessage, oppure lang:<key> per i testi di lang/
randomfalse

true = esegue UNA riga scelta a caso invece di tutte.

missedSKIP

Un orario saltato mentre il server era spento: SKIP | RUN_ONCE

catalog.yml

Il catalogo della suite
24 impostazioni
plugins/ShadowControl/catalog.yml
Note del file

L'elenco dei prodotti della suite. Questo file dice al pannello COSA esiste; se un plugin è installato lo capisce da solo guardando la cartella plugins.

Aggiungere un prodotto = aggiungere una voce qui. Non serve un jar nuovo.

All'aggiornamento questo file viene portato da solo alla nuova versione: quello che hai scritto resta, i prodotti nuovi vengono aggiunti, e una voce che hai cancellato resta cancellata. La copia vecchia è in backup/<date>/; se qualcosa richiede la tua attenzione troverai PORTING-<version>.txt nella cartella del plugin. I prodotti che mancano qui arrivano comunque al pannello, da tre posti:

- il catalogo integrato nel jar, per le voci che mancano qui
- il repository, se annuncia un prodotto che non conosciamo
- il server stesso: un plugin che si chiama Shadow-qualcosa ed è
  installato qui viene mostrato anche se nessuno l'ha descritto
  (lo spegni con catalog.auto-discover in config.yml)
Campi:
  name         il nome esatto dentro il jar del plugin.
               DEVE corrispondere: è la chiave con cui riconosciamo cosa
               ha caricato il server.
  display      come lo leggi nel pannello
  tier         CORE, FREE, FREEMIUM (gratis, con un'edizione Premium
               sbloccata da una chiave) o PREMIUM. Solo informativo.
  icon         un materiale di Minecraft
  command      il comando principale del plugin, per il pulsante "apri" sulla
               scheda. Lascialo vuoto se non ne ha.
  description  due o tre righe, quelle che si leggono nel pannello, in
               inglese: chi legge in una lingua che non ha
               righe sue qui sotto riceve queste
  description-it  le stesse righe in italiano, per chi legge il
               pannello in italiano. Ogni lingua funziona allo stesso modo:
               description-de, description-fr, ...
  display-it   il nome in italiano, solo dove il nome è fatto di parole
  formerly     i nomi che il plugin aveva prima di essere rinominato. Un jar
               che dichiara ancora uno di questi è questo prodotto in una
               versione più vecchia, e aggiornarlo installa il nome nuovo.

Nomi e descrizioni sono ciò che legge un amministratore, quindi puoi scriverli nella tua lingua. Se riscrivi una description e lasci la sua description-it com'è di fabbrica, il tuo testo viene mostrato a ogni lettore, qualunque sia la sua lingua. Tutto il resto qui è un'impostazione.

config-version1
plugins21 chiavi
plugins.shadowcontrol7 chiavi
nameShadowControl
display"ShadowControl"
tierFREEMIUM

Gratis, con un'edizione Premium sbloccata da una chiave.

iconCOMPARATOR
command"/sctrl"
description
["The panel you are looking at.", "It holds the whole suite together."]+1
description-it
["Il pannello che stai guardando.", "Tiene insieme tutta la suite."]+1
plugins.shadowessentials8 chiavi
nameShadowEssentials
formerly[ShadowBasics]

Fino alla 1.0.1 si chiamava ShadowBasics.

display"ShadowEssentials"
tierCORE
iconNETHER_STAR
command"/se"
description
["The heart of the suite: homes, warps, kits,", "VIP, chat and the everyday commands."]+1
description-it
["Il cuore della suite: case, warp, kit,", "VIP, chat e i comandi di ogni giorno."]+1
Ancora 18 voci con la stessa forma di shadowcontrol: shadowpermissions, shadoweconomy, shadowregions, shadowoptimizer, shadowcommand, shadowspawners, shadowcrazychest, shadowskyblock, shadowoneblock, shadowacidisland, shadowbattlepass, shadowquests, shadowminions, shadowcustomizer, shadowcustomizermodels, shadowlogin, shadowblocker, shadowgames
plugins.shadowedit8 chiavi
nameShadowEdit
formerly[ShadowWorldEdit, ShadowCreator]

Fino alla 1.0.2 si chiamava ShadowCreator (e ShadowWorldEdit nelle build di test).

display"ShadowEdit"
tierFREEMIUM
iconBRUSH
command"/shadowedit"
description
["The world editor and the generator.", "WorldEdit and Iris, in a single jar."]+1
description-it
["L'editor di mondi e il generatore.", "WorldEdit e Iris, in un jar solo."]+1

panel.yml

Il pannello
3 impostazioni
plugins/ShadowControl/panel.yml
Note del file

ShadowControl - panel.yml. Tenuto fuori da config.yml apposta: una richiesta di supporto che dice "mandami il tuo config" non deve portarsi dietro la chiave del tuo pannello. Scritto una volta e poi è tuo: gli aggiornamenti non lo toccano mai.

Compilalo e il metodo di riavvio AUTO chiede al tuo pannello Pterodactyl di riavviare il server (Premium): il modo più pulito su un server in hosting.

pterodactyl3 chiavi
api-key""

a CLIENT key (ptlc_...): Account -> API Credentials

server""

the short id in the panel address of this server

Lingue

I testi che il plugin mostra ai giocatori, un file per lingua.

lang/

Testi e messaggi
2 file
plugins/ShadowControl/lang/
Note del file

Formato MiniMessage. I placeholder si scrivono <like-this>. Questo file è l'ultimo ripiego: ogni chiave che manca ovunque altrove viene cercata qui, una chiave alla volta.

Tutti i messaggi che il plugin mostra ai giocatori, un file per lingua. Le chiavi non sono elencate una per una: qui ci sono i file, quanti testi contengono e i segnaposto che usano.

FileLinguaTesti
lang/en_US.yml riferimento English 654
lang/it_IT.yml Italiano 654

Segnaposto più usati

Il plugin li sostituisce con il valore giusto: vanno lasciati scritti così.

  • <prefix>
  • <n>
  • <time>
  • <v>
  • <id>
  • <s>
  • <plugin>
  • <file>
  • <t>
  • <when>
  • <task>
  • <label>
  • <reason>
  • <p>

Gruppi di messaggi

  • prefix 1
  • command 38
  • confirm 14
  • update 42
  • notify 6
  • license 31
  • ai 24
  • ticket 13
  • list 3
  • plugin-status 8
  • info 46
  • status 1
  • changelog 2
  • menu 238
  • plugin-tier 4
  • update-phase 7
  • ticket-status 4
  • format 3
  • automation 169

Altro

Contenuti pronti, esempi, importazioni: i file che si copiano e si modificano come modello.

ai/

L’assistente e i suoi pacchetti
20 file
plugins/ShadowControl/ai/

20 file con la stessa forma. Qui sotto 2 esempi per intero, uno per ogni forma diversa; gli altri sono elencati per nome.

  • assistant.yml
  • packs/shadowacidisland.yml
  • packs/shadowbattlepass.yml
  • packs/shadowblocker.yml
  • packs/shadowcommand.yml
  • packs/shadowcontrol.yml
  • packs/shadowcrazychest.yml
  • packs/shadowcustomizer.yml
  • packs/shadoweconomy.yml
  • packs/shadowessentials.yml
  • packs/shadowgames.yml
  • packs/shadowlogin.yml
  • packs/shadowminions.yml
  • packs/shadowoneblock.yml
  • packs/shadowoptimizer.yml
  • packs/shadowpermissions.yml
  • packs/shadowquests.yml
  • packs/shadowregions.yml
  • packs/shadowskyblock.yml
  • packs/shadowspawners.yml

Esempio ai/assistant.yml

Note del file

Cosa sa l'assistente del TUO server.

Questo file è l'unico che scrivi tu: i pack in packs/ arrivano già pronti, questo no, perché nessuno sa com'è il tuo server tranne te.

Più è preciso, meglio risponde, e meno inventa.

Un consiglio: scrivi le cose che ti chiedono di continuo. Se qualcuno ti chiede come diventare VIP tutte le sere, mettilo qui e smetteranno di chiederlo a te.

Scrivilo nella lingua che parlano i tuoi giocatori: questo è materiale per le risposte, non un'impostazione.

server| This is a Minecraft server with the Shadow suite installed. ⏎ What you really know about this server is in the plugin packs that ⏎ arrive together with the question: those are the real commands here, and ⏎ they are th …

La storia del server, in prosa. Quello che racconteresti a qualcuno che entra oggi.

Continua a leggere

Ciò che è scritto qui sotto funziona dal primo minuto: dice ciò che è vero di qualsiasi server che usa questa suite, e dice all'assistente di ammettere ciò che non sa invece di inventarlo. Niente qui è un segnaposto, quindi lasciarlo così com'è non ti costa niente.

Riscriverlo resta comunque l'ora migliore che puoi dedicare all'assistente. Cosa vale la pena aggiungere, in ordine di quanto spesso viene chiesto:

- il nome del server e che tipo di server è (survival, skyblock,
  minigiochi, roleplay)
- le regole per cui la gente viene davvero punita
- come si diventa VIP, o come si sale di rank
- cosa NON ha questo server: metà delle risposte sbagliate nascono da
  qualcosa che viene spiegato e che qui non esiste
- dove si segnalano i problemi seri, e cosa fate al riguardo
- gli orari degli eventi, e quando si resetta la mappa
style""

Una riga in più sul tono, se ti serve. Lascia vuoto per il tono normale.

Esempio ai/packs/shadowacidisland.yml

Note del file

Pack di prompt per ShadowAcidIsland.

Entra in gioco solo se ShadowAcidIsland è installato su questo server, e solo quando il router decide che la domanda riguarda questo argomento. È esattamente a questo che servono le keywords: mettici le parole che usano davvero i tuoi giocatori.

I comandi qui sotto sono quelli reali del plugin. Se ne cambi uno, cambialo anche qui: l'assistente non li scopre da solo, e un comando sbagliato detto con sicurezza è peggio di un "non lo so".

idshadowacidisland
pluginShadowAcidIsland
summary"The AcidIsland mode: an ocean that burns, the acid tide the whole server lives through together, and the purifier that pushes the acid back."
keywords
[acidisland, "acid island", acid, ocean, sea, tide, purifier, "water purifier", burns, "it burns me", "the water hurts", island, "my island", storm, "how not to die"]+12

Come chiamano davvero queste cose i tuoi giocatori.

commands
["/island - opens the island panel (alias /is, /sis)", "/island create - creates your island", "/island home - takes you back to your island", "/island sethome - moves the island's arrival point", "/island visit <player …+26

I comandi reali, esattamente come si digitano.

howto| The difference to explain first is this: it is not the void, it is an OCEAN, ⏎ and that ocean burns. Anyone who ends up in the water takes damage. It is the ⏎ number one question from new players ("why does the water …

Tutta la documentazione