Skip to content

Bukkit Configuration

Florianpal1 edited this page Aug 6, 2026 · 3 revisions

Bukkit Configuration

Files live in plugins/FMessageBukkit/ on each backend server.

File Purpose
config.yml chat formats, anti-flood / anti-caps messages, language selection
lang_<code>.yml ACF command messages, copied from the jar on first start

The backend server never connects to the database — there is no database.yml here.


config.yml

lang: "en"

chatFormat:
  general: "&7{displayName}&7: &r{message}"
  staffChat: "[StaffChat] &7{displayName}&7: &r{message}"

ignoreFormat: "&7This is a message you have decided to ignore."
floodFormat: "Your message contains a flood. It was automatically deleted."
spamFormat: "Your message contains too many uppercase letters. It has been automatically written in lower case."

Options

Key Description
lang Language code of the file to load, i.e. lang_<code>.yml. Shipped: en, fr. See Languages.
chatFormat.general Format of public chat, relayed to every server of the network
chatFormat.staffChat Format used by /staffchat (/mc)
ignoreFormat Shown instead of the message when the author is on your ignore list
floodFormat Sent to a player whose message was cancelled by the anti-flood check
spamFormat Sent to a player whose message was lowercased by the anti-caps check

Placeholders

Placeholder Available in Replaced by
{displayName} chatFormat.general, chatFormat.staffChat the player's nickname if they have one, otherwise their Bukkit display name
{message} chatFormat.general, chatFormat.staffChat the message body

PlaceholderAPI placeholders (%vault_prefix%, %player_world%, …) can be used anywhere in chatFormat.general and chatFormat.staffChat. They are resolved on the backend server, for the message author, before the message is sent to the proxy — so a %server%-style placeholder shows the author's server for every recipient.

Colours

Formats use legacy ampersand codes: &0&f for colours, &k&o for styles, &r to reset. Hex colours (&#rrggbb) and MiniMessage tags are not supported.

Colour codes typed by a player inside their own message are only rendered if they hold fmessage.colors (fmessage.nick.colors for nicknames). Codes written by you in config.yml always render.


Anti-flood and anti-caps

Both checks run in the chat listener on the backend server, before the relay.

Anti-flood — if the same character is repeated 7 times or more in a row (spaces excluded), the message is cancelled and floodFormat is sent to the author. Bypass: fmessage.bypass.flood.

Anti-caps — for messages longer than 3 characters, if there are strictly more uppercase than lowercase letters (spaces, ! and ? excluded), the message is converted to lowercase and spamFormat is sent to the author. The message is still delivered. Bypass: fmessage.bypass.spam.

Neither threshold is configurable in this version.


Language file

lang_<code>.yml is copied out of the jar the first time the plugin starts, using the code from lang. On the Bukkit side it only contains the ACF framework strings (acf-core, acf-minecraft) — syntax errors, permission-denied messages, help output. See Languages.


See also: Proxy Configuration for the config.yml and database.yml of the BungeeCord/Velocity side.

Clone this wiki locally