Contenido generado con IA — puede contener errores.

Protecciones

Administrar protecciones

El menú de administración de protecciones, el editor de tiers en el juego, importar ProtectionStones, retirar terreno inactivo, funcionar con o sin WorldGuard y los permisos.

Lo que solo hace el staff con las protecciones: encontrar cualquier protección de la red y arreglarla, editar tiers sin tocar el archivo, traer las regiones de ProtectionStones y limpiar el terreno donde ya no juega nadie. Todos los menús y comandos de esta página necesitan exyliasurvivalcore.protections.admin.

Permisos

No se declara nada en plugin.yml, así que ningún permiso tiene valor por defecto: hay que concederlos. Los operadores pasan todas las comprobaciones, con la excepción que se explica abajo.

PermisoQué concede
exyliasurvivalcore.protections/protections y todos los subcomandos de jugador
exyliasurvivalcore.protections.selectProteger terreno por selección, mientras selection.enabled esté encendido
exyliasurvivalcore.protections.limit.<n>Tener hasta n protecciones. Cuenta el más alto; sin ninguno, settings.default-limit (3)
exyliasurvivalcore.protections.bypassRomper, colocar y usar cualquier cosa en todas las protecciones, y entrar en todas. Solo cuando está puesto explícitamente
exyliasurvivalcore.protections.adminLos comandos y menús de administración; entrar en todas las protecciones; contar como dueño de todas en los menús y comandos

Hay dos más que escribes tú: el permission de un tier, necesario para colocar y comprar su núcleo, y el permission de un nivel de mejora, necesario para alcanzarlo.

Admin no es bypass

exyliasurvivalcore.protections.admin cuenta como dueño, así que a un admin que rompe el núcleo de otro se le ofrece recogerlo, y se queda el objeto. No le deja romper ni colocar un solo bloque dentro. Eso lo hace exyliasurvivalcore.protections.bypass, y solo cuando el permiso está puesto en el jugador: un operador pasa la comprobación de admin y aun así no construye donde no es miembro.

Comandos

ComandoQué hace
/protections adminEl menú de administración
/protections admin give <jugador> <tier> [cantidad]Dar núcleos de un tier, de 1 a 64
/protections admin migrate <INTERNAL|WORLDGUARD>Cambiar el backend, escribirlo en la configuración y trasladar todas las regiones de este servidor
/protections admin import protectionstones [--dry-run]Convertir regiones de ProtectionStones en protecciones
/protections admin cleanup <días> [preview|confirm] [--include-unknown]Retirar las protecciones donde nadie ha jugado en esos días

give y migrate, import y cleanup también funcionan desde la consola.

El menú de administración

/protections admin lista todas las protecciones de la red, ordenadas por dueño y luego por nombre. Cinco filtros la acotan:

FiltroCómo se fija
DueñoSe escribe; cualquier dueño cuyo nombre lo contenga
NombreSe escribe; una protección cuyo nombre lo contenga, o cuyo id empiece por ello
MundoCada clic pasa al siguiente mundo con alguna protección, y luego vuelve a cualquiera
ServidorCada clic pasa al siguiente servidor, y luego vuelve a cualquiera
EstadoCualquiera → normal → asaltable → abandonada → en venta → en alquiler

El estado de una protección es lo más urgente de ella, en este orden: asaltable, abandonada, en venta, en alquiler, normal. Los filtros de cada admin son suyos y se mantienen hasta que se reinicia el servidor.

Los botones editor de tiers y limpieza de inactivas abren las secciones de abajo. Una protección abre su pantalla de administración:

BotónQué hace
Abrir como dueñoLa pantalla de gestión de la protección; un admin pasa allí todas las comprobaciones de dueño y rol
TeletransportarA su hogar, o encima del núcleo si no tiene, en cualquier servidor, con el calentamiento del hogar
LogsSu registro de auditoría
Fijar nivelDe 0 al nivel más alto del tier. Subir hace crecer el terreno como una mejora; bajar conserva el terreno
TraspasarSe la da a un jugador, digan lo que digan sus límites. Los miembros se quedan o se van según market.keep-members
VidasCon los asaltos activos: fijar sus vidas, terminando cualquier asalto y enfriamiento, o limpiar el asalto para devolver todas las vidas
MantenimientoCon el mantenimiento activo: perdonar un abandono; no se debe nada y el siguiente periodo empieza ahora
Borrado forzadoLa borra haga lo que haga; su banco se paga al dueño

Cada acción de admin se escribe en el log de la protección como hecha por un admin.

Fijar nivel comprueba menos que una mejora

Subir el nivel desde la pantalla de administración solo se rechaza si el terreno ampliado se solaparía con otra protección. A diferencia de la mejora de un jugador, no comprueba settings.min-distance, las regiones ajenas de WorldGuard ni el borde del mundo.

El editor de tiers

El botón editor de tiers lista cada tier con su tamaño, altura, precio en tienda, límite y cuántas protecciones de la red lo usan. Nuevo tier pide un id — hasta 32 caracteres de a-z, 0-9, - y _ — y lo abre con los campos por defecto.

BotónEscribeEntrada
Bloque núcleomaterialEnseñar un objeto; tiene que ser un bloque colocable
NombrenameTexto, con tokens de color y &l
LoreloreTexto, con las líneas separadas por |
RadioradiusDe 0 a 512
AlturaheightClic para alternar entre FULL y CUBOID
Altura cuboidey-radiusDe 0 a 512
Precio en tiendaprice0 o más; 0 lo deja fuera de la tienda
MonedacurrencyClic para pasar a la siguiente moneda de la economía, y luego volver a la de por defecto
PermisopermissionTexto; - para ninguno
LímitelimitDe 0 a 1000; 0 sin límite
Vidasraids.tier-lives.<tier>De 1 a 100
Mantenimientoupkeep.tier-costs.<tier>0 o más
FlagsflagsUn interruptor por flag, para los flags con los que empieza una protección nueva

Cada cambio reescribe modules/protections/config.yml, así que todos los servidores que leen ese archivo lo recogen. Las vidas y el coste de mantenimiento de un tier se guardan en sus propias secciones, y sin editarlos el tier se queda con raids.default-lives y upkeep.default-cost.

Borrar tier se rechaza mientras cualquier protección de la red use el tier, y para el tier que nombra selection.tier. Los objetos núcleo de un tier borrado dejan de funcionar: colocar uno se rechaza.

Cambiar un tier no llega a las protecciones que ya existen

Las protecciones conservan la caja que recibieron; un radio o una altura nuevos solo se aplican a los núcleos colocados después. El cambio delicado es el del bloque núcleo: un núcleo solo se quita del mundo mientras siga siendo el bloque del tier, así que borrar, recoger u ocultar una protección colocada con el bloque anterior deja ese bloque en pie.

Importar ProtectionStones

/protections admin import protectionstones convierte regiones de ProtectionStones en protecciones. Necesita WorldGuard activo; ProtectionStones puede estar ya desinstalado, porque WorldGuard conserva las regiones y sus flags. Ejecútalo antes con --dry-run: informa de lo que pasaría y no cambia nada.

Recorre todos los mundos cargados de este servidor y toma cada región llamada ps<x>x<y>y<z>z. El núcleo es el bloque al que apunta ese nombre, y la caja de la región pasa a ser el terreno.

RegiónPasa a ser
ps-block-materialEl tier: primero import.tier-map — el bloque tal como está escrito, como PLAYER_HEAD:Notch, y luego sin el sufijo —, después el tier que se coloca con el mismo bloque y después import.default-tier
Primer dueñoEl dueño
Otros dueñosMiembros con import.owner-role
MiembrosMiembros con import.member-role
ps-nameEl nombre, como texto plano de hasta 32 caracteres; sin él, el nombre por defecto
ps-homeEl hogar; sin él, encima del núcleo
pvp, mob-spawning, fire-spread, crop-growth, leaf-decayEl flag del mismo nombre
tnt, creeper-explosion, other-explosionexplosions
water-flow, lava-flowliquid-flow
entryvisitor-entry

Un flag que la región nunca fijó conserva el valor por defecto del tier. Cuando varios flags de WorldGuard alimentan uno solo, basta con que uno deniegue para apagarlo. Un rol que la protección no tiene se cambia por su primer rol distinto de visitor.

ClavePor defectoQué hace
import.tier-map{}Bloque de ProtectionStones e id de tier
import.default-tiersmallEl tier para los bloques que no coinciden con nada; vacío salta esas regiones
import.owner-roletrustedEl rol que reciben los dueños que no son el primero
import.member-rolememberEl rol que reciben los miembros
import.remove-source-regionsfalseSi cada región importada se quita de WorldGuard

Una región se queda fuera, y se lista con el motivo, cuando no es un cuboide (las regiones fusionadas de ProtectionStones son polígonos), no tiene dueño, no tiene tier o se solapa con una protección que ya existe o con otra que la misma ejecución ya tomó. El informe cuenta las importadas, las ya importadas, las solapadas y las saltadas, y lista los diez primeros problemas.

El id de una protección importada sale de su servidor, su mundo y su región, así que volver a ejecutar la importación salta lo que ya trajo. No se comprueban los límites, y cada protección pertenece al servidor que ejecutó la importación.

Las regiones conservadas siguen actuando en WorldGuard

Con import.remove-source-regions apagado, que es lo de por defecto, las regiones de ProtectionStones se quedan en WorldGuard y siguen haciendo cumplir a sus antiguos dueños y miembros junto a la protección nueva. También cuentan como regiones ajenas: mejorar una protección importada, fusionarla o moverla sobre su antigua región se rechaza con el mensaje de solape con WorldGuard hasta que la región se quite o se añada a settings.allowed-world-guard-regions. Enciende la clave para quitar cada región al importarla; un --dry-run avisa cuando está encendida.

Limpieza de inactivas

Retira las protecciones cuyo dueño y miembros han dejado de jugar. Desde el menú, el botón limpieza de inactivas pregunta cuántos días — de 1 a 3650, ofreciendo primero cleanup.default-days (30) — y lista lo que se iría. Desde el comando, /protections admin cleanup <días> muestra el recuento y las diez primeras, y con confirm la ejecuta.

Una protección se retira cuando:

  1. Su dueño y todos sus miembros se vieron por última vez hace más de esos días. Los miembros de clan no cuentan: un clan se añade entero.
  2. Nadie en ella es desconocido — nunca visto —, salvo con --include-unknown o el interruptor jugadores nunca vistos del menú.
  3. Nadie la alquila ahora mismo, con cleanup.skip-with-tenants.
  4. Su banco no guarda nada, con cleanup.skip-with-bank.

"Visto por última vez" es la última entrada o salida de un jugador en cualquier servidor de la red, y ahora mismo mientras está conectado.

ClavePor defectoQué hace
cleanup.default-days30Los días que el menú propone primero
cleanup.skip-with-tenantstrueConservar las protecciones alquiladas ahora mismo
cleanup.skip-with-bankfalseConservar las protecciones con dinero en el banco. Apagado: el dinero se paga al dueño
cleanup.batch-size20Protecciones retiradas por tick

La retirada va de batch-size en batch-size por tick, y vuelve a juzgar cada protección antes, así que un dueño que ha vuelto desde la vista previa conserva su terreno. Cada una queda registrada como retirada por la limpieza de inactivas.

Nadie está inactivo antes de que el módulo lo haya visto

Cuando cargan las protecciones, cada dueño y miembro sin momento de última vista se registra como visto en ese momento. En un servidor que acaba de empezar a usar el módulo no se retira nada hasta que pasen esos días, y "desconocido" solo cubre a los jugadores añadidos desde el último arranque que no han entrado.

WorldGuard

WorldGuard es una dependencia opcional. El módulo pregunta si hay un plugin llamado WorldGuard activo sin cargar ninguna clase de WorldGuard, así que un servidor sin él activa las protecciones con normalidad y funciona con el backend INTERNAL.

Sin WorldGuardQué pasa
settings.backend: WORLDGUARDEl módulo funciona como INTERNAL y deja en la consola Protections are set to the WORLDGUARD backend, but WorldGuard is not enabled. Falling back to INTERNAL.
/protections admin migrate WORLDGUARDSe rechaza: WorldGuard no está activo en este servidor
/protections admin import protectionstonesSe rechaza igual
Colocar, mover, mejorar, fusionarNo hay comprobación de regiones ajenas; no hay regiones que comprobar

Con WorldGuard activo, colocar terreno comprueba las regiones ajenas en los dos backends, y el backend WORLDGUARD refleja cada protección de este servidor como una región, como se explica en Protecciones.

Si WorldGuard está o no se decide al activarse el módulo. Instalarlo después requiere reiniciar.

Migrar. /protections admin migrate WORLDGUARD escribe settings.backend y crea una región por cada protección de este servidor; migrate INTERNAL quita de todos los mundos cargados todas las regiones cuyo id empieza por sc_ps_. La respuesta dice cuántas protecciones de este servidor se sincronizaron. Cada servidor de una red migra las suyas.

¿Falta algo en esta página? Dínoslo en Discord