⚙️Configuration
All settings can be changed in the config.yml
file.
Each module (report
, bugreport
, suggest
, helpop
) can be enabled/disabled individually.
🌐 Proxy Support (proxy
section)
proxy
section)If you’re running your server behind a proxy (Velocity or BungeeCord), DispatchDesk can optionally track the player’s proxy server name and make it available via the %server%
placeholder.
You’ll find this section at the top of your config.yml
:
proxy:
fallback-server-name: "Main"
warn-if-no-proxy: true
Config Options:
fallback-server-name
The default name used for %server%
if the plugin cannot detect the server
warn-if-no-proxy
Logs a warning if a player runs a command and no proxy name is available
Note: To resolve the
%server%
placeholder dynamically, you must:
Be using Velocity or BungeeCord
Ensure plugin messaging is enabled (DispatchDesk uses it to get server info)
If you’re running on a standalone Paper server, the %server%
placeholder will default to the fallback-server-name
value.
📦 Modules
report
Players report another player for bad behavior
bugreport
Players report bugs or technical issues
suggest
Players submit ideas or suggestions
helpop
Players ask staff for help
Each module supports the following keys:
enabled
Enables or disables the module entirely
webhooks
One or more Discord webhooks to send messages to
➤ Each webhook can include an optional thread_id
➤ Supports posting to multiple channels or threads per module
permission
Permission required for staff to receive alerts for this module
embed
Controls how the message appears on Discord as a rich embed
embed.title
Embed title (supports placeholders)
embed.description
Embed main body text (supports placeholders)
embed.color
Embed border color in HEX (e.g., #e74c3c
)
embed.fields
A list of name/value/inline objects displayed below the description
message_to_staff
In-game message shown to staff with the correct permission
message_to_player
In-game confirmation sent to the player who ran the command
🧠 What Are Placeholders?
Placeholders are dynamic tags like %player%
, %reason%
, or %server%
that get replaced with real data from the player who used the command.
You can use them in:
Discord embed titles, descriptions, and fields
In-game staff messages
Confirmation messages sent to players
Each placeholder is replaced automatically when the message is sent.
👉 View full placeholder list here
🧱 What is embed.fields
?
embed.fields
?The fields
section defines structured rows of data shown beneath the embed description in Discord.
Each field must contain:
name
: The field title (e.g.,"Reason"
)value
: The content of the field (supports placeholders)inline
:true
orfalse
true
: Shows fields side-by-side (max 3 per row)false
: Makes the field span the full embed width
You can define up to 25 fields per embed.
Example
embed:
title: "New Report Submitted"
description: "%player% has reported %target% for: %reason%"
color: "#ff5555"
fields:
- name: "Reported Player"
value: "%target%"
inline: true
- name: "Reason"
value: "%reason%"
inline: true
- name: "Location"
value: "%world% (%x%, %y%, %z%)"
inline: false
This will render in Discord like:
New Report Submitted
[embed border color: red]
Reported Player | Reason
Steve | Hacking
Location
world_nether (123, 65, -12)
Last updated