Goal
After this checklist, the host has shared identity in plugins/RootMC/cloud.yml, license presence on api.rootmc.net, and /rootcore connect prints NETWORK CONNECTED. Feature plugins then share economy sync, Discord hooks, stats, and transfer mesh through that identity.
Network spine (required)
- Root-Core — bind, presence, shared folder, updater, Discord/Slack comms
- RootMC — heartbeat, account link, cloud economy consumers
Outbound HTTPS to https://api.rootmc.net must work from the host. Set cloud.yml discord.* / slack.* under Root-Core for per-server chat bridge and reachout. Do not install a separate Root-Discord jar.
Checklist
- Install jars for the spine plus any packs you bought (Root-Claims land — see live land).
- Register at the developer portal and create a product key.
- Edit
plugins/RootMC/root-core.yml: set server-name and product-key. Leave cloud secrets blank on first boot.
- Start (or restart) Paper once. Root-Core binds and writes
server-id / server-secret into cloud.yml.
- Run
/rootcore connect — expect NETWORK CONNECTED.
- Optional: Discord bot fields in
cloud.yml, confirm the host under My Servers, run /rootcore update for suite jars.
/rootcore connect
Pass/fail probe for operators (rootcore.admin):
- Required plugins enabled
- Cloud credentials present
- Product key present + license presence OK (or bind id set)
- API base reachable over HTTPS
- Recommended packs reported as WARN if missing (do not fail the spine)
/rootcore status stays the verbose dump and shows a NETWORK CONNECTED / INCOMPLETE banner at the top.
Recommended packs
| Pack | Plugins |
| Economy | Root-Economy, Root-Perms, Root-Times (Vault optional) |
| Land | Root-Claims, Root-Territories |
| Ops/QOL | Root-Essentials, Root-Play, Root-Ops, Root-Skills |
| Discord / Slack | Root-Core comms (cloud.yml + root-core.yml comms:) |
Where jars live
Public catalog: rootmc.net/plugins. Source of truth for versions and downloads: manifest.json. Root-Core self-updates (and can self-install) every file listed there via /rootcore update or the scheduled poll. Do not treat GitHub Releases as jar distribution.