SaltyMC
Plugin developer · Sep 2026 → Present
-
Built SaltyBot, the network’s Discord bot.
Tickets, account linking and announcements, on JDA 6 over PostgreSQL. Every decision that could race (the next ticket number, redeeming a link code, two staff clicking approve at once) is a single conditional statement whose affected-row count picks the winner, so there’s no check-then-act window. Ticket transcripts render from the database rather than being scraped back out of Discord.
-
Bridged it to every game server over Redis Streams.
A transactional outbox, gap-free sequence numbers and a
SET NXclaim per message give exactly-once delivery through crashes and reconnects. A server that comes back replays what it missed from the outbox, or takes a fresh snapshot if it fell too far behind. -
Wrote the in-game side as one Paper/Folia plugin.
/ticketrenders the same form as a Paper Dialog for Java players, a Cumulus form for Bedrock, or chat as a fallback./linksyncs Discord roles to LuckPerms as explicit add and remove sets, so ranks granted by hand are never wiped, and announcements arrive as holograms, boss bars, titles or chat. -
Built SaltyOrders, an escrowed buy and sell order board.
Buy orders escrow money, sell orders escrow items, and new orders match against resting ones by price-time priority. Two dupe audits closed holes like selling while disconnecting, and a crash-rollback journal covers the minutes between a trade committing and the player’s file saving. Read the full breakdown →
-
Load-tested it to 5,000 simulated players.
Profiled every round with Windchill and JFR. Read caches took board reads from about 10 ms to about 1 µs, menus render on their own pool, and at 2,000 players Postgres holds 1,467 operations a second with a 7.4 ms median order create.