Skip to content

Configuration Overview

DonutSMPCore is fully YAML-driven. Almost every message, permission string, GUI layout, and feature toggle lives in config files under plugins/DonutSMPCore/.

Top-level files

File Purpose
config.yml License key + module enable/disable
storage.yml Database backend (SQLite / MySQL / MongoDB)
redis.yml Cross-server network settings

Module configs

Each enabled module has its own folder:

plugins/DonutSMPCore/
├── auction/config.yml
├── combat/config.yml
├── core/config.yml
├── duels/config.yml
├── economy/config.yml
├── home/config.yml
├── punishments/config.yml
├── shards/config.yml
├── tpa/config.yml
├── worth/config.yml
├── worth/gui/sell.yml
└── …

Module folders also contain:

  • messages.yml — chat messages (hex color supported: &#00F986)
  • gui/ — GUI layouts (where applicable)

Config versioning

Every module config includes a version or config-version field. On startup, DonutSMPCore migrates older configs automatically and adds missing keys with defaults.

Do not delete version keys

Removing the version field may cause duplicate keys or lost customizations on upgrade.

Feature flags (core)

plugins/DonutSMPCore/core/config.yml toggles individual command groups:

features:
  admin-commands:
    enabled: true
  alts:
    enabled: true
  commandspy:
    enabled: true
  maintenance:
    enabled: true
  voice:
    enabled: true
  back:
    enabled: true
  # … see core/config.yml for full list

Disabling a feature prevents its commands from registering.

Messages

Messages support:

  • Legacy & color codes
  • Hex colors: &#00F986 or #00F986
  • Placeholders: %player%, %donutsmpcore:module:key%, PlaceholderAPI when enabled

Reloading

Scope Command
Entire plugin /donutsmpcore reload
Individual module Module-specific reload commands (e.g. /punishmentsreload, /ah reload, /duelsadmin reload)

Cross-server config sync

When Redis network is active and main-server-id is set, configs sync from the main server to all backends. redis.yml is never synced (each server keeps its own server-id).

See Redis & Network.