Configurazione
ShadowRegions
Protezione delle zone, tutta a pannelli. Senza WorldEdit e senza comandi da studiare.
Dove sono i file
plugins/ShadowRegions/ Il plugin li crea al primo avvio e li aggiorna da solo alle nuove versioni, senza toccare le tue modifiche.
Applicare le modifiche
/rg reload Rilegge i file senza riavviare il server.
Nessuna impostazione trovata
Prova con un’altra parola, oppure cerca in tutti i plugin.
Impostazioni
I file che decidono come si comporta il plugin. Si parte da qui.
config.yml
Impostazioni generali 97 impostazioni
config.ymlplugins/ShadowRegions/config.yml Note del file
Qui c'è tutto quello che ti serve. Gli altri file sono:
lang/<locale>.yml traduzioni menus/<name>.yml layout delle GUI presets/<name>.yml preset di flag data/regions/*.yml le regioni (modalità YAML)
Con un aggiornamento i tuoi file vengono portati alla nuova versione automaticamente: quello che hai cambiato resta, le vecchie copie sono in backup/<date>/, e se qualcosa richiede la tua attenzione trovi PORTING-<version>.txt in questa cartella.
config-version1general2 chiaviserver-id"server-1"Identifica questo server, usato quando più server condividono un database.
update-checktrueMessaggi
Aggiungere una lingua = mettere un file in lang/. Viene caricato da solo. I testi rivolti ai giocatori stanno lì, non qui.
messages2 chiavidefault-locale"en_US"La lingua usata quando quella del giocatore non è in lang/, e dalla console. Include en_US e it_IT. Imposta qui "it_IT" per un server italiano.
follow-client-localetrueArchiviazione dati
AUTO -> file YAML dentro questa cartella (il default). Nessuna configurazione.
Compila qui sotto l'host MySQL e AUTO passa al database.
YAML -> sempre file, anche quando ci sono le credenziali
MYSQL -> sempre il databaseContinua a leggere
Le regioni stanno in memoria in ogni caso: il backend riceve solo le scritture, quindi le prestazioni sono identiche tra i due. Per passare dall'uno all'altro: /rg storage migrate
storage7 chiavitypeAUTOflush-interval"20s"Ogni quanto le regioni modificate vengono scritte su disco. Vengono scritte subito anche con /rg save e allo spegnimento.
table-prefix"sr_"Prefisso delle tabelle, usato solo dal backend database.
fail-safetruetrue -> se lo storage muore restiamo attivi, in sola lettura false -> se lo storage muore il plugin si disattiva da solo
storage.backup3 chiavienabledtrueon-startuptruekeep10storage.mysql6 chiavihost""Host vuoto = restiamo sui file locali.
port3306database"shadowregions"username""password""storage.mysql.properties3 chiaviuseSSLfalsecharacterEncoding"utf8mb4"serverTimezone"UTC"storage.pool5 chiavimaximum-size6minimum-idle2connection-timeout"10s"idle-timeout"10m"max-lifetime"30m"Protezione
Come si comporta il motore quando qualcuno prova a fare qualcosa.
protection9 chiavienabled-worlds[ ]Vuoto = tutti i mondi. disabled-worlds vince su enabled-worlds.
disabled-worlds[ ]deny-build-for-non-memberstruetrue = una regione appena creata protegge subito (comportamento di WorldGuard) false = una regione senza flag non ferma nessuno
auto-bypasstrueChi ha il permesso di bypass lo ha già attivo, senza doverlo attivare.
op-bypasstruebypass-ignores-effectsfalsefalse = greeting, modalità di gioco ed effetti valgono anche per chi è in bypass
event-priorityNORMALLOWEST | LOW | NORMAL | HIGH | HIGHEST
fail-closedfalseSe un listener lancia un'eccezione: false lascia passare l'azione, true la blocca.
deny-message-cooldown"2s"Anti spam per i messaggi di rifiuto, per giocatore.
Selezione
selection5 chiaviwandWOODEN_AXEmatch-by-materialfalsetrue = qualsiasi item di quel materiale funziona come bacchetta false = solo la bacchetta data da /rg wand (ha un tag interno)
max-volume50000000 = nessun limite
max-polygon-points150Ogni vertice in più è un passo in più per decidere se un blocco è dentro, e questo gira dentro gli eventi. 150 è già una forma che nessuno disegna a mano; oltre 512 il plugin non va comunque.
persistfalsetrue = la selezione sopravvive a un riavvio
Limiti
Si alzano per gruppo con i permessi:
shadowregions.limits.regions.<n> shadowregions.limits.volume.<n>
e si tolgono del tutto con shadowregions.limits.bypass
limits5 chiavimax-regions-per-player0max-volume-per-player0min-size1max-children0limits.claim5 chiavienabledtrueworlds[ ]min-size5max-size500overlap-allowedfalseContorno di particelle
preview9 chiavienabledtrueradius64Oltre questa distanza dal giocatore non viene disegnato nulla.
max-points600Numero massimo di punti disegnati in un passaggio.
interval10Tick tra un disegno e il successivo.
color-edge"#FFFFFF"color-normal"#55FF55"color-expand"#55FF55"color-contract"#FF5555"color-shift"#55FFFF"editor6 chiaviEditor dell'area (il menu con un pulsante per lato) docs/11-EDITOR-AREA.md
default-step1steps[1, 2, 5, 10, 25, 50, 100]shift-multiplier5undo-depth32auto-previewtrueconfirm-on-closetruePrestazioni. Non c'è quasi mai motivo di toccarle
docs/15-PERFORMANCE.md
index1 chiavemax-chunks4096Oltre questa larghezza in chunk una regione finisce nella lista "large" invece di riempire migliaia di bucket.
query-cache2 chiavienabledtruettl500millisecondi
Flag che agiscono nel tempo: cura, cibo, effetti, modalità di gioco, volo
effects2 chiavitick-interval20tick tra un passaggio e il successivo
restore-on-exittrueripristina modalità di gioco, volo e velocità quando si esce dalla regione
La flag chunk-unload
Una regione con chunk-unload deny tiene caricati i chunk del suo box (chunk ticket dei plugin di Paper: nel mondo non viene scritto nulla, e spariscono quando il plugin si ferma). Una regione più larga di così, in chunk, viene saltata con un avviso in console.
chunk-unload1 chiavemax-chunks-per-region256Cronologia delle modifiche (/rg history, /rg undo)
history3 chiavienabledtruekeep-per-region50keep-days30Regole condizionali
Flag che si attivano da sole quando succede qualcosa:
/rg condition arena add pvp deny when weather thunder
Vengono valutate a intervalli, mai dentro un evento, quindi una regione con regole costa quanto una senza al momento della query. docs/25-CONDIZIONI.md
conditions2 chiavienabledtrueinterval20tick tra una valutazione e la successiva
Vendita, affitto e scadenza
I soldi li sposta il plugin di economia: senza, tutto questo resta inerte. docs/26-VENDITA-E-AFFITTO.md
lease4 chiavienabledtrueon-expiryUNCLAIMDELETE -> alla scadenza la regione viene eliminata UNCLAIM -> alla scadenza resta, ma senza proprietari
warn-before[1d, 1h]con quanto anticipo avvisare il proprietario
check-interval"30s"ogni quanto controllare scadenze e rinnovi
Statistiche per regione (/rg stats)
Ingressi, tempo passato dentro, blocchi piazzati e rotti.
stats2 chiavienabledtruetrack-visitorstruetiene la lista dei visitatori unici. Disattivalo se non ti serve.
Log dei blocchi e /rg rollback
Questo NON sostituisce CoreProtect e non ci prova nemmeno: registra solo le modifiche DENTRO le regioni, con un tetto sulle righe, ed è disattivato di default. Serve a rimettere in piedi lo spawn alle 2 di notte senza installare nient'altro. docs/27-ROLLBACK.md
rollback3 chiavienabledfalsemax-entries200000keep-days7Mappa web
Con Dynmap installato, le regioni compaiono come aree colorate. Senza Dynmap questa sezione non fa nulla.
map1 chiavemap.dynmap7 chiavienabledtruelabel"Region"fill-colour"#7B2FF7"fill-opacity0.25line-colour"#F107A3"line-opacity0.8line-weight2Importazione da altri plugin
import2 chiavion-conflictSKIPSKIP | OVERWRITE | RENAME
backup-beforetruesecurity1 chiaveSicurezza docs/29-SICUREZZA.md
region-console-commandstrueLe flag enter-command / exit-command possono eseguire comandi come console. Impostarle richiede già un permesso apposito (shadowregions.flag.enter-command), ma se non vuoi che una regione possa arrivare alla console in nessun caso, imposta questa a false.
bStats - statistiche d'uso anonime (https://bstats.org)
metrics1 chiaveenabledtrueCosa viene inviato, ogni 30 minuti: che questo server usa ShadowRegions, 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 nulla, e se lo storage è YAML o MySQL. Nessun dato dei giocatori esce dal server: niente nomi, niente UUID, niente indirizzi, niente regioni o coordinate.
Continua a leggere
false lo disattiva solo per questo plugin. enabled: false in plugins/bStats/config.yml lo disattiva per tutti i plugin di questo server in una volta sola.
Diagnostica
debug3 chiavienabledfalsewatchdogfalsescrive un avviso nel log quando un listener supera il suo budget di tempo
log-deniedfalsescrive in console ogni azione bloccata. Molto rumoroso.
blacklist.yml
Cosa non si può proteggere 3 impostazioni
blacklist.ymlplugins/ShadowRegions/blacklist.yml Note del file
Regole che valgono OVUNQUE, dentro e fuori dalle regioni. Servono per le cose che non devono succedere sul server, punto. Una regione sorveglia un'area; la blacklist sorveglia un item.
Finché "enabled" è false questo file non costa nulla: i listener escono alla prima riga.
enabledfalseCome si scrive una regola
- items: una lista di materiali, oppure [ "*" ] per tutti
on: break | place | use | interact | drop | pickup
(se manca, la regola vale per tutte)
actions: deny ferma l'azione
tell lo dice a chi l'ha fatta
notify lo dice a chi ha shadowregions.notify
log lo scrive in console
kick espelle dal server
message: testo MiniMessage da usare al posto di quello predefinitoContinua a leggere
Chi ha shadowregions.blacklist.bypass non viene mai fermato.
Le chiavi qui sopra sono la sintassi e restano in inglese. Il "message" è quello che legge un giocatore, quindi scrivilo nella lingua che parla il tuo server.
default[ ]Queste valgono in tutti i mondi.
Esempi pronti, togli il commento per usarli:
default:
- items: [ TNT, TNT_MINECART ]
on: [ place, use ]
actions: [ deny, notify, log ]
message: "<red>La TNT e disattivata su questo server."- items: [ LAVA_BUCKET ] on: [ place ] actions: [ deny, tell ]
- items: [ BEDROCK, BARRIER, COMMAND_BLOCK, STRUCTURE_BLOCK ] on: [ place, break ] actions: [ deny, notify, log ]
- items: [ SPAWNER ] on: [ break ] actions: [ notify, log ]
worlds{ }Regole extra per un solo mondo. Si aggiungono a quelle di default.
worlds:
world_nether:
- items: [ WHITE_BED, RED_BED ]
on: [ interact ]
actions: [ deny, tell ]
message: "<red>I letti esplodono qui. Te lo sto risparmiando."Lingue
I testi che il plugin mostra ai giocatori, un file per lingua.
lang/
Testi e messaggi 2 file
lang/plugins/ShadowRegions/lang/ Note del file
Questo è l'unico file pensato per essere tradotto. Tutto ciò che legge un giocatore sta qui; qui niente è sintassi.
Formato MiniMessage. I placeholder si scrivono <like-this> e i loro nomi sono fissi: tienili, spostali, ma non rinominarli. Una chiave che manca qui viene presa prima dalla copia di questa stessa lingua dentro il jar, poi dalla lingua predefinita e da en_US, una chiave alla volta.
Un messaggio può essere una semplice stringa o una mappa:
some-key: text: "<red>Text" channel: ACTION_BAR # CHAT | ACTION_BAR | TITLE | SUBTITLE | NONE sound: block.note_block.bass volume: 0.7 pitch: 0.8 cooldown: "2s" # anti spam, per player
Attenzione alle chiavi come "on", "off", "yes" e "no": YAML le legge come true/false se non sono tra virgolette. Scrivile come "on": e "off":.
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.
| File | Lingua | Testi |
|---|---|---|
lang/en_US.yml riferimento | English | 1097 |
lang/it_IT.yml | Italiano | 1097 |
Segnaposto più usati
Il plugin li sostituisce con il valore giusto: vanno lasciati scritti così.
<prefix><region><count><flag><world><value><volume><name><x><z><y><max><size-x><size-y>
Gruppi di messaggi
prefix1common9help56command9selection29region66info11member8flag36protection22editor10preview4admin72dynmap4confirm6input22gui4menu334preset18blacklist10condition20stats9rollback12guide7create1flag-category9flag-type10flag-desc149flag-name149
Altro
Contenuti pronti, esempi, importazioni: i file che si copiano e si modificano come modello.
presets/
I modelli di regione 9 file
presets/plugins/ShadowRegions/presets/ 9 file con la stessa forma. Qui sotto 4 esempi per intero, uno per ogni forma diversa; gli altri sono elencati per nome.
arena-pvp.ymlhome.ymljail.ymlmuseum.ymlno-protection.ymlpublic-farm.ymlsafe-zone.ymlshop.ymlspawn.yml
Esempio presets/public-farm.yml
Note del file
Preset "public-farm": tutti raccolgono, nessuno distrugge.
build: deny è il muro. block-break e block-place ci aprono una porta e allowed-blocks decide quanto è larga quella porta: un materiale che non è nella lista viene fermato prima ancora che parta il controllo di build. I raccolti continuano a cambiare mano, le recinzioni, l'acqua e le chest restano esattamente dove sono.
Nome e descrizione vengono da lang/<language>.yml, sotto preset.public-farm: scrivi invece le parole qui per mostrare le stesse in ogni lingua.
name"lang:preset.public-farm.name"description"lang:preset.public-farm.description"iconWHEATflags15 chiavibuilddenyblock-breakallowblock-placeallowallowed-blocks"WHEAT, CARROTS, POTATOES, BEETROOTS, NETHER_WART, MELON, MELON_STEM, PUMPKIN, PUMPKIN_STEM, SUGAR_CANE, BAMBOO, COCOA, SWEET_BERRY_BUSH, CACTUS, TORCHFLOWER_CROP, PITCHER_CROP"interactallowuseallowchest-accessdenytrampledenycrop-growthallowpvpdenymob-spawningdenytntdenyfire-spreaddenylava-firedenylighterdeny Esempio presets/spawn.yml
Note del file
Preset "spawn": la porta d'ingresso del server.
Qui non costruisce nessuno: senza membri nella regione il motore dice già di no. Ma porte, pulsanti, piastre e banchi da lavoro devono funzionare, altrimenti la costruzione dello spawn è arredamento che nessuno può toccare. "use" non copre i contenitori, quindi le casse restano chiuse lo stesso.
Nome e descrizione vengono da lang/<language>.yml, sotto preset.spawn: scrivi qui le parole invece per mostrare le stesse in ogni lingua.
name"lang:preset.spawn.name"description"lang:preset.spawn.description"iconBEACONflags15 chiaviuseallowpvpdenymob-spawningdenymob-damagedenyfall-damagedenyfire-damagedenydrowning-damagedenytntdenycreeper-explosiondenyother-explosiondenyfire-spreaddenylighterdenyitem-dropdenyhunger-draindenypassthroughdeny Esempio presets/jail.yml
Note del file
Preset "jail": ci entri, non ne esci a piedi.
exit è la flag che fa il lavoro; le due flag di teletrasporto chiudono le solite scappatoie. Chi ha il permesso di bypass non viene mai trattenuto.
Nome e descrizione vengono da lang/<language>.yml, sotto preset.jail: scrivi invece le parole qui per mostrare le stesse in ogni lingua.
name"lang:preset.jail.name"description"lang:preset.jail.description"iconIRON_BARSflags15 chiaviexitdenyexit-via-teleportdenyenderpearldenychorus-fruit-teleportdenyflydenybuilddenyinteractdenyusedenychest-accessdenypvpdenymob-spawningdenymob-damagedenyitem-dropdenyitem-pickupdenyhunger-draindeny Esempio presets/museum.yml
Note del file
Preset "museum": guardare, non toccare.
Nome e descrizione vengono da lang/<language>.yml, sotto preset.museum: scrivi qui le parole per mostrare le stesse in ogni lingua.
name"lang:preset.museum.name"description"lang:preset.museum.description"iconITEM_FRAMEflags12 chiavibuilddenyinteractdenyusedenychest-accessdenyitem-frame-rotatedenyentity-item-frame-destroydenyentity-painting-destroydenyarmor-stand-manipulatedenypvpdenymob-spawningdenyinvincibleallowitem-dropdeny