Skip to content

Global Ban - Configuration

All of the configuration files for Global Ban are located in the <game_directory>/config/global_ban/ directory.

Configuration files:

  • server-config.toml - This file contains the server-side configuration for Global Ban. You can use this file to change the default settings for the mod, such as the default level cap and scaling method.
  • permissions.toml - This file contains the permission nodes for Global Ban. You can use this file to change the permission nodes for the commands and features of the mod.
  • punished-accounts.toml - This file contains the list of accounts that have been punished by Global Ban. You can use this file to view and manage the punished accounts.
server-config.toml
[server]
serverUUID = "00000000-0000-0000-0000-000000000000"
autoBanPlayersByIP = false
showKnownAccounts = false
showPunishActionsInChat = false
defaultBanReason = "Unknown reason"
textParser = "VANILLA"
[server.scheduler]
cpuCorePoolSize = 1
expiredPunishmentsCheckInterval = 5
apiSyncEnabled = false
apiSyncInterval = 30
apiSyncUrl = ""
[server.messages]
banChatMessage = ["Player &c%player% &rhas been banned by &6%operator%&r!", "Reason: &e%reason%&r"]
tempBanChatMessage = ["Player &c%player% &rhas been temp banned by &6%operator%&r!", "Reason: &e%reason%&r", "Expires in: &e%expiration_time%&r"]
ipBanChatMessage = ["Player &c%player% &rhas been IP banned by &6%operator%&r!", "Reason: &e%reason%&r"]
tempIpBanChatMessage = ["Player &c%player% &rhas been temp IP banned by &6%operator%&r!", "Reason: &e%reason%&r", "Expires in: &e%expiration_time%&r"]
kickMessage = ["Player &c%player% &rhas been kicked by &6%operator%&r!", "Reason: &e%reason%&r"]
unbanChatMessage = ["Player &c%player% &rhas been unbanned by &6%operator%&r!"]
ipUnbanChatMessage = ["Player &c%player% &rhas been IP unbanned by &6%operator%&r!"]
pardonChatMessage = ["Player &c%player% &rhas been pardoned by &6%operator%&r!"]
banScreen = ["&c&lYou have been banned from this server!&r", "&7Reason: &e%reason%&r", "&7By: &6%operator%&r"]
tempBanScreen = ["&c&lYou have been temporarily banned from this server!&r", "&7Reason: &e%reason%&r", "&7By: &6%operator%&r", "&7Expires in: &e%expiration_time%&r"]
ipBanScreen = ["&c&lYou have been banned from this server!&r", "&7Reason: &e%reason%&r", "&7By: &6%operator%&r"]
tempIpBanScreen = ["&c&lYou have been temporarily banned from this server!&r", "&7Reason: &e%reason%&r", "&7By: &6%operator%&r", "&7Expires in: &e%expiration_time%&r"]
kickScreen = ["&c&lYou have been kicked from this server!&r", "&7Reason: &e%reason%&r", "&7By: &6%operator%&r"]

The UUID of the server. This is used to identify the server when syncing punishments between servers. If you want to reset your server’s UUID, delete this config and restart the server.

  • Type: string
  • Default: randomly generated UUID

Whether to automatically ban alt accounts by IP address when a player is banned.

  • Type: boolean
  • Default: true

Whether to show known accounts for a player when they join the server.

  • Type: boolean
  • Default: false

Whether to show punish actions publicly in chat.

  • Type: boolean
  • Default: false

The default reason to use when banning a player without a reason.

  • Type: string
  • Default: Unknown reason

The text parser to use for parsing text. This can be used to change the way text is displayed in chat and on the disconnect screen.

  • Type: enum
  • Allowed Values: VANILLA, EMBERS, ADVENTURE
  • Default: VANILLA

The number of CPU cores to use for the scheduler. This can be used to improve performance on servers with multiple CPU cores.

  • Type: integer
  • Default: 1

The interval in minutes to check for and process expired punishments. This can be used to reduce the load on the server by checking for expired punishments less frequently.

  • Type: integer
  • Default: 5

Whether to enable syncing of punishments to a remote API. This requires a compatible API to be set up.

  • Type: boolean
  • Default: false

The interval in minutes to sync punishments to the remote API. This can be used to reduce the load on the server by syncing punishments less frequently.

  • Type: integer
  • Default: 30

The URL of the remote API to sync punishments with. This is required if apiSyncEnabled is set to true.

  • Type: string
  • Default: ""

Messages to display to players when they are banned, temp banned, or kicked. These messages can be customized to fit the needs of the server.

The message to display to players when they are banned in chat.

  • Type: string[]
  • Default: ["Player &c%player% &rhas been banned by &6%operator%&r!", "Reason: &e%reason%&r"]

The message to display to players when they are temp banned in chat.

  • Type: string[]
  • Default: ["Player &c%player% &rhas been temp banned by &6%operator%&r!", "Reason: &e%reason%&r", "Expires in: &e%expiration_time%&r"]

The message to display to players when they are IP banned in chat.

  • Type: string[]
  • Default: ["Player &c%player% &rhas been IP banned by &6%operator%&r!", "Reason: &e%reason%&r"]

The message to display to players when they are temp IP banned in chat.

  • Type: string[]
  • Default: ["Player &c%player% &rhas been temp IP banned by &6%operator%&r!", "Reason: &e%reason%&r", "Expires in: &e%expiration_time%&r"]

The message to display to players when they are kicked.

  • Type: string[]
  • Default: ["Player &c%player% &rhas been kicked by &6%operator%&r!", "Reason: &e%reason%&r"]

The message to display to players when they are unbanned in chat.

  • Type: string[]
  • Default: ["Player &c%player% &rhas been unbanned by &6%operator%&r!"]

The message to display to players when they are IP unbanned in chat.

  • Type: string[]
  • Default: ["Player &c%player% &rhas been IP unbanned by &6%operator%&r!"]

The message to display to players when they are pardoned in chat.

  • Type: string[]
  • Default: ["Player &c%player% &rhas been pardoned by &6%operator%&r!"]

The message to display to players when they are banned on the disconnect screen.

  • Type: string[]
  • Default: ["&c&lYou have been banned from this server!&r", "&7Reason: &e%reason%&r", "&7By: &6%operator%&r"]

The message to display to players when they are temp banned on the disconnect screen.

  • Type: string[]
  • Default: `[“&c&lYou have been temporarily banned from this server!&r”, “&7Reason: &e%reason%&r”, “&7By: &6%operator%&r”, “&7Expires in: &e%expiration_time%&r”]

The message to display to players when they are IP banned on the disconnect screen.

  • Type: string[]
  • Default: ["&c&lYou have been banned from this server!&r", "&7Reason: &e%reason%&r", "&7By: &6%operator%&r"]

The message to display to players when they are temp IP banned on the disconnect screen.

  • Type: string[]
  • Default: `[“&c&lYou have been temporarily banned from this server!&r”, “&7Reason: &e%reason%&r”, “&7By: &6%operator%&r”, “&7Expires in: &e%expiration_time%&r”]

The message to display to players when they are kicked on the disconnect screen.

  • Type: string[]
  • Default: ["&c&lYou have been kicked from this server!&r", "&7Reason: &e%reason%&r", "&7By: &6%operator%&r"]
permissions.toml
[permissions]
seeKnownAccounts = "ALL_COMMANDS"
seeBans = "ALL_COMMANDS"
canBanAdmins = "ALL_COMMANDS"
blockPunishments = "ALL_COMMANDS"
[permissions.commands]
root = "ALL_COMMANDS"
reload = "ALL_COMMANDS"
import = "ALL_COMMANDS"
kick = "ALL_COMMANDS"
ban = "ALL_COMMANDS"
ban-ip = "ALL_COMMANDS"
temp-ban = "ALL_COMMANDS"
temp-ban-ip = "ALL_COMMANDS"
ban-list = "ALL_COMMANDS"
pardon = "ALL_COMMANDS"
pardon-ip = "ALL_COMMANDS"
unban = "ALL_COMMANDS"
unban-ip = "ALL_COMMANDS"

Permission level required to see known accounts for a player when they join the server.

Permission level required to see bans in chat when a player is banned.

Permission level required to ban admins.

Permission level required to block punishments.

Permission level required to use the /global-ban command and its subcommands.

Permission level required to use the /global-ban command.

Permission level required to use the /global-ban reload command.

Permission level required to use the /global-ban import command.

Permission level required to use the /kick command.

Permission level required to use the /ban command.

Permission level required to use the /ban-ip command.

Permission level required to use the /temp-ban command.

Permission level required to use the /temp-ban-ip command.

Permission level required to use the /banlist and /global-ban banlist commands.

Permission level required to use the /pardon command.

Permission level required to use the /pardon-ip command.

Permission level required to use the /unban command.

Permission level required to use the /unban-ip command.

punished-accounts.toml
accounts = []
accounts_pending_sync = []

List of punished accounts. Each entry is a serialized PunishmentRecord object.

List of punished accounts that are pending sync. Each entry is a serialized PunishmentRecord object.

A PunishmentRecord object represents a record of a punished account.

  • type - The type of punishment (e.g. ban, mute, kick).
  • timestamp - The timestamp of when the punishment was issued.
  • duration - The duration of the punishment (in seconds). A value of -1 indicates a permanent punishment.
  • playerUuid - The UUID of the punished player.
  • playerDisplayName - The display name of the punished player.
  • punisherUuid - The UUID of the player who issued the punishment.
  • punisherDisplayName - The display name of the player who issued the punishment.
  • reason - The reason for the punishment.
  • serverUuid - The UUID of the server where the punishment was issued.

A PermissionLevel object represents a level of permission that can be assigned to a player.

  • NONE - No permissions.
  • SPAWN_PROTECTION_BYPASS - Can bypass spawn protection.
  • CHEAT_COMMANDS_AND_COMMAND_BLOCKS - Can use cheat commands and command blocks.
  • MULTIPLAYER_MANAGEMENT - Can manage multiplayer settings.
  • ALL_COMMANDS - Can use all commands.