Installation
Installation
Section titled “Installation”Drop Courier.jar into your mods/ folder alongside Ceremony and Cobblemon. Start the server. That’s it — config files appear automatically in config/courier/.
Requirements
Section titled “Requirements”| Dependency | Version | Required | Notes |
|---|---|---|---|
| Minecraft | 1.21.1 | Yes | Fabric only |
| Fabric Loader | 0.17+ | Yes | |
| Fabric API | Latest | Yes | |
| Fabric Language Kotlin | Latest | Yes | |
| Cobblemon | 1.6+ | Yes | |
| Ceremony | 4.0+ | Yes | Powers storage, GUIs, and cross-server features |
| Impactor | Latest | No | Required for currency attachments |
| MongoDB / MariaDB | Any | No | Required for multi-server shared storage |
| Redis / NATS | Any | No | Required for cross-server mail delivery |
Quick Start
Section titled “Quick Start”- Download the Courier
.jarfrom your purchase source - Drop it into your server’s
mods/folder with all required dependencies - Start (or restart) the server
- Confirm
config/courier/appeared withconfig.conf,messages.conf, and theguis/folder - Run
/mailin-game — you should see the inbox GUI
Done. You’re running Courier.
Single Server
Section titled “Single Server”For a single server, there’s nothing to configure. The defaults use:
SQLite : Local file storage, no external database required.
No message bus : Mail stays on the local server. Perfect for most setups.
These are controlled through your Ceremony configuration. Your config/ceremony/config.conf should have:
storageType = SQLITEmessageBus { type = NONE}If you didn’t touch anything, that’s already what it says.
Multi-Server
Section titled “Multi-Server”Running Courier across multiple servers? You’ll need three things:
- A shared database so all servers see the same mail
- A message bus so deliveries propagate instantly
- A unique server ID per server
Shared Database (MongoDB)
Section titled “Shared Database (MongoDB)”In each server’s config/ceremony/config.conf:
storageType = MONGODBmongoDb { uri = "mongodb://username:password@your-host:27017" database = "courier"}Message Bus (Redis)
Section titled “Message Bus (Redis)”In each server’s config/ceremony/config.conf:
messageBus { type = REDIS redis { host = "your-redis-host" port = 6379 }}Unique Server ID
Section titled “Unique Server ID”Every server needs a distinct serverId in config/ceremony/config.conf:
serverId = "survival-1"serverId = "hub"Verification
Section titled “Verification”After starting your server, check the logs for [Courier] loading messages with no errors. Then test in-game:
/mailThe inbox GUI should open. Now send yourself a test:
/mail send YourName Test "Hello!"Open your inbox. You should see it. That’s it — Courier’s working.
Troubleshooting
Section titled “Troubleshooting”Config files not generating : Make sure all required dependencies are installed. Courier needs Ceremony, Cobblemon, Fabric API, and Fabric Language Kotlin. Check your server log for missing dependency errors.
Database connection errors : Double-check your Ceremony config for correct credentials, host, and port. Make sure your database server is running and accessible from the Minecraft server.
Cross-server mail not arriving
: Verify that all servers share the same database, the message bus is configured and reachable on every server, and each server has a unique serverId. Check Ceremony logs for message bus connection status.
Permission errors on commands
: Courier commands require appropriate permission levels. Make sure your permissions plugin grants courier.command.mail for players and courier.command.admin for admins.
Next Steps
Section titled “Next Steps”Ready to send your first mail? Head to Your First Mail — it’ll take about 30 seconds.
Want to customize things first? Check out the Configuration Overview.