Track player activity with Plan
Install the Plan plugin from the Plugins tab, give its web page an extra port, point its address at your server and read player stats in a browser.
Plan records how players use your server and shows it on a web page: online activity, the playerbase and how both change over time. It is a plugin for Paper, Purpur and Folia (where your JAR Manager offers Folia), with a separate build for Fabric. Its web page needs a port of its own, so the main job is giving Plan a port from your plan.
Checked against Plan 5.8 build 3638 on Paper 26.3, October 2026.
Plan's Modrinth page says an impersonator distributed a backdoored copy of Plan between 15 February and 11 March 2025. Install the one named Plan | Player Analytics by AuroraLS3, and leave anything else with a similar name alone.
What you need
- A Plugins tab (Paper, Purpur or, where offered, Folia). Plan also has a Fabric build, which shows in the Mods tab and needs Fabric API. Switch software in the JAR Manager if you need to (Change your Minecraft version or mod loader).
- An extra port. Open Settings, scroll to Connections and look at the Network ports card. If it says "Your plan doesn't include extra ports.", the web page can't be reached from outside. Add an extra port to your server explains the limit and how to get more.
- A recent backup. Create one in the Backups tab (How to create and restore backups).
Install Plan
- Open the Plugins tab and keep the Modrinth chip selected. The chips above the search box are Modrinth, CurseForge, Hangar and GitHub.
- Search for
Plan. Other projects have similar names, so check the author on the result before you install. - Click Install on Plan | Player Analytics. The store installs the newest release for your Minecraft version. If you have no recent backup, a No backup yet window opens first. Click Install Plan | Player Analytics anyway to carry on, or Go to Backups to take one first.
- Restart from the Console tab. Plan loads on Paper 26.3 and, when the server is up, has created
plugins/Plan/config.yml.
Give Plan a port
Plan's web page runs on its own port, 8804 by default. You can't choose the number of an extra port, because ports come from our shared range, so Plan has to be told which one you were given.
- In Settings, on the Network ports card, click Add port. The new row has the Extra badge. Note its number, or use the copy button to take the whole address.
- Stop the server from the Console tab, then open the File Manager and go to
plugins/Plan. Double-clickconfig.yml. - Find the
Webserversection and setPortto the number from step 1:
Webserver:
Port: 8804 # replace with your extra port's number- Click Save, then start the server from the Console tab.
Open the dashboard
Plan prints the address of its page in the console at startup, in a line like Webserver running on PORT ####. Until you set an address, that line shows http://localhost: followed by your port, which is not an address you can use. The address starts with http:// until you set up HTTPS.
To give Plan an address you can use, set it yourself in config.yml:
Webserver:
Alternative_IP:
Enabled: true
Address: "myserver.servers.playyourway.com.au:%port%"Leave %port% exactly as written, because Plan fills in the port from Webserver.Port. Put your own address in front of it. The free address from Claim a free server address suits this, because it is a DNS A record pointing at your server's IP, which is the setup Plan's maintainer describes for a custom name. The IP shown on the Network ports row works too: put it in front of :%port%. Then run plan reload in the console. In game, /plan server prints a link to the page, and the console line now shows your address. Open that address in your browser.
This setting only changes the address Plan puts in its links. It doesn't restrict who can open the page, because Plan's IP whitelist is off by default (see the next section).
Who can see the page
Plan's login only works once HTTPS is set up, which needs a certificate and goes beyond this guide. Until then Plan has no login, so treat the address as public.
If you want it limited, Plan has an IP whitelist, off by default. Under Webserver, in Security, set IP_whitelist Enabled to true and add your own address to Whitelist. Only the addresses listed can then open the page.
Optional: country data
Plan can show where players connect from. For better country data, set Accept_GeoLite2_EULA to true under Data_gathering. That lets Plan download MaxMind's database, so read MaxMind's licence first.
If the page won't load
- Connection refused or timed out: the number in
Webserver.Portdoesn't match the Network ports row, or the server hasn't been restarted since you changed it. - Plan can't bind its port: Plan's setup page covers this under "Failed to bind port" and says the port is likely in use by another program, so try another one. In the panel that means releasing the port in Settings and adding a new one.
- A name error in the browser: the host in
Alternative_IPdoesn't exist. Use the address from the Network ports row instead. - A Failed to load badge in the Installed list: read the lines above the error in the console, then check that the Plan version you installed lists your Minecraft version.
Was this guide helpful?
Related guides
Start a Quake server in Minecraft
Set up the Quakechasm beta with CommandAPI, WorldEdit and a resource pack on Paper 1.21.11, build a map with the Mapper Toolkit and start a match.
Get modpack features with Paper plugins
Match common modpack features such as claims, quests and vein mining to Paper plugins that need no client mods, and see what has no plugin equivalent.
Start a UHC server in Minecraft
Run a UHC game on a Paper server with the GreatUHC plugin: install it from Hangar, tune the phases and border in config.yml, then start with /uhcstart.
