Mini Kraken logo
Mini KrakenElectronic RPG
ToolsCommunitySupport Project
Sign In

UTIL

  • Home
  • Blog
  • Supporters
  • Sitemap
  • Owlbear Extension

EXPLORE

  • Discord Bot
  • Tools
  • Systems
  • Dice Roller
  • Name Generator

About

  • Team
  • Creators
  • Mission
  • Dice Docs
  • Goals

LEGAL

  • Terms of Service
  • Privacy
  • Data & AI

2026 ERPG - Mini Kraken. All rights reserved.

BACK TO BLOG
Community

Fortuna, Rebuilt: A Faster, More Reliable Discord Bot for Your Table

Jun 19, 2026
8 min

Fortuna, Rebuilt: A Faster, More Reliable Discord Bot for Your Table

Fortuna has rolled dice, tracked coins, and kept campaigns humming on Discord servers for a long time. Behind the scenes, though, the bot had grown into a single large program juggling everything at once — and the seams were starting to show. So we did the thing every long-lived project eventually faces: we rebuilt it from the ground up.

The new Fortuna is faster to respond, steadier under load, easier for us to improve, and ready to grow with your table. Most of that work happened in places you will never see, which is exactly the point. But the results show up everywhere you actually use it. Here is the full story of what changed and why it matters.

The Old Fortuna, and Why It Needed a Rebuild

The original Fortuna was built on a common pattern: a bot that holds a permanent, always-open connection to Discord — what Discord calls the gateway — and listens for everything happening across every server it joined, all the time. To handle the load as the bot grew, that connection was split into several parallel copies, called shards, each one a separate running process that had to be watched, restarted, and kept healthy.

This works, and it worked for years. But it carries real costs. A permanently connected bot is always consuming memory and holding state, even when nobody is typing a command. Every server, channel, and member it could see added weight. When one shard hiccuped, a chunk of servers could feel it. And every new feature had to be threaded carefully through a program that was already doing a dozen things at once.

We wanted something leaner. Something that does the work when there is work to do, stays quiet when there isn't, and is built out of small pieces we can fix or scale one at a time.

The New Architecture, in Plain Terms

Modern Discord bots have a better option for commands: instead of holding a connection open and waiting, the bot can let Discord call it only when someone actually uses a slash command. Discord packages up the command, sends it over as a single secure web request, and the bot replies. No standing connection, no idle weight. When nothing is happening, the bot uses next to nothing.

That is the heart of the new design. We split the old monolith into two focused pieces:

  • fortuna-http — the new core. It handles every slash command, button, menu, and form as a plain, stateless web request. Discord knocks, Fortuna answers, and the exchange is over. Because it keeps no permanent connection and holds no per-server state between requests, its memory use is predictable and it can be scaled or restarted without drama.
  • fortuna-gateway — a small, dedicated helper. A few things genuinely still need that always-listening connection — most notably catching dice rolls people type directly in chat, rather than through a slash command. So we kept a tiny gateway, but stripped it down to do only that one job: watch for messages that look like dice rolls, hand them to the core, and ignore everything else. It is a lightweight program with a minimal footprint, and it never gets in the way of the commands.

Think of it like a restaurant. The old Fortuna was one frantic cook trying to take orders, manage the dining room, and run the kitchen simultaneously. The new Fortuna has a kitchen that fires up instantly when an order arrives (fortuna-http) and a single attentive host at the door watching for walk-ins (fortuna-gateway). Each does its job well, and neither slows the other down.

What This Means for You

Architecture talk is fine, but here is what you will actually notice on your server.

Snappier responses. Because the command core does one thing and carries no idle baggage, it answers quickly and consistently. There is less for a command to wait behind.

Better reliability. The two pieces are independent. If the chat-roll helper needs a restart, your slash commands keep working without a blink. Problems stay contained instead of rippling across the whole bot.

Steadier under pressure. A stateless command core does not accumulate weight as more servers and players pile on. Busy nights behave a lot more like quiet ones.

Faster improvements. With a clean, modular core, we can add and fix features without disturbing everything around them. New commands slot in cleanly, which means updates reach you sooner.

Everything That's New

A rebuild is also a chance to ship the things we had wanted to add for a while. The new Fortuna brings a meaningful batch of features:

  • Support tickets. A built-in ticket system lets your members open a private support thread with a button, and lets your staff handle and close it cleanly. No more lost DMs or cluttered channels.
  • Local coins, done right. Each server gets its own coin economy, with /lc for members and /mod_lc for moderators to manage balances. Rewards and ranks stay scoped to your community.
  • Server configuration. A proper /config command puts per-server settings in one place, so each community can tune Fortuna to fit how it plays.
  • Characters and adventures. Build and manage characters right from Discord, and organize them into adventures and campaigns — with clean, interactive forms instead of fiddly text.
  • Handouts. Share clues, letters, and images with your table through a dedicated /handouts flow, the way a good virtual table should.
  • Check-in. A new /checkin command makes it easy to mark attendance and keep your group on track.
  • Systems selector. Pick the RPG system your table uses so the tools line up with the game you are actually playing.
  • A little fun. New social and game commands — including a roulette — for the moments between the dice.

All of this sits alongside the things Fortuna always did well: rich dice rolling (both through slash commands and by typing rolls straight into chat), the daily reward, ranks, the store, and the rest.

Speaking Your Language

One of the biggest quality-of-life upgrades is built right into the new core: full localization. Fortuna now speaks all of Discord's languages — over thirty locales — and it picks the right one automatically based on each user's Discord settings. Command names, descriptions, and responses arrive in the player's own language, with a sensible fallback chain so nobody is ever left staring at a missing translation. Whether your table plays in Portuguese, English, Spanish, French, Japanese, or anything in between, Fortuna meets each person where they are.

Under the Hood, for the Curious

If you like the technical details, here are a few of the choices we are proud of — and you can safely skip this section if you don't.

Every command request from Discord is cryptographically verified using Ed25519 signatures before Fortuna acts on it, so the bot only ever responds to genuine, untampered requests. The command core runs on Bun with the lightweight Hono framework; the chat-roll helper is a small, statically compiled Go program that idles at a tiny footprint. Both ship as clean, containerized images, which makes deployments fast and repeatable. And we wired in proper error monitoring so that when something does go wrong, we hear about it and can fix it quickly — while being careful never to log anything sensitive.

The shared dice engine is the same trusted math that powers our other tools, so a roll means exactly the same thing whether you make it on Discord or anywhere else in the ecosystem.

Rolling Forward

None of this changes the spirit of Fortuna. It is still the friendly bot that rolls your dice and keeps your campaign organized. What changed is the foundation underneath: leaner, steadier, and built so we can keep making it better without getting in your way.

Add Fortuna to your server, try the new commands, and let us know what you would like to see next. The dice are ready when you are.

Keep reading

Community

Arquivos Secretos: Ordem Paranormal's Monthly Canonical Drop

Jun 5, 2026
Community

Actual Play and the Streaming Boom: How RPG Shows Took Over

May 26, 2026
Community

Ordem Paranormal and the Brazilian RPG Boom

May 23, 2026
Online Play

How to Play Tabletop RPGs Online: A Complete Beginner's Guide for 2026

Jun 5, 2026