Skip to content

Configuration

iAmForyy_ edited this page May 7, 2026 · 4 revisions

Configuration

This page explains all configuration files available in ByteClans.


config.yml

Storage

storage:
  type: H2 # H2, MYSQL, MARIADB
Option Description
type Database engine to use. H2 requires no setup.

Connection Pool

storage:
  pool:
    connection-timeout: 5000
    max-lifetime: 1800000
    max-pool-size: 10
    min-idle: 1
Option Description
connection-timeout Maximum time (ms) to wait for a connection before failing
max-lifetime Maximum lifetime (ms) of a database connection
max-pool-size Maximum number of active connections
min-idle Minimum number of idle connections kept ready

MySQL Credentials

Only required when type is set to MYSQL. Ignored when using H2.

storage:
  credentials:
    host: localhost
    port: 3306
    database: "byteclans"
    username: "root"
    password: ""
    use-ssl: "false"

H2

storage:
  h2:
    file: storage
Option Description
file Path where the H2 database file will be stored

Settings

settings:
  serializer: MINI_MESSAGE
Option Description Values
serializer Text format engine used for messages MINI_MESSAGE, LEGACY_AMPERSAND

Clan

clan:
  name:
    minimum-chars: 3
    maximum-chars: 16
  defaults:
    max-members: 20
    pvp-mode: NO_DAMAGE
    invite-state: INVITE_ONLY
    display: "<rainbow>{clan}</rainbow>"
  chat:
    clan-format: "<gray>[<gradient:gold:yellow>Clan</gradient>]</gray> {role_display} <gold>{player}</gold><gray>:</gray> <white>{message}"
Option Description
name.minimum-chars Minimum number of characters allowed for clan names
name.maximum-chars Maximum number of characters allowed for clan names
defaults.max-members Default member limit when a clan is created
defaults.pvp-mode Default PvP mode. Options: NO_DAMAGE, SAFE_DAMAGE, FRIENDLY_FIRE
defaults.invite-state Default invite state. Options: OPENED, CLOSED, INVITE_ONLY
defaults.display Default display name when a clan is created. Supports MiniMessage and Legacy formatting. Use {clan} as a placeholder for the clan name
chat.clan-format Format used for clan chat messages. Supports {player}, {role_display}, {message}

Invitations

invitations:
  ttl:
    amount: 1
    unit: MINUTES
Option Description
ttl.amount Duration before a pending invitation expires
ttl.unit Time unit for the TTL. Options: SECONDS, MINUTES, HOURS

roles.yml

Roles are global and apply to all clans on the server.
You can add as many roles as you want.

Structure

roles:
  owner:
    display-name: "<red>Owner"
    priority: 100
    actions: ALL
  co-owner:
    display-name: "<gold>Co-Owner"
    priority: 50
    actions:
      - INVITE_MEMBERS
      - KICK_MEMBERS
      - PROMOTE_MEMBER
      - MANAGE_SETTINGS
  member:
    display-name: "<gray>Member"
    priority: 1
    default: true
    actions:
      - INVITE_MEMBERS
Field Description
display-name Role name shown to players. Supports MiniMessage and Legacy formatting
priority Hierarchy value. Higher = more authority. Used to prevent lower roles from kicking or demoting higher ones
default If true, this role is assigned to new members when they join a clan. Only one role can be default
actions List of allowed actions. Use ALL to grant every action

Available Actions

Action Description
ADMINISTRATOR Grants every available action
INVITE_MEMBERS Can invite players to the clan
KICK_MEMBERS Can kick members from the clan
PROMOTE_MEMBER Can promote and demote members
MANAGE_SETTINGS Can modify clan settings
DISBAND_CLAN Can disband the clan
RENAME_DISPLAY Can rename the clan display name
CHANGE_PVP_MODE Can change the clan PvP mode
CHANGE_INVITE_STATE Can change the clan invite state

Adding a Custom Role

To add a new role, simply add a new entry under roles:

roles:
  veteran:
    display-name: "<aqua>Veteran"
    priority: 25
    actions:
      - INVITE_MEMBERS
      - KICK_MEMBERS

Note: Make sure each role has a unique priority value to avoid hierarchy conflicts.


messages.yml

All messages sent to players are defined in messages.yml.
Both MiniMessage and Legacy Ampersand formats are supported depending on the serializer set in config.yml.


If you need help, feel free to join our Discord.

Clone this wiki locally