Configuración
Los seis archivos que escribe el plugin y qué va en cada uno.
Los archivos viven en plugins/ExyliaEvents/. Todos se escriben en el primer arranque con sus valores
por defecto y con comentarios en cada clave. config.yml está arriba del todo; todo lo que lee un
jugador — mensajes, sidebars, temas de Build Battle, preguntas de Trivia y menús — vive en una carpeta
de idioma dentro de lang/:
plugins/ExyliaEvents/
├── config.yml
└── lang/
└── <code>/
├── messages.yml
├── scoreboards.yml
├── buildbattle-themes.yml
├── trivia-questions.yml
└── menus/config.yml
language
language: defaultlanguagestringpor defecto defaultEl idioma de los menús, mensajes, sidebars, temas y preguntas del plugin. default sigue el idioma
configurado en el config.yml de ExyliaLib; en, es, pt o fr lo fijan solo para este plugin.
Cada uno es una carpeta dentro de lang/ que puedes editar. El inglés es la base sobre la que se
monta cualquier otro idioma, así que una clave aún sin traducir llega en inglés, y cualquier otro
código empieza como una copia del inglés, tuya para reescribir. Una recarga aplica un cambio de idioma
sin reiniciar.
custom guarda los archivos que tenía un servidor antes de que existieran los idiomas: el primer
arranque tras actualizar mueve los antiguos messages.yml, scoreboards.yml,
buildbattle-themes.yml, trivia-questions.yml y menus/ a lang/custom/ y pone
language: custom, así que no se pierde nada de lo que editó el dueño. Una instalación nueva no tiene
ninguno y empieza en default.
settings
Todo sobre cómo se comportan los eventos, explicado en Flujo de juego:
settings:
use-main-lobby: true
broadcast-interval: 30
waiting-timeout: 300
broadcast-countdown-times: [30, 15, 10, 5]
max-events-per-player: 1
max-events-total: -1
max-events-waiting: 3
start-cooldown: 0
start-cooldown-permissions: []
event-music-enabled: true
event-music-volume: 0.5
event-music-interval: 150
event-music-discs: [...]
chat-isolation: true
player-isolation: true
frozen-timeout: 6use-main-lobbybooleanopor defecto trueSi a los jugadores se les envía al lobby principal guardado al salir de un evento.
chat-isolationbooleanopor defecto trueMantiene el chat de un evento dentro del evento: sus jugadores se leen entre ellos y nadie más, los espectadores leen a los jugadores, y el resto del servidor no lee ni a unos ni a otros. Los espectadores son la única asimetría — los jugadores no los leen, así que a una partida en marcha no se la comenta desde fuera.
Ponlo en false para dejar el chat tal y como lo entregue el plugin de chat del servidor. El mensaje
nunca se cancela ni se reenvía, solo su audiencia es menor, y un plugin de chat que mande cada línea
por su cuenta se queda con la entrega — entonces el aislamiento simplemente no se aplica.
player-isolationbooleanopor defecto trueMantiene a los jugadores y espectadores de un evento fuera de la vista del resto del servidor: se ven
entre ellos, en el mundo y en la lista de tab, y nadie de fuera los ve. Es también lo que evita que dos
eventos simultáneos se muestren los jugadores del otro. Ponlo en false para que todos vean a todos.
frozen-timeoutenteropor defecto 6Segundos que un jugador puede quedarse inmóvil en el aire dentro de un evento antes de ser eliminado
de él. Un cliente congelado o con lag switch deja de enviar movimiento y se queda flotando donde se
detuvo, algo que ningún jugador puede hacer por su cuenta. Quedarse quieto en el suelo, nadar, trepar,
montar y planear no cuentan. 0 lo desactiva.
network
network:
enabled: false
return-on-end: trueSi este servidor anuncia sus eventos al resto de la red y acepta a los jugadores que otros servidores le envían. Apagado por defecto, y explicado en Red.
main-lobby
Un resto de una versión anterior. El lobby vive ahora en la base de datos; esta sección se lee una vez, en el primer arranque tras el cambio, y se copia allí. Un mundo en blanco significa que no hay nada que copiar.
reward-commands, command-whitelist, world-restrictions, random-events
Explicados en Recompensas y Flujo de juego.
auto-world
auto-world:
clone-spacing: 500
clone-paste-y: 64Explicado en Arenas · El mundo automático.
gauntlet
Puntos, tiempos y comandos de campeón de las series de eventos. Explicado en Gauntlets.
world-border
world-border:
enabled: trueenabledbooleanpor defecto trueSi se dibuja el muro rojo alrededor de arenas, parcelas y partidas. Es solo algo que ven los jugadores: apagarlo ahorra FPS en arenas chicas, y los límites se siguen aplicando igual. Una zona que se cierra siempre se dibuja, porque los jugadores tienen que ver hacia dónde se cierra.
Este es el interruptor de todo el servidor. Cada tipo de evento tiene además su propio
bounds-border, así que el borde se dibuja solo
cuando los dos lo dicen.
Bloques por tipo
buildbattle, chairs, gemcrawler, pillarsoffortune, survivalgames y maceroulette guardan
los ajustes que no son texto — las entidades permitidas de Build Battle, la colocación de los
hologramas, la lista negra de objetos de Pillars, el loot de Survival Games, los sonidos del giro de
Mace Roulette —, además de winner-fireworks. Las boss bars, barras de acción, títulos y líneas de
holograma que leen los jugadores están en messages.yml, en la sección de cada tipo. Explicados en
Pantalla y audio.
scoreboards.yml
lang/<code>/scoreboards.yml.
Un sidebar por tipo de evento más el tablero del lobby. Ver Pantalla y audio · Sidebars.
Las duraciones — la duración base de un evento, los relojes de ronda de CS:GO, los tiempos de Mace Roulette — se piden como una cantidad de tiempo en vez de subirlas a clics, y se escriben de vuelta igual.
messages.yml
lang/<code>/messages.yml. Todos los mensajes, con una sección events compartida y luego una por tipo de evento — tnttag,
taggame, lms, topkiller, oitc, quake, csgo, tntrun, spleef, splegg, splatoon,
brackets, tournament, buildbattle, blockparty, thimble, parkour, infection, kingkong,
slap, anvilrunning, chairs, gemcrawler, pillarsoffortune, simonsays, volcano,
survivalgames, bridge, ctf, domination, murdermystery, hideseek, morphhunt, redlight,
glassbridge, koth, paintball, dodgeball, sheepwars, zombiehorde, trivia, race,
maceroulette, las ocho variantes por equipos y gauntlet — más teams, placeholders, admin y
editor, los textos de las pantallas de setup.
La sección de un tipo también guarda sus boss bars, barras de acción, títulos y líneas de holograma, así que se traducen con el resto.
Los nombres de los equipos viven en teams, y por eso traducir el archivo traduce también los
equipos.
event-catalog guarda lo que leen los jugadores de cada tipo — su nombre, las líneas que lo describen
y la categoría bajo la que lo agrupan los menús — por identificador de tipo, así que el catálogo
entero se renombra o traduce aquí. Un archivo escrito antes de que existiera un tipo no gana su
entrada; ese tipo muestra la de fábrica hasta que la añadas.
scheduled-events.yml
Horarios por día y hora. Ver Flujo de juego · Eventos programados.
trivia-questions.yml
lang/<code>/trivia-questions.yml. Las preguntas de Trivia. Cada entrada tiene su enunciado, exactamente cuatro respuestas y correct,
el índice de la correcta contando desde cero — que es lo que se compara con las cuatro zonas de
respuesta marcadas en la arena.
questions:
- question: "How many blocks tall is an Enderman?"
answers: ["2", "3", "4", "5"]
correct: 1Trae veinticuatro preguntas de ejemplo en cada idioma y está pensado para reescribirlo, traducirlo o reemplazarlo
entero. Una pregunta mal formada — sin cuatro respuestas o con un correct fuera de rango — se
descarta.
buildbattle-themes.yml
lang/<code>/buildbattle-themes.yml. Los temas que se votan en Build Battle, más los materiales de los objetos de voto. Totalmente
traducible: edita, traduce o reemplaza cada entrada. El menú de ajustes tiene un botón que restaura la
lista original.
menus/
lang/<code>/menus/
├── admin/ el panel, el selector de tipo, la lista y el setup de configuraciones,
│ una pantalla de ajustes por tipo — CS:GO tiene una por arma y Mace
│ Roulette otra para sus modificadores —, lista de kits, marcadores de
│ arena, editor de gauntlets y diálogos de confirmación
└── user/ el menú principal, eventos activos y sus categorías, iniciar evento,
estadísticas, selección de kit, selección de equipo, constructor
de gauntlets y menú de espectadormenus/admin/ se reescribe desde el jar en cada arranque, así que ahí no vive nada que el dueño deba
editar. menus/user/ es tuyo: un archivo que falta se vuelve a escribir, una clave nueva se añade al
momento, un valor por defecto que cambia espera en /exylialib updates, y nada de lo que cambiaste se
toca.
La pantalla de eventos activos agrupa sus entradas por juego cuando el servidor tiene varias arenas del mismo en marcha.
Migraciones
config.yml está en la versión 4. Los archivos más antiguos se migran en el primer arranque tras
actualizar:
| Desde | Qué cambia |
|---|---|
| Versión 1 | Los tres tiempos de título se dividen entre veinte, porque estaban escritos en ticks y ahora se leen en segundos. |
| Versión 2 | Se añade language: custom, que apunta el servidor a los archivos que ya tenía, movidos a lang/custom/. |
| Versión 3 | Las boss bars, barras de acción, títulos y líneas de holograma pasan a messages.yml, en la misma ruta, conservando el texto que escribió el dueño. |
Una clave que ningún archivo declara se borra al cargar y se reporta una vez como UNKNOWN_KEY.
Mantiene los archivos limpios entre actualizaciones, y es por lo que tus propias claves no sobreviven
en ellos.
¿Falta algo en esta página? Dínoslo en Discord