Instalación
El jar del cargador y la licencia, las dependencias y qué añade cada plugin opcional, los archivos que escribe el plugin, la base de datos, las redes y las actualizaciones.
Conseguir el plugin
ExyliaProtections es un plugin premium, a la venta en la tienda de Exylia.
Se distribuye con el cargador Lukittu, así que el archivo que instalas es el jar del cargador,
Exylia-Protections-Loader.jar. Comprado en BuiltByBit, la licencia va incluida en ese jar: no hay
ninguna clave que introducir. El cargador comprueba la licencia en cada arranque y después cede el control
al plugin.
Antes de empezar
| Plugin | Para qué |
|---|---|
packetevents | Obligatorio. Declarado en depend, así que sin él el servidor no carga ExyliaProtections en absoluto. El selector es un objeto que solo ve el cliente de quien lo sostiene, y la vista previa del borde se dibuja con paquetes. |
ExyliaLib | Obligatorio, versión 1.238.0 o superior. Configuración, menús y preguntas, la base de datos, el selector, la economía, los clanes, los teletransportes, los placeholders y los canales entre servidores. |
plugin.yml pone ExyliaLib en softdepend a propósito: quien la instala es el cargador, así que el
cargador tiene que poder arrancar sin ella. En un servidor sin ExyliaLib descarga la última versión en
plugins/ y pide un reinicio. En un servidor con una versión anterior a la 1.238.0 deja la última
preparada en la carpeta de actualizaciones y lo avisa en la consola; reinicia una vez más para aplicarla.
Sin acceso a la red omite la instalación y lo vuelve a intentar en el siguiente arranque — coloca
ExyliaLib.jar en plugins/ a mano.
Plugins opcionales
| Plugin | Qué añade |
|---|---|
ExyliaSurvivalCore | Sus estadísticas cuentan lo que los jugadores hacen con su terreno — protecciones creadas, compradas, vendidas, alquiladas, mejoradas, asaltos, expulsiones — para que misiones, temporadas y clasificaciones puedan leerlas. Sus ajustes de jugador permiten a cada uno silenciar los títulos de las protecciones y los anuncios de asaltos. Un servidor que viene de su módulo de protecciones las importa; ver Migración. |
ExyliaEconomy o Vault | Las monedas de la tienda, el selector, el banco, el mantenimiento, el alquiler, las ventas, las mejoras y mover un núcleo, a través de la economía de ExyliaLib. Sin ninguna economía, todo precio mayor que 0 se rechaza con "Necesitas … para eso.", así que los núcleos hay que entregarlos con /protections admin give. |
PlaceholderAPI | Los placeholders del plugin en otros plugins: scoreboards, tab, hologramas. Ver Placeholders. |
WorldGuard y WorldEdit | El backend WORLDGUARD, la comprobación de que el terreno nuevo no se solapa con otra región de WorldGuard, y la importación de ProtectionStones. Ver Backends. |
BlueMap, dynmap | Cada protección dibujada en el mapa web, coloreada según su estado. Ver Herramientas. |
Worlds o Multiverse-Core | Figuran para que ExyliaProtections arranque después de ellos: los mundos que cargan al iniciar ya existen cuando las protecciones se preparan y se reflejan. |
Los clanes vienen del plugin de clanes que detecte ExyliaLib — entre ellos Factions, HuskTowns, ZelTeams, Kingdoms, SimpleClans, UltimateClans o ExyliaClans. Sin ninguno, el botón Agregar clan responde "No hay ningún plugin de clanes en este servidor."
Instalar
Coloca los jars
Exylia-Protections-Loader.jar y packetevents en plugins/. Añade ahora WorldGuard, una economía o
un mapa web si quieres lo que aportan.
Arranca el servidor
El cargador escribe loader.yml, comprueba la licencia e instala ExyliaLib si falta. Si tuvo que
instalarla, reinicia una vez más.
Deja que genere
El plugin escribe config.yml, database.yml, messages.yml y sus menús, crea sus tablas y carga
todas las protecciones. La consola termina con ExyliaProtections enabled.
Protege algo
Cualquier jugador ya puede abrir /protections, comprar un núcleo y proteger terreno:
exyliaprotections.use y exyliaprotections.select están activos para todos por defecto. Ver
Primeros pasos.
exyliaprotections.bypass está activo para los operadores por defecto: construyen, abren y entran donde
quieran, y ninguna protección los frena. Prueba las protecciones desde una cuenta sin ese permiso. Ver
Permisos.
Archivos generados
Todos están en plugins/ExyliaProtections/.
| Archivo | Contenido |
|---|---|
loader.yml | Lo escribe el cargador. Una compra en BuiltByBit no necesita nada en él: la licencia está en el jar. |
config.yml | Todos los ajustes: el backend, los límites, el selector, los interruptores de funciones, las claves de cada función, la importación, la limpieza, los roles por defecto y los tipos de núcleo. Ver Configuración. |
database.yml | Dónde se guardan las filas, y Redis. Lo escribe ExyliaLib. |
lang/<idioma>/messages.yml | Cada línea que envía el plugin, títulos, barras de jefe, etiquetas del mapa y los nombres de permisos, flags y acciones del registro. |
lang/<idioma>/menus/user/ | Las 24 pantallas de jugadores: el inicio, la lista, la tienda, la vista general de una protección y sus secciones, miembros, roles, interruptores, expulsiones, registros, mercado, parcelas, alquiler, warps, ventajas y fusión. |
lang/<idioma>/menus/admin/ | Las 5 pantallas de staff: la búsqueda de administración, una protección, la lista de tipos, un tipo y la limpieza. |
.imported-survivalcore | Se escribe cuando la importación de ExyliaSurvivalCore ya se ejecutó. Ver Migración. |
<idioma> es el idioma configurado en el config.yml de ExyliaLib. Se incluyen inglés, español,
portugués y francés (en, es, pt, fr); cualquier otro código parte de los archivos en inglés.
config.yml y messages.yml se escriben a partir de un esquema: una clave que añade una versión aparece
con su valor por defecto, y todo valor que pusiste se conserva. Las pantallas de jugadores de
menus/user/ son tuyas: una versión solo escribe los archivos que faltan, y cuando tiene que cambiar un
diseño sube menu-version al principio de ese archivo, lo reemplaza y guarda el anterior a su lado. Las
pantallas de staff de menus/admin/ son del plugin y se reescriben desde el jar en cada arranque — una
edición ahí no sobrevive a un reinicio.
Base de datos
Por defecto el plugin usa H2: un archivo dentro de la carpeta del plugin, sin servidor, sin
instalación y sin mantenimiento. El motor se elige en database.yml:
database:
type: mysql
mysql:
host: 127.0.0.1
port: 3306
database: minecraft
username: root
password: ""Motores soportados: h2, mysql, mariadb, postgresql y mongodb. El archivo es de ExyliaLib; su
referencia completa, incluido el bloque redis, está en la
página de base de datos de la librería.
| Tabla | Qué guarda |
|---|---|
protections | Una fila por protección: dueño, nombre, tipo, mundo, caja, núcleo, hogar, el servidor al que pertenece y sus datos — miembros, clanes, roles, excepciones, flags, expulsiones, parcelas, nivel, ventajas, mensajes de bienvenida |
protections_logs | El registro de auditoría |
protections_accounts | El saldo del banco y el estado de mantenimiento de cada protección |
protections_listings | Las protecciones en venta |
protections_seen | Cuándo se vio por última vez a cada jugador, para el mantenimiento y la limpieza de inactivos |
protections_rent_offers | Parcelas y protecciones ofrecidas en alquiler |
protections_warps, protections_warp_ratings, protections_warp_visits, protections_warp_totals | Los warps públicos, sus valoraciones y sus visitas |
Los núcleos que no se pudieron entregar — un inventario lleno, un jugador que se desconectó — esperan en
exylia_pending_rewards de ExyliaLib y se entregan en la siguiente conexión del jugador.
Una red
Apunta todos los servidores a la misma base de datos en su database.yml y cada servidor verá todas
las protecciones: listas, límites, mercado, alquiler y warps son de toda la red. Cada protección pertenece
al servidor donde se creó, y solo ese servidor la aplica.
- Activa Redis. Cada servidor mantiene todas las protecciones en memoria. Con Redis en
database.yml, un cambio hecho en un servidor se anuncia y el resto lo vuelve a leer al instante; sin él, los demás servidores solo lo ven tras su siguiente reinicio. - Dale a cada servidor su propio nombre. El servidor de una protección es el nombre que le da el
puente del proxy, o
server-iden el bloqueredisdedatabase.ymlsi no hay puente. Dos servidores con el mismo nombre aplican cada uno las protecciones del otro en mundos con el mismo nombre; renombrar un servidor deja sus protecciones asociadas al nombre antiguo, sin aplicar.
Actualizar
El cargador descarga la versión actual al arrancar, así que reiniciar es actualizar. El jar del cargador solo hay que reemplazarlo cuando una versión lo pide.
Se conservan tu config.yml, messages.yml, database.yml y las pantallas de jugadores. config.yml
lleva una versión y se migra en su sitio cuando una versión renombra o mueve una clave; la consola lo
indica.
No existe /protections admin reload. /exylialib reload vuelve a leer los archivos de menús de todos los
plugins de Exylia, este incluido, así que una edición de un menú se aplica sin reiniciar. Un cambio en
config.yml o messages.yml necesita un reinicio.
¿Falta algo en esta página? Dínoslo en Discord