FAQ
General
Section titled “General”Do players need a client mod?
Section titled “Do players need a client mod?”No. Courier is fully server-side. Vanilla clients work fine.
What Minecraft version does Courier support?
Section titled “What Minecraft version does Courier support?”Minecraft 1.21.1 on Fabric with Cobblemon 1.6+.
Does it work with Forge or NeoForge?
Section titled “Does it work with Forge or NeoForge?”No. Fabric only.
What database should I use?
Section titled “What database should I use?”SQLite for single servers — it works out of the box. For multi-server networks, use MongoDB.
Where are config files?
Section titled “Where are config files?”config/courier/ directory. Files are auto-generated on first launch with sensible defaults.
How do I reload without restarting?
Section titled “How do I reload without restarting?”/mailadmin reload. Done.
How do I set up multi-server mail?
Section titled “How do I set up multi-server mail?”Point all servers at a shared MongoDB instance, configure a Redis or NATS message bus, and give each server a unique serverId. Full walkthrough in Cross-Server Mail.
Can players send mail to offline players?
Section titled “Can players send mail to offline players?”Yes. Mail is stored in the database and delivered when they log in.
What happens when a player’s inbox is full?
Section titled “What happens when a player’s inbox is full?”They’re warned at 80% capacity (configurable). At 100%, no new mail until they delete or archive existing messages.
Can I customize the GUI?
Section titled “Can I customize the GUI?”Yes. GUI layouts live in config/courier/guis/, and tooltips are in courier_tooltips.conf.
How do I send items or Pokemon via command?
Section titled “How do I send items or Pokemon via command?”Create a preset in config/courier/presets/, then send it with /mailadmin preset send <id> <target>.
Packages
Section titled “Packages”What if a player’s inventory is full when claiming?
Section titled “What if a player’s inventory is full when claiming?”Items overflow into the package locker automatically. They can grab them later with /mail locker claim.
Can packages be claimed twice?
Section titled “Can packages be claimed twice?”No. Courier uses atomic compare-and-swap operations to prevent duplicate claims — even under concurrent requests.
What currencies are supported?
Section titled “What currencies are supported?”Impactor API currencies out of the box. For other economies, use a command-based configuration that runs your economy plugin’s give command.
Troubleshooting
Section titled “Troubleshooting”Mail won’t send
Section titled “Mail won’t send”Check that the sender isn’t rate-limited, the recipient hasn’t blocked them, and the sender has courier.mail.send.
Packages not claiming
Section titled “Packages not claiming”Check for inventory space. If it’s full, look in the package locker for overflow. Review server logs for claim errors.
Cross-server mail not working
Section titled “Cross-server mail not working”Make sure each server has a unique serverId, database connectivity is solid, and the Redis/NATS bus is reachable from all servers.
Config not reloading
Section titled “Config not reloading”Check server logs for HOCON syntax errors after /mailadmin reload. Make sure the file’s saved in the right spot under config/courier/.
Economy not working
Section titled “Economy not working”Using Impactor? Verify it’s installed and loaded. Using command-based? Test the command manually from the server console first.