Plugin manager for tachyne — pulls, builds, boots and supervises daemon plugins; the fleet control plane behind /plugin
  • Go 97.8%
  • Dockerfile 2.2%
Find a file
Wesley Channon 1ade8bcb3e README: the bus handles upgrade too
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
2026-08-03 22:20:50 +02:00
.github/workflows tachyne-plugin-manager: split from tachyne-world 2026-07-12 17:57:31 +02:00
CONTRIBUTING.md tachyne-plugin-manager: split from tachyne-world 2026-07-12 17:57:31 +02:00
Dockerfile tachyne-plugin-manager: split from tachyne-world 2026-07-12 17:57:31 +02:00
go.mod tachyne-plugin-manager: split from tachyne-world 2026-07-12 17:57:31 +02:00
go.sum tachyne-plugin-manager: split from tachyne-world 2026-07-12 17:57:31 +02:00
LICENSE tachyne-plugin-manager: split from tachyne-world 2026-07-12 17:57:31 +02:00
main.go Fix perpetual OUTDATED flags: compare module change time, not repo sha 2026-07-12 19:53:49 +02:00
NOTICE tachyne-plugin-manager: split from tachyne-world 2026-07-12 17:57:31 +02:00
README.md README: the bus handles upgrade too 2026-08-03 22:20:50 +02:00
registry.go Fix perpetual OUTDATED flags: compare module change time, not repo sha 2026-07-12 19:53:49 +02:00
registry_test.go Fix perpetual OUTDATED flags: compare module change time, not repo sha 2026-07-12 19:53:49 +02:00
tachyne-plugin-manager remember each daemon's announce as its note 2026-07-12 18:12:36 +02:00

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.