Install and first start
Install
- Stop the server.
- Put
AdminControl.jarin theplugins/folder. - Start the server. On the first start with this version the server downloads the text library AdminControl lists
(Adventure) from Maven Central into its
libraries/folder, so it needs internet access then; Paper, Purpur and Folia keep using their own copy, Spigot uses the downloaded one. AdminControl createsplugins/AdminControl/withconfig.yml,messages_en.yml,messages_pl.ymland, with the default SQLite database,data.db.
The panel listens on port 8080 of all addresses by default (web.host, web.port in config.yml).
On a hosting panel, use a port your host gives you.
Plain HTTP is not encrypted. Opened straight on its port, the panel speaks plain HTTP: anyone on the same network (public Wi-Fi, a shared host) can read your password and take over your signed-in session. Before you use the panel from outside your machine, put it behind HTTPS (Panel over HTTPS, or a tunnel such as Cloudflare Tunnel). If you cannot, at least limit it to your own addresses with the IP whitelist and never sign in over public Wi-Fi.
Create the Owner account
With no Owner account yet, the console prints a link valid for 30 minutes:
<public-url or http://host:port><base-path>setup/<token>
- Open it in your browser.
- Choose a user name and a password (at least 10 characters, not a common password).
- Scan the QR code with an authenticator app (Google Authenticator, Authy, 2FAS, ...) and type its code.
- The panel shows 10 backup codes once. Keep them somewhere safe: each one signs you in once without the app.
After a restart without an Owner, the console prints a new link; the old one stops working.
Lost access
- Lost the authenticator app, still have backup codes: sign in with a backup code, then set up the app again in Settings → My account.
- Lost both: run
/ac resetownerin the server console (not in game, not from the panel console, not over RCON). It prints a new setup link. The current Owner accounts are turned off only when the new account finishes its 2FA setup. - Locked out by the IP whitelist: run
/ac whitelist offin the server console.
On Folia
Everything works as on Paper. Two things differ because Folia ticks each region of the world on its own thread:
- Dashboard TPS: the TPS tile shows the weakest region that has a player in it (with no one online: the global region), and says so under the number. MSPT shows "–": Folia does not report it per region.
- Panel console: commands run on Folia's global region. Vanilla commands that act on entities somewhere else in the world may be refused by Folia itself.
On Spigot
Everything works as on Paper, with these differences:
- First start: Spigot has no Adventure, the text library AdminControl uses, so on the first start the server
downloads it from Maven Central into its
libraries/folder (thelibrarieslist of the plugin). The server needs internet access then; without it AdminControl does not load (see Troubleshooting). Paper, Purpur and Folia download the same files but keep using their own Adventure. - Dashboard: TPS comes from AdminControl's own tick counter (the last minute). MSPT shows "–": Spigot does not report how long a tick takes.
- Behind Velocity: Spigot has no modern forwarding. Use
bungeecord: trueinspigot.yml, Velocity'sbungeeguardforwarding mode and BungeeGuard on the server (see Velocity network).
A libraries/ folder copied from another server is trusted as it is. Check every file in the table against these
SHA-256 sums, the same files as on Maven Central, before you start the server with them:
| File | SHA-256 |
|---|---|
adventure-api-4.21.0.jar |
64a765760401e78d433a87dbd4cda57016b303853c6fd1dc97087b5a3aa68133 |
adventure-key-4.21.0.jar |
6a9398c9d402089f9da060a56b45cae7d58cbf199371a6d8ec1a26d8f94cc6bb |
adventure-nbt-4.21.0.jar |
af6ec05f168294a2e688bb3c5211b123bd0d4d78791e24bb7f1139ad98b5eb35 |
adventure-text-minimessage-4.21.0.jar |
51cb4878851b72633bea1d1b5b24e8de34614bc928ae8a1dba96b638e9a4e8c4 |
adventure-text-serializer-plain-4.21.0.jar |
129d69888bb93fe96f512f1e581a1d36f0288361b85e8ec804fd6eecbcef312e |
adventure-text-serializer-legacy-4.21.0.jar |
9ac1b99f828458e19008f675781a0e8c8517cdfa22a1fc5bb87a7bf69554c35c |
adventure-text-serializer-gson-4.21.0.jar |
39b51cfa9a04df6e1d2f431d26a697ed619623696cdeb1c00a1afd347c5ce084 |
adventure-text-serializer-gson-legacy-impl-4.21.0.jar |
682f5c59d853f24a40eb89afe4b92b83aa7f67cc85feb4d281c1b42e55b29f30 |
adventure-text-serializer-json-4.21.0.jar |
928717b2dc7645ab616617c0bd55e80a9c0358762b590a0d3c0bbe302b2e5481 |
adventure-text-serializer-json-legacy-impl-4.21.0.jar |
ccc0ac5c8052a350bfcaba67ca4d37c7214be5a1f8d92caae38c1cad6cf8bf55 |
adventure-text-serializer-commons-4.21.0.jar |
2eeb26605c723a57e5b63d24c2dd64182153a1486ca8e9f30bcba42d207f2c2a |
adventure-text-serializer-bungeecord-4.4.1.jar |
e1bc376c6dc7a2100016015735ce4ccc534d2b26bf5ab82aac751c5032056c39 |
adventure-platform-bukkit-4.4.1.jar |
cdcb3a66abbf9e393614db5deb27f841117c5b5b7ef52753a2c846fd46c9cdf1 |
adventure-platform-api-4.4.1.jar |
ec604628c2b7c165ea74c1fcb3a2d0f03359c2c77a14960e3a0bc2e379670ac2 |
adventure-platform-facet-4.4.1.jar |
20f8e6db34d722a4acccbedcc9b6c02e8ee6b3cab9350b06ab3d1c0b0b8b454f |
adventure-platform-viaversion-4.4.1.jar |
df463083060a51403df0cfe3e08e3c8890103bfc707e9235f6279e87c619753f |
examination-api-1.3.0.jar |
c9237ffecb05428f6eff86216246ac70ce0b47b04c08ea7ca35020fde57f8492 |
examination-string-1.3.0.jar |
7d01fc25a4bb3af0e1662685455f4541fbf4626216ea5846e455c1491e156b8c |
option-1.1.0.jar |
97b69b4b17dfe02217c9131ad342564cbc9aebd04c75eb689639b5f78fd4b11c |
gson-2.8.0.jar |
c6221763bd79c4f1c3dc7f750b5f29a0bb38b367b81314c4f71896e340c40825 |
annotations-26.0.2.jar |
2037be378980d3ba9333e97955f3b2cde392aa124d04ca73ce2eee6657199297 |
jspecify-1.0.0.jar |
1fad6e6be7557781e4d33729d49ae1cdc8fdda6fe477bb0cc68ce351eafdfbab |
auto-service-annotations-1.1.1.jar |
16a76dd00a2650568447f5d6e3a9e2c809d9a42367d56b45215cfb89731f4d24 |
Behind a Velocity proxy
Put the same jar on the proxy too and give everything one MySQL or MariaDB database: see Velocity network. Behind BungeeCord or Waterfall: see BungeeCord network.
Update
Stop the server, replace the jar, start the server. The database is updated on start; your settings and data stay.
After an update that adds a library, the first start downloads it from Maven Central (see "Install" above).
Keep a copy of plugins/AdminControl/ before big updates.