Instalación
Dependencias y qué activa cada una de las opcionales, primer arranque, los archivos que genera el plugin, dónde se configura la base de datos y qué recarga de verdad una recarga.
Antes de empezar
packetevents es una dependencia dura, como en todos los plugins de Exylia: sin él el servidor se
niega a cargar este. FastAsyncWorldEdit es opcional: está en softdepend, y las zonas de
regeneración se apagan solas sin él y lo dicen en el log.
| Plugin | Para qué |
|---|---|
packetevents | Obligatorio (depend). Los power-ups se dibujan como objetos flotantes a nivel de paquete, los generadores de ítems colorean su brillo con él, y ExyliaLib hace pasar por él sus funciones por paquete. |
FastAsyncWorldEdit | Opcional. Las zonas de regeneración guardan y pegan esquemas a través de él; sin él se quedan apagadas. |
ExyliaLib está en softdepend a propósito — el loader que instala ExyliaLib es el que tiene que
cargar primero para que esa instalación ocurra — pero aquí no funciona nada sin él. Aporta la
configuración, los menús, la base de datos, los placeholders, los hologramas, los marcadores, las
regiones, los asistentes, las entradas por chat, los teletransportes, el scheduler y las fachadas que
leen la economía y los clanes de otros plugins. El plugin no fija ninguna versión mínima de ExyliaLib:
el loader instala la librería y el actualizador de la propia librería la mantiene al día.
Plugins opcionales
Declarados en softdepend, cada uno activa algo concreto:
| Plugin | Qué activa |
|---|---|
PlaceholderAPI | Los placeholders del plugin fuera de él; los requisitos placeholder de ranks.yml; las stats de tipo PAPI, como la playtime que viene de serie. |
WorldGuard | Los ámbitos por región de las reglas de encantamientos y objetos bloqueados. En protecciones: el backend WORLDGUARD, que refleja cada protección como una región de WorldGuard; rechazar terreno que se solape con una región de WorldGuard ajena; y la importación de ProtectionStones. Las protecciones no lo necesitan: el backend por defecto es INTERNAL. |
BlueMap, dynmap | Las protecciones dibujadas en el mapa web, cuando se activan en modules/protections/config.yml. |
Votifier (o NuVotifier) | Que los votos lleguen al módulo votes. Sin él, los votos solo llegan con /voteadmin fake. |
Apollo (Apollo-Bukkit, Apollo-Folia), FeatherServerAPI | El spawn y los homes como waypoints en el cliente. |
Worlds | El manejo de mundos en Folia. |
Hay dos más que no están en plugin.yml y se leen a través de ExyliaLib:
- Vault o PlayerPoints: sus monedas conviven con las que guarda el módulo
economy, y el móduloeconomypuede publicar una de sus propias monedas como la economía de Vault del servidor. Mira Economía. - ExyliaClans o SimpleClans: clanes y alianzas para las salas de duelo y las protecciones. Sin ninguno, nadie está en un clan.
Instalar
Suelta los jars
Copia ExyliaSurvivalCore.jar, ExyliaLib.jar y packetevents.jar en plugins/, y
FastAsyncWorldEdit.jar si quieres zonas de regeneración.
Arranca el servidor
El primer arranque escribe config.yml, messages.yml, una carpeta por módulo bajo modules/,
los menús y las tablas de cada módulo encendido.
Apaga lo que no quieras
Los cincuenta interruptores vienen en true. Pon el resto en false y reinicia — mira
Módulos.
Pon el spawn y da los nodos
/spawn set, y después da a tus grupos sus nodos. No hay nada declarado en plugin.yml, así que
ningún nodo tiene valor por defecto. Mira Primeros pasos.
Avisos que conviene reconocer en consola al arrancar:
No economy is installed: prices and payouts are skipped.— no hay ninguna moneda registrada: el móduloeconomyestá apagado y ni Vault ni PlayerPoints aportan una.Regen zones are off: <razón>— el soporte de esquemas de FastAsyncWorldEdit no se puede usar, así que el módulo de zonas de regeneración carga pero no regenera nada.NuVotifier is not installed: votes only arrive through /voteadmin fake.Missions are on but stats are off: …ySeasons rank stat counters, and the stats module is off: nothing will be ranked.— los dos leen los contadores de stats, que solo mantiene el módulostats.Protections are set to the WORLDGUARD backend, but WorldGuard is not enabled. Falling back to INTERNAL.
Archivos generados
Todos viven en plugins/ExyliaSurvivalCore/.
| Ruta | Contenido |
|---|---|
config.yml | debug, los cincuenta interruptores de módulo y la sección teleport. |
messages.yml | Cada línea que manda el plugin, en cincuenta y una secciones. |
modules/<id>/config.yml | Uno por cada módulo que tiene ajustes. |
modules/<id>/<datos>.yml | Las escaleras: rangos, recompensas, categorías, grupos, mundos, stats, misiones, reglas. |
modules/votes/votes.yml, modules/seasons/seasons.yml, modules/trade/window.yml | Archivos de serie que se mantienen al día sin deshacer tus ediciones. |
modules/<id>/menus/, menus/currency_select.yml | Los sesenta y nueve menús fuera de menus/admin/. Tuyos para editar; se añaden las claves nuevas y se conservan tus valores. |
menus/admin/ | Las cuarenta y nueve pantallas de administración. Se reescriben desde el jar en cada arranque y en cada recarga. |
.defaults/files/ | Los valores de serie que revisaste por última vez, que es como una actualización distingue tus ediciones de las suyas. |
database.yml | Motor de base de datos y Redis, escrito por ExyliaLib. |
config.yml, messages.yml y cada modules/<id>/config.yml se generan desde el propio esquema del
plugin, comentarios incluidos. Una clave que el esquema no reconoce se avisa una vez como UNKNOWN_KEY
y se elimina. Los menús y las escaleras por defecto vienen dentro del jar. Cómo se escribe y se
actualiza cada clase de archivo está en Configuración.
Ese directorio entero se sustituye desde el jar cada vez que el plugin arranca y cada vez que
ejecutas /sc reload. Lo que edites ahí se pierde, sin aviso.
Cada uno de esos cuarenta y nueve archivos empieza con una cabecera que dice que es tuyo y que nunca se sobrescribe. Esa cabecera es falsa.
La única excepción es modules/warps/menus/warp_setup.yml: un editor de administración que vive fuera
de menus/admin/ y por eso sobrevive.
Base de datos
Por defecto el plugin usa H2: un archivo dentro de la carpeta del plugin, sin servidor y sin mantenimiento. Para compartir homes, warps, kits, rangos, saldos y estadísticas entre servidores, apunta todos a la misma base de datos:
database:
type: mysql
mysql:
host: 127.0.0.1
port: 3306
database: minecraft
username: root
password: ""Motores admitidos: h2, mysql, mariadb, postgresql y mongodb. Un motor que la librería no
reconozca cae en H2 con un aviso en consola. El archivo es de ExyliaLib; su referencia completa,
bloque redis incluido, está en la página de base de datos de la librería.
Las tablas están en la página de Base de datos. Un módulo apagado no crea las suyas.
Recargar
/survivalcore reloadAlias /sc. Funciona desde consola, y recarga tres cosas por orden: los archivos de configuración,
los archivos de cada módulo y los menús. Un paso que falla se avisa por su nombre y los siguientes se
ejecutan igual.
| Se recarga | No se recarga |
|---|---|
config.yml, incluidos debug y teleport | Los interruptores de módulo — encender o apagar uno necesita reinicio |
Cada archivo de modules/<id>/ de un módulo encendido | La conexión a la base de datos |
messages.yml | Lo que vive en la base de datos, que se lee cuando cambia |
Los menús — lo que además sustituye menus/admin/ desde el jar |
Cuando un interruptor de config.yml ya no coincide con lo que está funcionando, la recarga termina con
"Restart to apply module changes » …" y los ids de esos módulos.
Actualizar
Cambia el jar y reinicia. menus/admin/ se refresca desde el jar. Nada de la base de datos se toca. Todo
lo demás conserva tus ediciones:
config.yml,messages.ymly elconfig.ymlde cada módulo conservan tus valores.- Los archivos de formato libre y los sacados fuera —
ranks.yml,rewards.yml,rules.ymly el resto — no se reescriben nunca. - Los menús de módulo,
votes.yml,seasons.ymlytrade/window.ymlreciben las claves que añade una versión nueva; un valor por defecto que cambió espera en/exylialib updatesen vez de pisar el tuyo. Un archivo cuyomenu-versionde serie sea mayor que el tuyo se sustituye, y el tuyo se guarda al lado como<nombre>.v<versión anterior>.
¿Falta algo en esta página? Dínoslo en Discord