Design
CLI / Web UI → lucyd → system service manager → lucy runner → Minecraft server
- Run one root
lucyd; non-root clients authorized through the lucy group address servers by alias.
- Run each server as an independent native service.
lucyd controls it through the service manager, which owns lifecycle and restart policy.
- Store the unique alias and service policy in
lucy.yaml; the global registry only maps aliases to paths.
- Alias registration is required before service registration. Generate service files from the manifest; never auto-reconcile them. Explicit sync replaces them, and removal deletes them.
lucy server … manages instances; lucy daemon … manages lucyd. --server selects a registered alias; --path selects any working directory.
- Start with systemd and launchd adapters; add other service managers later.
Design
CLI / Web UI → lucyd → system service manager → lucy runner → Minecraft serverlucyd; non-root clients authorized through thelucygroup address servers by alias.lucydcontrols it through the service manager, which owns lifecycle and restart policy.lucy.yaml; the global registry only maps aliases to paths.lucy server …manages instances;lucy daemon …manageslucyd.--serverselects a registered alias;--pathselects any working directory.