Unidades que controla tu código
El helper para Paper y Velocity
Fase 2, en desarrollo. Esta página describe el diseño de zaroz-minecraft-helper (Java 21, Gradle, MIT). Los nombres y opciones pueden cambiar hasta la primera versión 1.x, que se versiona con la versión mayor del contrato.
| Módulo | Qué es |
|---|---|
common | cliente del contrato (lee /zaroz/*.json, socket de señales y long-polls), cliente de la API de Units (se autentica con /zaroz/credentials/token, releyéndolo ante un 401), verificador de firmas de webhooks, eventos tipados |
paper | un plugin para servidores Paper |
velocity | un plugin para proxies Velocity |
Paper
- Señala
readytrasServerLoadEvent. - Señala
busyen el primer ingreso eidletrasidle_grace_secondssin jugadores (configurable). - Señala
accepting falseal llegar a tu capacidad configurada ytruepor debajo. - Registra un servicio
ZarozUnit(ServicesManagerde Bukkit) con la clave, etiquetas,user_datay asignación, y lanzaUnitAllocatedEventcuando llega una asignación. - Con el aviso de drenaje envía un mensaje configurable y pide al proxy que mueva a los jugadores a un lobby antes de SIGTERM.
La persistencia del mundo sigue siendo tuya: descargar al arrancar, subir con SIGTERM, a tu propio bucket.
Code
Velocity
- Mantiene la lista de servidores del proxy sincronizada con uno o más Workloads: lista las unidades listas y sigue el long-poll de eventos (
unit.readyañade<clave>.<workload>,unit.drainingyunit.destroyedlo quitan). - Reparte los ingresos entre los lobbies que aceptan jugadores.
- Una API de duelos para tus plugins:
allocateen un Workload configurado con el grupo enuser_data, y envía a los jugadores cuando llegaunit.allocation_delivered. - Una API de parcelas: crear por clave con
start: truey esperarunit.ready.
El Workload del proxy necesita un principal de servicio con units.control sobre los Workloads donde crea unidades y units.read sobre los que solo observa.
Mira el repositorio example-game-network para una red completa construida con él.
Last modified on
