Compatibility
Minecraft: Java Edition
1.21.x
1.20.x
Platforms
Supported environments
Links
Creators
Details
Licensed ARR
Published last week
Updated last week

Bring a fast, configurable ticket system to your Minecraft servers. Players file tickets in-game with a single command, you receive rich Discord notifications instantly.
Highlights
- In‑game tickets with a simple command:
/ticket <category> <reason...> - Multi‑word categories supported (e.g., "Staff Request", "Player Report")
- Smart tab completion that suggests only your configured categories
- Discord webhook integration using rich embeds
- Configurable embed color (hex)
- Player head/avatar shown in the embed
- Clean, readable layout using your message template
- Fully server‑side configuration (common config); no client required
- Customizable user‑facing messages (success/help/errors) with placeholders

-
Ticket command
/ticket <category> <reason...>- Works with multi‑word categories
- Bare
/ticketshows a configurable help/usage message
-
Discord embeds
- Ticket is posted to a Discord channel via webhook
- Color is configurable (hex, e.g.,
#5865F2) - The player's Minecraft head is used as avatar and embed thumbnail
- All placeholders from your template are preserved
-
Server‑side config only
- Everything is configured from the server's common config (no client dependency)
- All players see the same messages no matter their client language
-
Clean admin UX
- Tab completion shows only categories from your config
- Invalid categories or missing reasons return clear, configurable errors

- Base command:
/ticket - Usage:
/ticket <category> <reason...> - Examples:
/ticket Bug Bees are escaping the hive enclosure/ticket Staff Request Please review my claim/ticket Player Report Steve griefed my base at spawn
Notes
- Multi‑word categories are parsed correctly; the remainder becomes the reason
- Suggestions show only configured categories

All options live in config/sarosdiscordwebhook-common.toml. Key settings:
-
Core
tickets.enabled— enable/disable the systemtickets.categories— list of categories (strings). Supports multi‑word entriestickets.discordWebhookUrl— your Discord webhook URLtickets.commandPermissionLevel— required vanilla permission (0–4; 0 = everyone)tickets.messageTemplate— text used as the embed descriptiontickets.embedColorHex— embed color (e.g.,#5865F2)
-
Advanced
tickets.inputTimeoutSeconds— session timeout for future multi‑step flowstickets.hideReasonInChat— for future chat‑capture flow (not used in default one‑line command)
-
Messages (all server‑side; placeholders are supported where shown)
tickets.messages.successSubmitted— shown on success- Placeholders:
{category},{reason}
- Placeholders:
tickets.messages.errorInvalidCategory— invalid categorytickets.messages.errorMissingReason— reason missingtickets.messages.errorWebhookNotConfigured— webhook missingtickets.messages.errorOnlyPlayers— console/non‑player usagetickets.messages.usageHelp— displayed on bare/ticket- Placeholders:
{categories}(comma‑separated list)
- Placeholders:
tickets.messages.errorNoCategories— if category list is emptytickets.messages.errorSendFailed— Discord post failed
Placeholders available in tickets.messageTemplate (used inside the Discord embed):
{player},{uuid},{category},{reason},{dimension},{x},{y},{z}

FAQ & Tips
-
Nothing posts to Discord
- Ensure
tickets.discordWebhookUrlis set and valid - Check
tickets.enabled = true
- Ensure
-
Players can't use
/ticket- Lower
tickets.commandPermissionLevel(0 lets everyone use it)
- Lower
-
I want a different embed look
- Customize
tickets.messageTemplateandtickets.embedColorHex
- Customize
-
My categories have spaces
- Supported! The command matches the longest configured category at the start of the input




