- Go 97.8%
- Dockerfile 2.2%
mc.plugin.upgrade is accepted (a rebuild-and-boot alias for restart) but was missing from the documented op list. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E3k8GjiCuFcFEFmBiXorba |
||
|---|---|---|
| .github/workflows | ||
| CONTRIBUTING.md | ||
| Dockerfile | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| main.go | ||
| NOTICE | ||
| README.md | ||
| registry.go | ||
| registry_test.go | ||
| tachyne-plugin-manager | ||
tachyne-plugin-manager
The plugin manager for tachyne: the go-get model applied to running plugins. Give it a daemon plugin's module path and it pulls the source, builds it locally, boots it as its own process attached to the server's NATS bus, and supervises it — restart with backoff, prefixed logs, hot install/uninstall/reload while the server runs.
go install github.com/tachyne/tachyne-plugin-manager@latest
# one-off
tachyne-plugin-manager run github.com/tachyne/tachyne-world/daemons/webmap
tachyne-plugin-manager run ./mydaemon # local dev loop
# managed set (live control plane)
tachyne-plugin-manager -config daemons.json
In -config mode the manager answers the fleet control plane on the bus —
mc.plugin.install / uninstall / restart / upgrade / list / search / info / rate
(request-reply; plain ops broadcast to every manager, mc.plugin.at.<name>.<op>
targets one) — which is what the engine's in-game /plugin command and
browser drive. Installs persist to daemons.json; restart rebuilds first,
so unpinned daemons hot-reload. Point -registry / TACHYNE_REGISTRY at one
or more plugin registries for
name resolution, search, and out-of-date checks.
Daemons receive the bus address via NATS_URL. Building requires the Go
toolchain (the container image ghcr.io/tachyne/tachyne-plugin-manager
includes it). Writing plugins: see the
plugin docs.
License
Apache-2.0. tachyne is an unofficial fan project, not affiliated with Mojang, Microsoft, or Minecraft's developer/publisher in any way.