Contenido generado con IA — puede contener errores.

Empezar

Instalación

El jar del cargador y la licencia, las dependencias y lo que añade cada plugin opcional, los archivos que genera, la base de datos, las redes y los servidores que usaban las cajas de ExyliaSurvivalCore.

Conseguir el plugin

ExyliaCrates es un plugin premium, a la venta en BuiltByBit. Se distribuye con el cargador Lukittu, así que el archivo que instalas es el jar del cargador, Exylia-Crates-Loader.jar. Comprado en BuiltByBit, la licencia va incluida en ese jar: no hay clave que escribir. El cargador comprueba la licencia en cada arranque y después le pasa el control al plugin.

Antes de empezar

El servidor tiene que ser Paper 1.21.1 o superior, o Folia 1.21.4 o superior, con Java 21.

PluginPara qué
packeteventsObligatorio. Está en depend, así que sin él el servidor no carga ExyliaCrates. Los hologramas, los iconos flotantes y todas las animaciones se dibujan con paquetes.
ExyliaLibObligatorio, versión 1.448.1 o superior. Configuración, menús y preguntas, el editor de recompensas, la base de datos, hologramas, displays, efectos y el registro de staff.
ExyliaLib figura como opcional, y se instala sola

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 reiniciar. En un servidor con una versión anterior a la 1.448.1 deja la nueva preparada en la carpeta de actualizaciones y lo avisa en consola; reinicia otra vez para aplicarla. Sin acceso a la red se salta la instalación y lo vuelve a intentar en el siguiente arranque — pon ExyliaLib.jar en plugins/ a mano.

Plugins opcionales

PluginQué añade
PlaceholderAPILos placeholders del plugin en otros plugins: scoreboards, tab, hologramas. Ver Placeholders. Los hologramas de las cajas funcionan sin él.
ExyliaEconomy o VaultDinero como coste de apertura, a través de la economía de ExyliaLib. Sin economía, una caja que cuesta dinero no se puede abrir: al jugador se le dice que le falta la cantidad. Ver Llaves y costes.
ExyliaSurvivalCoreSus estadísticas cuentan crates.opened y crates.<id>.opened para misiones y temporadas, y sus potenciadores pueden multiplicar los premios de las cajas con la fuente crates. Ver Aperturas.

Instalar

Copia los jars

Exylia-Crates-Loader.jar y packetevents en plugins/. Añade PlaceholderAPI o una economía ahora 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, tiers.yml, los once archivos de animación, sus mensajes y menús, y crea sus tablas. La consola termina con ExyliaCrates enabled.

Crea una caja

Ejecuta /cratesadmin como operador. Ver Primeros pasos.

Archivos generados

Todos están en plugins/ExyliaCrates/.

ArchivoContenido
loader.ymlLo escribe el cargador. Una compra en BuiltByBit no necesita nada aquí: la licencia está en el jar.
config.ymlLo que comparten todas las cajas del servidor: la varita, la apertura múltiple, la retención del historial, los anuncios, el radio para mirar, la aceleración, el holograma, el bucle en reposo y el efecto al recibir llaves. Ver Configuración.
tiers.ymlLas rarezas, la parte de la caja que cubre cada una y sus celebraciones. Ver Recompensas y rarezas.
animations/<id>.ymlUn archivo por animación: tiempos, tamaños, bloques, sonidos y las líneas de efecto de cada fase. Ver Animaciones.
database.ymlDónde se guardan las filas, y Redis. Lo escribe ExyliaLib.
lang/<idioma>/messages.ymlCada línea que envía el plugin, las líneas del holograma, los ítems de llave y de varita, las preguntas y los textos de las pantallas.
lang/<idioma>/menus/user/Las tres pantallas de jugador: la lista de cajas de /crates, el contenido de una caja y el historial. Puedes editarlas.
lang/<idioma>/menus/admin/Las diez pantallas de staff: la lista de cajas, la vista general de una caja y sus secciones, el selector de animación, la lista de llaves y una llave. Se reescriben desde el jar en cada arranque.

El plugin trae inglés, español, francés, portugués, ruso y turco. Sigue el idioma configurado en el propio config.yml de ExyliaLib.

La base de datos

Las cajas, las llaves, los bloques donde están, el saldo y el contador de garantía de cada jugador y el historial son filas de la base de datos a la que apunta database.yml — H2 en un archivo por defecto, o MySQL, MariaDB, PostgreSQL o MongoDB a través de ExyliaLib.

TablaGuarda
cratesUna fila por caja: nombre, icono, costes, recompensas, recompensas por llave, garantía, animación, público y dónde están su icono y su holograma.
crates_keysUna fila por llave: su id, nombre e ítem.
crates_blocksUna fila por bloque en el que está una caja, con el servidor en el que está.
crates_playersUna fila por jugador y caja o llave: el saldo de llaves, las aperturas desde que la garantía pagó por última vez, las aperturas hechas y las llaves recibidas estando fuera.
crates_openingsUna fila por recompensa ganada: quién, qué caja, qué, su rareza, cuándo.

Dos tablas más vienen de ExyliaLib en la misma base de datos: exylia_pending_rewards, donde los premios y los ítems de llave que no se pudieron entregar esperan a la siguiente entrada del jugador, y el registro de staff.

Borrar y reiniciar datos

El plugin no tiene comando propio de borrado o reinicio: /exylialib wipe y /exylialib resetplayer de ExyliaLib cubren sus tablas, cada una clasificada según lo que guarda. Ver Comandos de ExyliaLib.

TablaTipo
crates, crates_keys, crates_blockssetup: lo construye el staff
crates_playersaccount: saldos de llaves, contadores de garantía y aperturas hechas, que sobreviven a una temporada
crates_openingshistory
  • /exylialib resetplayer <jugador> ExyliaCrates @account @history [código] borra los saldos, los contadores de garantía y el historial de un jugador. Un resetplayer sin tipos no los toca: sus tipos por defecto son progress, world y cache, y este plugin no guarda nada de eso.
  • /exylialib wipe ExyliaCrates crates_openings [código] vacía el historial; @history hace lo mismo por tipo.
  • Un borrado de temporada (@season) conserva cajas, llaves, saldos e historial.

Los dos piden primero un código escrito y guardan un volcado antes de borrar. Reinicia tras un wipe; un reinicio de jugador lo expulsa, y lo encuentra hecho cuando vuelve a entrar.

Redes

Apunta todos los servidores a la misma base de datos y compartirán cajas, llaves, saldos e historial. Los bloques son de cada servidor: cada uno registra solo los bloques de caja colocados en él.

Un saldo de llaves vale lo mismo en todas partes. Las llaves que se le suman se suman en la propia base de datos, y un gasto, una retirada o un ajuste bloquea la fila en toda la red, así que una compra en la tienda que llega a un servidor mientras el jugador abre una caja en otro cuenta las dos cosas. Con Redis configurado en database.yml, un saldo cambiado en un servidor llega a los demás al instante.

Las cajas y las llaves se leen una vez, al arrancar

Cada servidor lee las cajas y las llaves al arrancar y trabaja con esa copia. Una caja o una llave editada en un servidor — recompensas, costes, nombre, animación — llega a los demás en su próximo reinicio, y un servidor que guarda su copia antigua de una caja la escribe encima de la nueva. Edita las cajas en un solo servidor y después reinicia los demás.

Si vienes de ExyliaSurvivalCore

El módulo de cajas de ExyliaSurvivalCore se ha movido aquí, y no se importa nada. Sus tablas (sc_crates, sc_crate_blocks, sc_crate_players, sc_crate_openings) no se leen; las cajas, llaves y bloques se vuelven a crear desde /cratesadmin.

Hay dos cosas que se mantienen solas:

  • Los ítems de llave que los jugadores ya tienen. Un ítem que entregó el survival core sigue abriendo cajas, siempre que aquí exista una llave con el mismo id. Crea las llaves con los ids que tenían las cajas antiguas.
  • Las estadísticas. Una versión de ExyliaSurvivalCore sin el módulo de cajas cuenta las aperturas a partir del evento de este plugin, con los mismos nombres crates.opened y crates.<id>.opened que leen sus misiones.

Los nodos de permiso cambiaron: exyliasurvivalcore.crates.use y exyliasurvivalcore.crates.admin ya no se comprueban. Da exyliacrates.use y exyliacrates.admin en su lugar.

Actualizar

Sustituye el jar del cargador y reinicia. Se conservan tu config.yml, tiers.yml, los archivos de animación, los mensajes y los menús de jugador; las claves nuevas se añaden con su valor por defecto. Si vienes de la 1.0.0, tiers.yml se migra de bandas de peso a bandas de parte de la caja y sus celebraciones de serie se suavizan; ver Recompensas y rarezas. Los menús de staff de menus/admin/ se reescriben desde el jar en cada arranque, así que una edición ahí no sobrevive a un reinicio.

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