Socialismus
Configuration

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 documents

On 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 true and false
  • 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.

On this page