Contenido generado con IA — puede contener errores.

Servidor

Red

Varios servidores que comparten una base de datos y Redis: trabajos que siguen al jugador, un mercado y presupuesto compartidos, y órdenes de trabajo compartidas.

No hay un interruptor de red: apunta el database.yml de ExyliaLib de cada servidor a la misma base MySQL, MariaDB, PostgreSQL o MongoDB, y activa database.redis en cada uno con su propio server-id. Entonces:

  • Los trabajos siguen al jugador. El servidor que tiene a un jugador mantiene un bloqueo entre servidores sobre él desde que entra hasta el final de su escritura al salir; una entrada en cualquier sitio lo espera (como mucho handover-wait) para que siempre se lea la última escritura. Desactiva network-handover en un servidor cuyos trabajos no se comparten.
  • El mercado y el presupuesto se comparten mediante Redis: cada servidor envía lo que ha añadido cada pocos segundos, así que la tasa de mercado y el factor de pago reflejan toda la red. Sin Redis cada servidor mantiene los suyos.
  • Las ganancias se cargan desde el libro al entrar (esta hora y hoy, de todos los servidores), así que los topes sobreviven al cambiar de servidor.
  • Las órdenes de trabajo se comparten: las órdenes viven en la base de datos, cada cambio toma un bloqueo de fila entre servidores, y los demás servidores reciben el aviso mediante Redis (una red sin Redis converge en menos de un minuto).
  • Las órdenes del servidor las publica cada servidor por su cuenta; el máximo es por servidor.
  • Las clasificaciones, mejoras y pausas salen de la base de datos compartida; una pausa se vuelve a leer al entrar.

Las cifras del panel y los placeholders como "today" son solo de este servidor.

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