Contenido generado con IA — puede contener errores.

Referencia

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: default
languagestringpor defecto default

El 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: 6
use-main-lobbybooleanopor defecto true

Si a los jugadores se les envía al lobby principal guardado al salir de un evento.

chat-isolationbooleanopor defecto true

Mantiene 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 true

Mantiene 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 6

Segundos 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: true

Si 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: 64

Explicado 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: true
enabledbooleanpor defecto true

Si 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.

Los tiempos de las pantallas de admin se escriben

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.

trivia-questions.yml
questions:
  - question: "How many blocks tall is an Enderman?"
    answers: ["2", "3", "4", "5"]
    correct: 1

Trae 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.

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 espectador

menus/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:

DesdeQué cambia
Versión 1Los tres tiempos de título se dividen entre veinte, porque estaban escritos en ticks y ahora se leen en segundos.
Versión 2Se añade language: custom, que apunta el servidor a los archivos que ya tenía, movidos a lang/custom/.
Versión 3Las 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.
Las claves desconocidas se eliminan

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