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.
| Plugin | Para qué |
|---|---|
packetevents | Obligatorio. 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. |
ExyliaLib | Obligatorio, 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. |
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
| Plugin | Qué añade |
|---|---|
PlaceholderAPI | Los placeholders del plugin en otros plugins: scoreboards, tab, hologramas. Ver Placeholders. Los hologramas de las cajas funcionan sin él. |
ExyliaEconomy o Vault | Dinero 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. |
ExyliaSurvivalCore | Sus 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/.
| Archivo | Contenido |
|---|---|
loader.yml | Lo escribe el cargador. Una compra en BuiltByBit no necesita nada aquí: la licencia está en el jar. |
config.yml | Lo 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.yml | Las rarezas, la parte de la caja que cubre cada una y sus celebraciones. Ver Recompensas y rarezas. |
animations/<id>.yml | Un archivo por animación: tiempos, tamaños, bloques, sonidos y las líneas de efecto de cada fase. Ver Animaciones. |
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, 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.
| Tabla | Guarda |
|---|---|
crates | Una 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_keys | Una fila por llave: su id, nombre e ítem. |
crates_blocks | Una fila por bloque en el que está una caja, con el servidor en el que está. |
crates_players | Una 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_openings | Una 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.
| Tabla | Tipo |
|---|---|
crates, crates_keys, crates_blocks | setup: lo construye el staff |
crates_players | account: saldos de llaves, contadores de garantía y aperturas hechas, que sobreviven a una temporada |
crates_openings | history |
/exylialib resetplayer <jugador> ExyliaCrates @account @history [código]borra los saldos, los contadores de garantía y el historial de un jugador. Unresetplayersin tipos no los toca: sus tipos por defecto sonprogress,worldycache, y este plugin no guarda nada de eso./exylialib wipe ExyliaCrates crates_openings [código]vacía el historial;@historyhace 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.
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.openedycrates.<id>.openedque 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