Configuration

Complete guide to configuring configuration.yml, messages.yml, commands.yml, and guis.yml.

Main Configuration (configuration.yml)

General Settings

license-key: "YOUR_LICENSE_KEY"
date-format: "dd.MM.yyyy HH:mm:ss"
invite-duration: 4
confirm-disband: true
pending-disband-confirm-time: 10
friendly-fire: false
OptionTypeDefaultDescription
license-keyString"YOUR_LICENSE_KEY"Plugin license key
date-formatString"dd.MM.yyyy HH:mm:ss"Date format used in timed messages
invite-durationInteger4Invite expiration time in minutes
confirm-disbandBooleantrueRequire a second confirm to disband
pending-disband-confirm-timeInteger10Seconds to confirm disband
friendly-fireBooleanfalseDefault friendly-fire state for new teams

Team Chat

team-chat:
  enable-chat-by-prefix: true
  preserve-chat-toggle-after-logout: false
  team-chat-character: "!"
  team-chat-format: "&8[&b{tag}&8] &7{player}&7: &f{message}"
OptionTypeDefaultDescription
enable-chat-by-prefixBooleantrueAllow prefix character to send team messages
preserve-chat-toggle-after-logoutBooleanfalseKeep /team chat mode after reconnect
team-chat-characterString"!"Prefix for team messages in public chat
team-chat-formatStringsee aboveFormat with {tag}, {player}, {message}

Redis

redis:
  enable: false
  host: "127.0.0.1:6379"
  password: "strongPass"
  server-id: "server-1"
OptionTypeDefaultDescription
enableBooleanfalseEnable multi-server Redis sync
hostString"127.0.0.1:6379"Redis host and port
passwordString"strongPass"Redis password
server-idString"server-1"Unique id of this game server

See Database & Redis.

Tag & Name Restrictions

tag-restrictions:
  minimum-tag-length: 3
  maximum-tag-length: 5
  tag-regex: "[a-zA-Z0-9]+"

name-restrictions:
  minimum-name-length: 3
  maximum-name-length: 16
  name-regex: "[a-zA-Z0-9]+"
OptionDefaultDescription
minimum-tag-length / maximum-tag-length3 / 5Allowed tag length
tag-regex[a-zA-Z0-9]+Regex for valid tags
minimum-name-length / maximum-name-length3 / 16Allowed name length
name-regex[a-zA-Z0-9]+Regex for valid names

Ranking

ranking:
  enable: true
  custom-death-messages: true
  disabled-death-message-worlds:
    - "world_nether"
    - "world_the_end"
  default-ranking: 500
  single-player-ranking-delay: 30
  disabled-worlds:
    - "your_very_peaceful_world"
  ranking-type: ELO
  multi-accounts-abuse: true
  elo-ranking:
    elo-constants:
      - minimum-ranking: 0
        maximum-ranking: 500
        elo-correction-factory: 32
      - minimum-ranking: 500
        maximum-ranking: 1000
        elo-correction-factory: 24
      - minimum-ranking: 1000
        maximum-ranking: 99999
        elo-correction-factory: 16
    elo-divider: 400.0
    elo-exponent: 10.0
  percentage-ranking:
    percentage-ranking-change: 2.0
  static-ranking:
    static-winner-ranking-change: 15
    static-loser-ranking-change: 5
OptionDefaultDescription
enabletrueEnable ranking on player death
custom-death-messagestrueCustom kill/death announcements
disabled-death-message-worldslistWorlds without death messages
default-ranking500Starting points for new profiles
single-player-ranking-delay30Minutes before the same victim grants points again
disabled-worldslistWorlds where ranking does not apply
ranking-typeELOELO, STATIC, or PERCENTAGE
multi-accounts-abusetrueMulti-account abuse protection

Full ranking details: Ranking.

Economy

economy:
  enable: true
  economy-type: ITEMS
  economy-item: # ItemStack (material, name, lore)
  cost-for-create-team: 100.0
  cost-for-one-expiration-day: 100.0
  default-members-slots: 10
  maximum-members-slots: 20
  cost-for-one-slot-of-members: 100.0
OptionDefaultDescription
enabletrueEnable economy costs
economy-typeITEMSVAULT or ITEMS
economy-itemEmeraldCurrency item for ITEMS mode
cost-for-create-team100.0Cost to create a team
cost-for-one-expiration-day100.0Cost per day of renewal
default-members-slots10Starting member slots
maximum-members-slots20Max slots via upgrades
cost-for-one-slot-of-members100.0Cost per extra slot

See Economy & Expiration.

Expiration

expiration:
  enable: true
  default-expiration-hours: 7
  maximum-expiration-hours: 125
OptionDefaultDescription
enabletrueEnable team expiration
default-expiration-hours7Lifespan of a new team (hours)
maximum-expiration-hours125Cap on total expiration extension

Reminders

reminders:
  remind-on-join: true
  remind-periodically: true
  send-reminders-to-all-members: false
  reminders-period: 60
  minimum-time-to-remind: 1
  minimum-time-unit: DAYS
OptionDefaultDescription
remind-on-jointrueRemind when joining the server
remind-periodicallytruePeriodic reminder task
send-reminders-to-all-membersfalseIf false, only the leader is reminded
reminders-period60Period in minutes
minimum-time-to-remind1Threshold before expiry to start reminding
minimum-time-unitDAYSDAYS, HOURS, MINUTES, or SECONDS

Database

database:
  database-type: H2
  hostname: "localhost"
  base: "mineTeams"
  port: 3306
  username: "root"
  password: "securepass"
OptionDefaultDescription
database-typeH2H2, MYSQL, MONGODB, or FLAT
hostname"localhost"Host for MySQL/MongoDB
base"mineTeams"Database / schema name
port3306Port
username / passwordCredentials

See Database & Redis.

Announcement

announcement:
  limit-announcement-count: false
  maximum-announcement-count-per-entity: 2
  announcement-persistence-period: 2m
  title-announcement-for-death-and-kill: true
OptionDefaultDescription
limit-announcement-countfalseRate-limit kill/death announcements
maximum-announcement-count-per-entity2Max announcements per entity in the period
announcement-persistence-period2mWindow for the limit
title-announcement-for-death-and-killtrueShow title on kill/death

Commands (commands.yml)

Every player and admin subcommand can be customized:

player-commands:
  team-command:
    enabled: true
    name: "team"
    aliases:
      - "zespol"
    description: "Main command for teams."
    permission: "team.command"
    usage: "/team"
  create-command:
    enabled: true
    name: "create"
    # ...
FieldDescription
enabledRegister the command when true
namePrimary command/subcommand name
aliasesAlternative names
permissionRequired permission node
usageUsage string shown on errors
descriptionOptional description

GUIs (guis.yml)

Dashboard inventory for /team panel:

FunctionBehavior
NONEDecorative item
UPGRADE_MEMBERSPurchase an extra member slot
EXPIRATION_UPDATEExtend team expiration by one day

GUI placeholders include {tag}, {name}, {leader}, {deputies}, {members}, {maximumMembers}, {upgradeSlotsPrice}, {expireAt}, {expirationCost}.

Inventory types: CHEST, WORKBENCH, HOPPER, DISPENSER, BREWING.

Messages (messages.yml)

All player-facing messages live in messages.yml. The plugin supports legacy color codes (&) processed into MiniMessage/Adventure components. Customize help lines, death messages, ranking formats, and PlaceholderAPI fallbacks there.