-
Notifications
You must be signed in to change notification settings - Fork 3
Configuration
endixon edited this page Dec 31, 2025
·
4 revisions
This page explains the configuration model for Common, Proxy and Paper modules: semantics, required fields, and operational constraints.
Configuration files overview
- Common App:
./config.json(same folder asEndSectors-application.jar) - Proxy:
plugins/EndSectorsProxy/config.json - Paper:
plugins/EndSectors/config.json - Tools plugin:
plugins/EndSectors/config.json(uses main EndSectors values)
Important rules
- Credentials consistency: The NATS URL, NATS connection name (optional), Redis host/port/password must be identical in all configuration files. A single character mismatch will break the network.
- Name Trinity: a sector's name must match in three places:
- Velocity's
[servers]server name invelocity.toml - Proxy map key (the JSON key inside
sectors) - Paper plugin
currentSectorvalue
- Velocity's
- World consistency: The
worldfolder specified for sectors must be identical across all sector servers.
Common config (high level)
- redisHost, redisPort, redisPassword
- natsUrl (e.g.,
nats://127.0.0.1:4222) - natsConnectionName (optional but recommended for easier tracing)
- security: enable TLS and credentials for production
Proxy config (map + network)
- connection settings (same Redis/NATS as others)
- sectors: nested object grouping by sector type (
SPAWN,SECTOR,NETHER,END,QUEUE, etc.) - each sector entry:
- pos1X, pos1Z, pos2X, pos2Z: inclusive boundary coordinates
- type: sector type (used for titles/scoreboards)
- world: world folder name (must match actual server world)
Paper config (local sector settings)
- currentSector: the exact sector id (e.g.,
spawn_1) - scoreboardEnabled: boolean
- border distances (fine-tune when players are warned or prevented from interacting)
- protection and transfer delay timings
- scoreboard templates and sectorTitles: use MiniMessage-compatible formats
Validation & sanity checks
- Coordinate overlap checks: proxy validates overlapping sectors; avoid gaps and misaligned boundaries.
- World name checks:
worldname must match server's actual world. - Connection checks: on startup, services verify connectivity to Common; if mismatched credentials are detected, services may reject registration.
Config versioning & migration
- Add explicit
configVersionin future releases to simplify migrations. - When changing semantics (e.g., new fields), keep backward-compatible defaults where possible.
Example of the Name Trinity
- Velocity
velocity.toml:[servers] spawn_1 = "127.0.0.1:30001"
- Proxy config:
"sectors": { "SPAWN": { "spawn_1": { ... } } }
- Paper config:
{ "currentSector": "spawn_1" }
Tip: Use a single source of credentials (a secure password manager or env file) and copy-paste across configs to avoid typos.
Next: See Configuration Examples for concrete JSON files and annotated fields.