DUXPLIMA Documentation

Overview

What is stored, the tables, sharing one database across servers, and moving off SQLite.

The database holds job levels, the archive, points, the placed block ledger, decay counters, income windows, the timed boost, signed contracts, zone blocks owed back, explored chunks, payouts, signs and the boards.

BackendFor
SQLiteOne server. The default
MySQL and MariaDBA network sharing jobs
PostgreSQLThe same, on PostgreSQL

Tables

TableHolds
uxmjobs_employmentOne row per player per job held: the experience
uxmjobs_archiveOne row per job a player left: the experience kept and how often they left
uxmjobs_pointsThe points balance
uxmjobs_ledgerPlaced blocks and spots already paid, kept ledger.retention-days
uxmjobs_decayRepeat counts per player, material and region
uxmjobs_incomeEarnings per player per currency in the income window
uxmjobs_boosterThe timed boost
uxmjobs_contractSigned contracts and their points
uxmjobs_zone_blockBlocks a zone owes back
uxmjobs_exploredChunks visited, for explore
uxmjobs_payoutPayments, for the report, kept report.retention-days
uxmjobs_signJob signs
uxmjobs_board, uxmjobs_nameBoard standings per period, and the names they show
uxmjobs_schema_historyThe version the tables are at

A network

Point every server at the same database with the same table-prefix. sync-seconds (2) is how often a server reads what the others changed for the players on it: a level earned or a booster started there. The income caps, decay counters and ledger are shared state too, so a network that splits them splits the protections.

Keeping one server apart

local-only = true keeps one server on its own SQLite file, whatever type says.

Moving off SQLite

  1. Create the database and a user.
  2. Set type, host, port, database, username, password, and copy-from-file = true.
  3. Restart once. The rows are copied into the empty tables, and the console says how many.

Related: config.conf