Overview
Conceptual guide to Socialismus configuration areas and responsibilities.
This section explains Socialismus configuration as a set of concepts, not as one specific file syntax. That is intentional: Socialismus can choose its config representation at runtime, so the important thing is understanding what each config area means first.
Format-agnostic by design
Socialismus does not have to be documented as "the YAML plugin" or "the JSON plugin."
The runtime selects a configuration format from a marker file in the data directory, with type=YAML as the default behavior in the current codebase.
Some explanations include examples where that helps, while others stay descriptive when the setting type is simple enough without one.
Because of that, this documentation describes:
- what each configuration area controls
- how the pieces relate to each other
- when you should edit one config area instead of another
Setting flags
Some settings are marked with flags such as Advanced, Warning, Danger, or Reserved. These flags show that a setting is intentionally configurable, but should be changed with more care than ordinary options. Unmarked settings are normal day-to-day configuration.
Where each setting lives
plugins/Socialismus/
├── settings.yml level, serialization, vanilla, listeners
├── messages.yml prefix, command messages
├── commands.yml behavior, commands
├── sync.yml whether and how this server syncs with others
├── updater.yml update checks
├── chat/
│ ├── settings.yml notifications, fallback chat, history
│ ├── messages.yml what players are told about their chat messages
│ ├── sync.yml what chats do when synced
│ └── list/ every file here holds chats, under any name
└── modules/<Module>/ each module's own documentsOn a Velocity proxy the folder is plugins/socialismus/.
Upgrading the layout
settings starts with _version, which counts the upgrades of the data directory. On its first start a new release moves every setting, message and chat you changed to the place it reads it from, and copies each file it changes to .strata/backup/ first. Do not edit or remove _version.
Common value formats
Across configuration areas, values commonly appear in a few recurring forms:
- booleans such as
trueandfalse - bare numbers such as log levels, priorities, history sizes, or filler sizes
- durations such as
"30s","10m","1h"or"1d12h"; a bare number counts minutes - enum-like uppercase strings such as
"MINIMESSAGE"or event priorities such as"LOWEST" - maps keyed by command id, participant group, or fully qualified event class name
- lists of chat definitions, triggers, formats, requirements, aliases, or authors
- identifiers such as chat ids, permission nodes, server identifiers, and trigger symbols
For clarity, quoted strings are the safest style to document and maintain when a value is not obviously numeric or boolean.
