⚙️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)

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:

Key
Description

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

Module
Purpose

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:

Key
Description

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?

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 or false

    • 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