Content generated with AI — it may contain mistakes.

Server

Network

Several servers sharing one database and Redis: jobs that follow the player, a shared market and budget, and shared work orders.

There is no network switch: point ExyliaLib's database.yml of every server at the same MySQL, MariaDB, PostgreSQL or MongoDB, and enable database.redis on each with its own server-id. Then:

  • Jobs follow the player. The server holding a player keeps a cross-server lock on them from join to the end of their quit write; a join anywhere waits for it (at most handover-wait) so the last write is always read. Turn network-handover off on a server whose jobs are not shared.
  • Market and budget are shared over Redis: each server sends what it added every few seconds, so the market rate and the pay factor reflect the whole network. Without Redis each server keeps its own.
  • Earnings are seeded from the ledger on join (this hour and today, every server), so caps survive moving between servers.
  • Work orders are shared: orders live in the database, every change takes a cross-server row lock, and other servers are told over Redis (a network without Redis converges within a minute).
  • Server orders are posted by every server on its own; the maximum is per server.
  • Top lists, perks and pauses come from the shared database; a pause is read again on join.

Dashboard figures such as "today" placeholders are this server only.

Something missing on this page? Tell us on Discord