StellaStella

config.json

##Introduction

The config.json file holds Stella's global settings on Fabric: the update checker, the defaults applied to new teams, and the optional integrations (hooks). It's the JSON equivalent of the Paper config.yml, with camelCase keys.

INFO

Teams themselves are not stored here — they live in a separate teams.json file managed by the in-game commands. See Team storage below.

WARNING

There is no luckperms hook on Fabric, and the Paper minecraft_team hook is renamed scoreboard.

##Breakdown of the config.json file

{
  "updateChecker": {
    "enabled": true,
    "notifyOps": true
  },
  "teams": {
    "defaultColor": "#FFFFFF",
    "defaultPriority": 0
  },
  "hooks": {
    "scoreboard": {
      "enabled": false,
      "teamGroups": {}
    },
    "autoTeam": {
      "enabled": false,
      "team": "",
      "opBypass": false
    }
  }
}

##Explanation

###updateChecker

  • enabled — when true, Stella checks Modrinth on startup for a newer version.
  • notifyOps — when true, OPs are told an update is available as they join.

###teams

Defaults applied when a new team is created.

  • defaultColor — the hex color (#RRGGBB) given to a team created without an explicit color. Change it later per team with /stella setcolor.
  • defaultPriority — the priority assigned by /stella create <id> when you don't pass a priority argument.

###hooks

Optional integrations, each toggled independently.

  • scoreboard — mirrors teams as vanilla scoreboard teams (the ones coloring nametags and the tab list).

    • enabled — turn the hook on/off.
    • teamGroups — a map of team-id → scoreboard team name. Each scoreboard name must be unique and ≤ 16 characters. The nametag takes the color of the player's primary team (highest priority).
    "teamGroups": {
      "admins": "sb_admins",
      "vip": "sb_vip"
    }
  • autoTeam — drops teamless players into a default team when they join.

    • enabled — turn the hook on/off.
    • team — the team id players are added to. Must be an existing team.
    • opBypass — if true, OPs are not auto-assigned. (There is no permission node for this on Fabric — see Permissions.)

##Team storage (teams.json)

Teams are persisted in config/stella/teams.json. You normally manage them through commands (/stella create, add, setcolor, …), but here's the structure for reference:

{
  "red": {
    "priority": 2,
    "displayName": "Red Team",
    "color": "#FF5555",
    "members": [
      "f7c8b3a0-1234-4abc-9def-0123456789ab",
      "a1b2c3d4-5678-49ef-8abc-fedcba987654"
    ]
  },
  "blue": {
    "priority": 1,
    "displayName": "Blue Team",
    "color": "#5555FF",
    "members": []
  }
}
  • The top-level key (red, blue) is the team id — always lowercase, used in commands, placeholders and the API.
  • priority — integer; higher wins when a player belongs to several teams.
  • displayName — the name shown to players. Set it with /stella setname.
  • color — hex color (#RRGGBB). Set it with /stella setcolor.
  • members — list of player UUIDs. Stella stores members by UUID only, so memberships survive name changes. Edit through /stella add / /stella remove rather than by hand.
INFO

A names.json file is also generated in config/stella/ — it caches the last known name for each UUID so member lists can show readable names offline.

WARNING

/stella reload re-reads config.json and messages.json. Edit teams.json only while the server is stopped — runtime changes are written by the commands and a manual edit could be overwritten.