Contenido generado con IA — puede contener errores.

Empezar

Instalación

Descargar el jar, instalarlo en Velocity o BungeeCord, apuntarlo al Redis de la red y qué dice la consola.

Descarga

Cada versión se publica en GitHub con dos copias del mismo jar: ExyliaProxyUtils-<versión>.jar y ExyliaProxyUtils.jar. Usa la segunda: el proxy se actualiza solo escribiendo la nueva versión encima del jar que está ejecutando, con el mismo nombre de archivo, así que un nombre con versión deja de decir la verdad tras la primera actualización.

El mismo archivo sirve para los dos proxies. Velocity lee velocity-plugin.json y BungeeCord lee bungee.yml; cada uno carga solo la clase principal escrita para él.

Antes de empezar

Cada backend que tenga que llegar al proxy necesita:

En cada backendPor qué
ExyliaLib 1.106.0 o superiorEs el lado que pregunta.
database.redis.enabled: true en algún database.ymlExyliaLib usa el primer Redis que encuentra: primero su propio plugins/ExyliaLib/database.yml y, si no, el primer plugin cuyo database.yml tenga Redis activado.
Un server-id único en database.redisEs la dirección a la que vuelven las respuestas.
El mismo key-prefix que el proxyDos redes en un mismo Redis no deben responderse entre sí.
Los nombres de servidor en el proxy deben ser los server-id

El nombre que tiene un servidor en velocity.toml (o en el config.yml de BungeeCord) tiene que ser exactamente el server-id de ese backend en su database.yml. Las respuestas se publican en <prefix>:bridge:<server-id>, un connect mueve al jugador al servidor del proxy con ese nombre, y un connect sin servidor significa «el servidor que preguntó», buscado por su server-id. Con nombres distintos, los teletransportes fallan con no server "<nombre>".

Instalación

Copia el jar

Copia ExyliaProxyUtils.jar en la carpeta plugins/ del proxy, junto a cualquier plugin de sanciones que uses allí.

Arranca el proxy una vez

El primer arranque escribe plugins/ExyliaProxyUtils/config.properties (plugins/exyliaproxyutils/ en Velocity, que nombra la carpeta por el id del plugin). Con el localhost por defecto solo arranca si Redis está en la misma máquina que el proxy.

Apúntalo al Redis de la red

Rellena el mismo host, puerto, contraseña, base de datos y prefijo que tiene cada backend en database.redis. Ver Configuración.

Reinicia el proxy

No hay recarga: el archivo se lee una vez, al arrancar.

Qué dice la consola

Si todo va bien:

ExyliaProxyUtils 2.0.2 ready on Redis 10.0.0.6:6379; modules: [commands, connect, kick, ping, player, players, punish-import, punish-sources]

precedido de una línea Recording <ORIGIN> punishments made on this proxy. por cada plugin de sanciones que haya enganchado (ver Sanciones).

Si no llega a Redis, o no puede leer el archivo:

ExyliaProxyUtils could not start; check plugins/ExyliaProxyUtils/config.properties: <motivo>
Un arranque fallido sigue fallido

La conexión se prueba una vez, al arrancar el proxy. Si Redis está caído en ese momento, el plugin queda cargado pero no hace nada hasta que el proxy se reinicie: ni puente, ni ganchos de sanciones, ni control al entrar. Solo una conexión que se cae después de un buen arranque se reintenta, cada dos segundos, con el aviso Redis subscription dropped (...); retrying in 2000ms.. La comprobación de actualizaciones sí se ejecuta.

Archivos generados

ArchivoContenido
config.propertiesLa conexión a Redis, el prefijo y el interruptor de actualizaciones. Se escribe una vez y nunca se sobrescribe.

Es el único archivo. El plugin no guarda datos propios: todo lo que recibe de los backends o de los plugins de sanciones sale de nuevo por Redis.

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