Instalación
Descarga, dependencias, cómo se instala ExyliaLib sola, los archivos que genera el plugin, la base de datos y las actualizaciones.
Descarga
ExyliaMines es gratuito. Descarga ExyliaMines.jar desde la
última release de GitHub; cada release
adjunta el jar con ese mismo nombre. El código fuente está en el mismo repositorio, bajo la licencia GPL-3.0.
Antes de empezar
| Plugin | Para qué |
|---|---|
packetevents | Obligatorio. Declarado en depend, así que sin él el servidor no carga ExyliaMines en absoluto. Los hologramas y el resto de funciones por paquetes de ExyliaLib pasan por él. |
ExyliaLib | Obligatorio, versión 1.230.0 o superior. Configuración, menús, base de datos, regiones, hologramas, botín, efectos, horarios, teletransportes y actualizaciones. |
Opcionales, cada uno añade algo cuando está presente:
| Plugin | Qué añade |
|---|---|
ExyliaSurvivalCore | Sus multiplicadores, la autoventa, los límites de encantamientos y los objetos bloqueados se aplican dentro de las minas, y se importan las minas que antes gestionaba. Ver Integraciones y Migración. |
PlaceholderAPI | Los placeholders del plugin en otros plugins: scoreboards, tab, plugins de hologramas. |
Vault | Dinero en las tablas de botín y en los premios de suerte, a través de la economía de ExyliaLib. |
Worlds o Multiverse-Core | Nada que configurar: una mina en un mundo que uno de ellos carga tarde se prepara en cuanto el mundo carga. |
plugin.yml pone ExyliaLib en softdepend a propósito. Con depend, un servidor sin la librería se
negaría a cargar ExyliaMines y no diría nada más útil que que falta. Como dependencia blanda, ExyliaMines
arranca igualmente — y lo primero que hace es instalar la librería.
Instalar
Coloca los jars
Copia ExyliaMines.jar y packetevents en plugins/. Añade también ExyliaLib.jar si lo tienes; si
no, el siguiente paso lo descarga.
Arranca el servidor
Con ExyliaLib presente, ExyliaMines se activa, escribe sus archivos y crea sus tablas. Deberías ver
ExyliaMines enabled y, cuando las minas se hayan leído de la base de datos, Loaded 0 mine(s).
Reinicia si te lo pidió
Sin ExyliaLib, ExyliaMines la descarga en plugins/ExyliaLib.jar, avisa en consola de que hace falta
reiniciar y se desactiva. Reinicia una vez y arrancan los dos plugins.
Abre el editor
Con exyliamines.admin, ejecuta /minesadmin. Ver Primeros pasos.
Qué hace la descarga de ExyliaLib
La comprobación se hace cada vez que ExyliaMines arranca sin una ExyliaLib en marcha, y va con cuidado:
- Si ya hay un jar llamado
ExyliaLib*.jarenplugins/, no se descarga nada. La librería está ahí y falló al cargar, así que la consola pide corregir los errores mostrados arriba y reiniciar. - Si no, se descarga la última release desde
https://github.com/DiGround-s/ExyliaLib/releases/latest/download/ExyliaLib.jar, con 15 segundos de tiempo de conexión y 30 segundos de lectura. - La descarga solo se conserva si es un jar legible cuyo
plugin.ymldicename: ExyliaLib, y nunca se escribe encima de unExyliaLib.jarque haya aparecido mientras tanto. - Si algo falla —sin internet, un firewall, GitHub caído— la consola lo dice y señala la página desde la que
descargar el jar a mano:
https://github.com/DiGround-s/ExyliaLib/releases/latest.
En todos los casos ExyliaMines se desactiva hasta el siguiente arranque: no puede hacer funcionar ni una sola de sus funciones sin la librería.
Archivos generados
Todos viven en plugins/ExyliaMines/.
| Archivo | Contenido |
|---|---|
config.yml | Idioma, debug, tiempos de reinicio por defecto, intervalos de comprobación, sonidos, alcance de los anuncios y reglas de Fortune. Ver Configuración. |
templates.yml | Los puntos de partida que ofrece Crear desde plantilla. |
boosts.yml | Los potenciadores temporales y el horario que los lanza. |
lang/<idioma>/messages.yml | Cada línea que envía el plugin, los títulos y boss bars, las líneas de los hologramas. |
lang/<idioma>/menus/user/mines.yml | El menú /mines de los jugadores. |
lang/<idioma>/menus/admin/ | Las catorce pantallas de staff. |
database.yml | El motor de base de datos, escrito por ExyliaLib. H2 por defecto, embebido, nada que instalar. |
<idioma> es el idioma en que habla el plugin: language en config.yml, que en una instalación nueva es
default — seguir el idioma de ExyliaLib. Se incluyen inglés, español y portugués (en, es, pt);
cualquier otro código empieza en inglés para que lo traduzcas.
Las pantallas de staff se refrescan desde el jar cada vez que arranca el plugin, para que un botón añadido
en una release llegue a todos los servidores. Lo que edites ahí se pierde; nada de lo que un dueño deba
cambiar vive en esa carpeta. El menus/user/mines.yml de los jugadores es tuyo: una release solo añade lo
que le falte, y un valor por defecto que cambió espera en /exylialib updates para que lo apliques o lo
ignores.
Un archivo de menú que no se puede leer se nombra en consola y esa pantalla no se registra; el resto del plugin sigue funcionando.
Las minas, sus ciclos, los bloques rotos, las estadísticas y los potenciadores en curso viven en la base de datos, no en YAML. Eso es lo que permite que varios servidores compartan una base de datos: cada mina pertenece al servidor donde se creó, y cada servidor carga solo las suyas.
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. Es perfectamente válido para un solo servidor.
Para compartir datos entre servidores, edita database.yml:
database:
type: mysql
settings:
max-pool-size: 0
mysql:
host: 127.0.0.1
port: 3306
database: minecraft
username: root
password: ""Motores soportados: h2, mysql, mariadb, postgresql y mongodb. Solo se lee el bloque que coincide
con type. El archivo es de ExyliaLib; su referencia completa está en la
página de base de datos de la librería.
El plugin crea cinco tablas:
| Tabla | Una fila por |
|---|---|
mines | mina: su servidor, tipo, área, composición o niveles, ajustes de reinicio, teletransportes, holograma, botín, efectos y ajustes de Fortune |
mines_state | mina clásica: bloques picados desde su último relleno y cuándo toca el siguiente |
mines_broken_blocks | bloque de una mina realista esperando a volver a crecer |
mines_stats | jugador y mina: bloques picados allí |
mines_boosts | potenciador en curso en un servidor |
Nada espera a la base de datos mientras el plugin se activa. Las minas se leen de forma asíncrona y se preparan en cuanto llegan, y los contadores de un jugador se leen cuando entra.
Actualizar
ExyliaLib mantiene ExyliaMines al día. plugin.yml indica el repositorio de GitHub del que salen sus
releases (exylia-updates: Exylia-Plugins/ExyliaMines) y la ExyliaLib más antigua sobre la que funciona cada
build (exylia-lib), y la librería hace el resto:
- Comprueba al arrancar y con un temporizador, descarga una release más nueva, verifica que es un jar del mismo plugin en la versión anunciada y la deja preparada para sustituir al jar actual en el siguiente reinicio.
- Una release que necesita una ExyliaLib más nueva que la que estará en marcha se retiene hasta que la librería se ponga al día, así que una actualización nunca deja el plugin sobre una librería demasiado vieja.
- Una nueva versión mayor (2.0.0 tras la 1.x) solo se anuncia, nunca se instala, salvo que permitas las versiones mayores.
/exylialib pluginslanza la comprobación ahora mismo.
Desactívalo, permite las versiones mayores o excluye ExyliaMines por nombre en plugin-updates de
plugins/ExyliaLib/config.yml (enabled, majors, owners, skip).
Para actualizar a mano, sustituye el jar y reinicia. Tus cambios en config.yml, templates.yml,
boosts.yml, messages.yml y el menú de jugadores se conservan, las claves nuevas se añaden con sus
comentarios, y las minas viven en la base de datos.
¿Falta algo en esta página? Dínoslo en Discord