Contenido generado con IA — puede contener errores.

Empezar

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.

PluginPara qué
packeteventsObligatorio (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.
FastAsyncWorldEditOpcional. 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:

PluginQué activa
PlaceholderAPILos placeholders del plugin fuera de él; los requisitos placeholder de ranks.yml; las stats de tipo PAPI, como la playtime que viene de serie.
WorldGuardLos á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, dynmapLas 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), FeatherServerAPIEl spawn y los homes como waypoints en el cliente.
WorldsEl 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ódulo economy puede 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ódulo economy está 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: … y Seasons 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ódulo stats.
  • Protections are set to the WORLDGUARD backend, but WorldGuard is not enabled. Falling back to INTERNAL.

Archivos generados

Todos viven en plugins/ExyliaSurvivalCore/.

RutaContenido
config.ymldebug, los cincuenta interruptores de módulo y la sección teleport.
messages.ymlCada línea que manda el plugin, en cincuenta y una secciones.
modules/<id>/config.ymlUno por cada módulo que tiene ajustes.
modules/<id>/<datos>.ymlLas escaleras: rangos, recompensas, categorías, grupos, mundos, stats, misiones, reglas.
modules/votes/votes.yml, modules/seasons/seasons.yml, modules/trade/window.ymlArchivos de serie que se mantienen al día sin deshacer tus ediciones.
modules/<id>/menus/, menus/currency_select.ymlLos 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.ymlMotor 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.

No edites nada bajo `menus/admin/`

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:

plugins/ExyliaSurvivalCore/database.yml
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 reload

Alias /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 recargaNo se recarga
config.yml, incluidos debug y teleportLos interruptores de módulo — encender o apagar uno necesita reinicio
Cada archivo de modules/<id>/ de un módulo encendidoLa conexión a la base de datos
messages.ymlLo 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.yml y el config.yml de cada módulo conservan tus valores.
  • Los archivos de formato libre y los sacados fuera — ranks.yml, rewards.yml, rules.yml y el resto — no se reescriben nunca.
  • Los menús de módulo, votes.yml, seasons.yml y trade/window.yml reciben las claves que añade una versión nueva; un valor por defecto que cambió espera en /exylialib updates en vez de pisar el tuyo. Un archivo cuyo menu-version de 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