Contenido generado con IA — puede contener errores.

Referencia

Configuración

Los archivos en disco, cómo se escribe y se actualiza cada clase, qué sobrevive a una edición, la sección teleport de config.yml y qué comentarios están desactualizados.

Todo vive en plugins/ExyliaSurvivalCore/. config.yml, messages.yml y el config.yml de cada módulo se generan desde el propio esquema del plugin en la primera ejecución, comentarios incluidos. Los menús y las escaleras por defecto — rangos, recompensas, categorías, misiones, votos, temporadas y el resto — vienen dentro del jar y se escriben desde él.

Cinco clases de archivo

ClaseComportamientoQué archivos
Con esquemaClaves fijas, generadas con comentarios. Una clave que el esquema no conoce se avisa una vez como UNKNOWN_KEY y se eliminaconfig.yml, messages.yml, cada modules/<id>/config.yml, crates/tiers.yml, crates/animations.yml
De formato libreSe escriben una vez con una cabecera y no se reescriben. No se poda nada, y lo que borres no vuelvemodules/reclaim/config.yml, modules/scheduled-commands/config.yml, modules/blocked-items/rules.yml, modules/enchantments/rules.yml
Sacados fueraUn mapa que no cabe en un record de esquema, guardado en un archivo hermano. Se escribe desde el jar en una instalación nueva y no se reescribe despuésfarming/categories.yml, join-leave/groups.yml, kill-rewards/rewards.yml, missions/missions.yml, playtime-rewards/rewards.yml, rankup/ranks.yml, repair/groups.yml, rtp/worlds.yml, stats/stats.yml
De serie con seguimientoSe escriben desde el jar y después se mantienen al día sin deshacer tus ediciones — mira más abajovotes/votes.yml, seasons/seasons.yml, trade/window.yml, cada menú de modules/<id>/menus/ y menus/currency_select.yml
SustituidosSe borran y se escriben desde el jar en cada arranque y en cada recargaTodo lo que hay bajo menus/admin/

Un archivo sacado fuera que ya existe se trata como ya movido, así que uno que vaciaste a propósito se queda vacío en vez de recibir otra vez los valores por defecto encima.

Qué sobrevive a una edición

Los archivos de serie con seguimiento se refrescan en cada arranque, y los menús, votes.yml y seasons.yml otra vez en cada recarga. Para cada archivo YAML el plugin compara tres cosas: tu archivo, el archivo de serie y los valores por defecto que revisaste por última vez, que se guardan en .defaults/files/ dentro de la carpeta del plugin.

  • Un archivo que falta se escribe, salvo que ya se hubiera instalado antes y lo borraras. Un menú borrado sigue borrado, y la consola nombra el menú que no pudo registrar.
  • Una clave que añade la versión nueva se escribe en tu archivo en el acto, comentarios incluidos.
  • Un valor por defecto que cambió o desapareció, en una clave que sigue con el valor que revisaste por última vez, se deja como está y aparece en /exylialib updates, donde lo aplicas o lo conservas.
  • Todo lo que cambiaste o borraste no se toca nunca.
  • Un archivo cuyo menu-version (o defaults-version) de serie sea mayor que el tuyo se sustituye entero; tu archivo anterior se guarda al lado como <nombre>.v<versión anterior>.

En un servidor que actualiza desde una versión que todavía no seguía nada, cada valor que ya está en disco cuenta como tuyo, y una clave que falte en tu archivo aparece en /exylialib updates en vez de añadirse, porque puede que la borraras a propósito. Un archivo que no se puede leer se deja intacto y se avisa.

trade/window.yml va un paso más allá: la ventana lee primero la copia del jar y la tuya encima, así que un objeto que añade una versión nueva se dibuja aunque su entrada siga esperando en /exylialib updates.

config.yml

Tres bloques: debug, los cincuenta interruptores de módulo — mira Módulos — y teleport.

Aquí no hay sección de base de datos. La base de datos se configura en database.yml, escrito por ExyliaLib.

teleport

Cómo se comportan los teletransportes cuando nada pide otra cosa. El plugin le pasa esta sección a los teletransportes de ExyliaLib en cada arranque y en cada recarga.

teleport:
  warmup-seconds: 0.0
  cancel-on-move: true
  cancel-on-damage: true
  safe-search-radius: 5
  safe-max-attempts: 32
  cross-server-ttl-seconds: 300
  cross-server-settle-seconds: 0.5
  back-history-size: 3
  back-history-minutes: 30
  tpa-expiry-seconds: 60
  tpa-max-pending: 8
  random-max-attempts: 16
ClavePor defectoRangoQué hace
warmup-seconds0.00 o másCuánto espera un jugador antes de moverse. Admite decimales
cancel-on-movetrueSalir del bloque de partida durante la cuenta atrás la cancela
cancel-on-damagetrueRecibir daño durante la cuenta atrás la cancela
safe-search-radius50–32Hasta dónde buscar un aterrizaje seguro alrededor del destino, cuando el teletransporte lo pide
safe-max-attempts321–256Cuántos bloques puede revisar esa búsqueda antes de avisar de que no hay sitio seguro
cross-server-ttl-seconds30030–3600Cuánto dura un destino en cola para otro servidor
cross-server-settle-seconds0.50.05–5Cuánto espera el servidor de destino tras la llegada de un jugador antes de moverlo
back-history-size31–16Por cuántos sitios puede volver atrás un jugador
back-history-minutes301–1440Cuánto tiempo se sigue ofreciendo cada uno de esos sitios
tpa-expiry-seconds605–3600Cuánto tiempo sigue vigente una petición sin responder
tpa-max-pending81–64Cuántas peticiones puede tener pendientes un jugador
random-max-attempts161–64Cuántos sitios puede probar un teletransporte aleatorio antes de rendirse

Un valor fuera de su rango se lleva al extremo más cercano; un warmup negativo se queda en 0.

Los módulos conservan sus propios ajustes de teletransporte

Spawn, homes, back, TPA y warps siguen tomando su warmup, sus reglas de cancelación y sus efectos de su propio config.yml. /back lee back-history-minutes para decidir si el sitio que guardó se sigue ofreciendo. El módulo de TPA hace caducar sus peticiones con settings.request-expire-seconds de modules/tpa/config.yml (60 por defecto); nada en este plugin lee tpa-expiry-seconds ni tpa-max-pending.

messages.yml

Un prefix y cincuenta y una secciones: errors, admin y una por cada módulo salvo join-leave. Cada línea que manda el plugin está en este archivo; no queda nada escrito a fuego.

errors es el bloque compartido: module-disabled, no-permission, player-not-found, invalid-number, world-blacklisted. admin.restart-required es la línea con la que termina /sc reload cuando un interruptor de módulo espera un reinicio.

Una línea puede empezar por una etiqueta de efecto como [sound:ENTITY_VILLAGER_NO|1.0|1.0], que es una instrucción y no llega nunca a la pantalla. %prefix% se sustituye desde la clave prefix.

Formas compartidas

Varios módulos dibujan las mismas tres cosas, y aceptan las mismas claves en todos lados.

FormaClaves
Títulotext, subtitle, fade-in, stay, fade-out, time-style
Barra de accióntext, duration, time-style
Barra de jefetext, colour, overlay, count-up, progress, time-style

colour acepta PINK, BLUE, RED, GREEN, YELLOW, PURPLE o WHITE. overlay acepta PROGRESS, NOTCHED_6, NOTCHED_10, NOTCHED_12 o NOTCHED_20. time-style acepta auto, seconds, tenths, hundredths, clock o full. Un stay o duration de 0 significa "hasta que algo lo pare".

Los sonidos son siempre NOMBRE_SONIDO|VOLUMEN|TONO, y una cadena vacía desactiva uno.

Archivos por módulo

MóduloArchivos
spawn, tpa, homes, back, warpsconfig.yml — el warmup, el nodo de bypass, los mundos vetados, los sonidos y los efectos
rtpconfig.yml más worlds.yml
join-leaveconfig.yml más groups.yml
kill-rewardsconfig.yml más rewards.yml
playtime-rewardsconfig.yml más rewards.yml
rankupconfig.yml más ranks.yml
farmingconfig.yml más categories.yml
statsconfig.yml más stats.yml
missionsconfig.yml más missions.yml
repairconfig.yml más groups.yml
cratesconfig.yml más tiers.yml y animations.yml
enchantmentsconfig.yml más rules.yml
votesconfig.yml más votes.yml
seasonsconfig.yml más seasons.yml
tradeconfig.yml más window.yml
blocked-itemsSolo rules.yml
reclaim, scheduled-commandsSolo config.yml, de formato libre
player-utils, near, jumpads, kits, bounties, afk-zones, item-spawners, loot-chests, death, powerups, mines, portals, duel-rooms, graves, vaults, market, auctions, orders, shop, rewards, boosters, sell-wands, optimization, protectionsSolo config.yml
regen-zonesmodules/regenzones/config.yml — sin guion en el nombre de la carpeta
economyNingún archivo de configuración. Las monedas y los ajustes de economía viven en la base de datos y se editan con /economyadmin. Un modules/economy/currencies.yml se lee una sola vez, la primera vez que esas tablas están vacías, y se renombra a currencies.yml.imported; un servidor que todavía tenga plugins/ExyliaLib/currencies.yml y no este recibe antes una copia de ese archivo
player-settings, item-updaterNingún archivo de configuración

Qué hace cada clave está en la página de su módulo: Movimiento, Combate, Salas de duelo, Progresión, Misiones y temporadas, Recompensas y votos, Kits y cajas, Zonas, Restricciones, Comodidad, Optimización, Economía, Tienda, Mercado, Intercambio y baúles y Protecciones.

Comentarios desactualizados

Los archivos generados llevan sus propias explicaciones, y cuatro de ellas son falsas. Están aquí para que un archivo que contradiga esta documentación no sea una sorpresa.

`menus/admin/` no es tuyo, diga lo que diga su cabecera

Los cuarenta y nueve archivos de menú de administración empiezan con "This file is yours to edit… written once, when it is missing, and never overwritten". El directorio se sustituye desde el jar en cada arranque y cada /sc reload.

`ranks.yml` lista tipos de requisito que no existen

Su cabecera lista money, playtime, kills y level. El conjunto real es money, playtime, placeholder y permission; un requisito de cualquier otro tipo se descarta en silencio al leer el archivo.

`admin.usage` nombra dos subcomandos que `/survivalcore` no tiene

La línea dice "Subcommands: reload, delhome, listhomes". /survivalcore solo tiene reload; delhome y listhomes están en /homesadmin.

Ocho valores por defecto siguen en español

Una instalación nueva muestra el texto de warmup en español para spawn, homes, back, TPA y RTP: "Teleportando en %time%", "Teleportando a %world%", "Buscando…". Son valores de configuración normales; edítalos en el config.yml de cada módulo.

Recargar

/survivalcore reload, desde consola o en el juego, ejecuta tres pasos por orden:

  1. configs — config.yml incluidos debug y teleport, messages.yml y el prefijo, y cada archivo de módulo con esquema.
  2. modules — cada módulo encendido vuelve a declarar sus archivos y relee lo que guarda: escaleras, reglas, missions.yml, votes.yml, seasons.yml y el resto.
  3. menus — menus/admin/ se sustituye desde el jar, los demás menús se refrescan como se describe arriba y todos se vuelven a compilar. Este paso también se ejecuta con /exylialib reload.

Un paso que falla se avisa por su nombre y los siguientes se ejecutan igual. La recarga no aplica un interruptor de módulo; cuando uno ya no coincide con lo que está funcionando, termina nombrando los módulos que necesitan reinicio.

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