Main Config
Main Config
Section titled “Main Config”Here’s the full config.conf with defaults:
File: config/courier/config.conf
mail { dailyLimit = 100 hourlyLimit = 30 minuteLimit = 5 maxRecipients = 50 maxSubjectLength = 100 defaultExpirationDays = 30 # 0 = never expire trashRetentionDays = 7 inboxLimit = 100 inboxCapacityWarning = 0.8 # 0.0-1.0 percentage cleanupIntervalHours = 1 loginNotification = true loginNotificationThreshold = 1 lockerExpirationHours = 24 lockerCleanupIntervalMinutes = 30}
economy { useImpactor = true defaultCommand = "" currencyCommands {} runAsServer = true}Mail Settings
Section titled “Mail Settings”Rate limits, expiry, inbox capacity, the package locker — it’s all here.
| Setting | Type | Default | Description |
|---|---|---|---|
dailyLimit | int | 100 | Max mails a player can send per day |
hourlyLimit | int | 30 | Max mails a player can send per hour |
minuteLimit | int | 5 | Max mails a player can send per minute |
maxRecipients | int | 50 | Max recipients per mail (for bulk sends) |
maxSubjectLength | int | 100 | Max character length for mail subjects |
defaultExpirationDays | int | 30 | Days until unclaimed mail expires. 0 = never |
trashRetentionDays | int | 7 | Days before trashed mail is permanently deleted |
inboxLimit | int | 100 | Max messages in a player’s inbox |
inboxCapacityWarning | double | 0.8 | Warn the player when their inbox hits this percentage (0.0-1.0) |
cleanupIntervalHours | int | 1 | How often the server runs automatic cleanup of expired and trashed mail |
loginNotification | bool | true | Show unread mail count when a player logs in |
loginNotificationThreshold | int | 1 | Minimum unread messages before the login notification triggers |
lockerExpirationHours | int | 24 | Hours before unclaimed items in the package locker expire |
lockerCleanupIntervalMinutes | int | 30 | How often the server cleans up expired locker items |
Economy Settings
Section titled “Economy Settings”Two ways to handle currency:
Impactor (Recommended)
Section titled “Impactor (Recommended)”If you’re already using Impactor for your server economy — simplest setup:
economy { useImpactor = true}Currency keys use Impactor’s namespaced format: "impactor:dollars", "impactor:tokens", etc. An empty string or "default" uses the primary currency registered with Impactor.
Command-Based (Fallback)
Section titled “Command-Based (Fallback)”For servers using economy plugins that don’t support the Impactor API, you can define currency operations as commands:
economy { useImpactor = false defaultCommand = "eco give {player} {amount}" currencyCommands { pokedollars = "eco give {player} {amount}" tokens = "tokengive {player} {amount}" } runAsServer = true}When a player claims a currency attachment, Courier runs the matching command. If no specific currency command is defined, defaultCommand is the fallback.
Economy Settings Reference
Section titled “Economy Settings Reference”| Setting | Type | Default | Description |
|---|---|---|---|
useImpactor | bool | true | Use Impactor API for currency operations. false = command-based |
defaultCommand | string | "" | Fallback command when no currency-specific command is defined |
currencyCommands | map | {} | Map of currency name to command string |
runAsServer | bool | true | Run economy commands as the server console (recommended). If false, runs as the player |
Economy Placeholders
Section titled “Economy Placeholders”These work in economy command strings:
| Placeholder | Description |
|---|---|
{player} | Recipient’s username |
{amount} | Currency amount being given |
{currency} | Currency type name |
{uuid} | Recipient’s UUID |
Next Steps
Section titled “Next Steps”- Messages — customize all player-facing text
- Tooltips — control GUI hover text with templates and fragments
- Economy Integration — deeper dive into currency setup and multi-currency support