Install the plugin, set your secret, forward a port, connect the app. Detailed walkthrough below — every step, every option, every common gotcha.
You'll need:
plugins/ folder and the ability to restart the serverIf you've used Adminium, ServerTap, or any similar plugin-and-app combo, the setup pattern here will look familiar. Drop a JAR, edit a config, sign in.
PulseConnect is the free server-side companion to the PulsePanel app. It's what listens on your server, exposes the data the app needs, and accepts your authenticated commands.
Grab the latest PulseConnect.jar from the Resources page.
Move the JAR into your server's plugins/ folder, then restart the server (a full stop/start, not /reload).
# From your server directory: mv ~/Downloads/PulseConnect.jar ./plugins/ systemctl restart minecraft # Or if you run the server manually: ./start.sh
On first run, PulseConnect creates a default config at plugins/PulseConnect/config.yml and logs that it's been generated:
[INFO] [PulseConnect] Default config generated at plugins/PulseConnect/config.yml [INFO] [PulseConnect] Edit your config and restart to enable the plugin.
The plugin won't accept connections until you've set a secret in config.yml (next step). This is intentional — it prevents an unconfigured plugin from being reachable with default credentials.
Open plugins/PulseConnect/config.yml in your editor of choice. The file is commented and most defaults are sensible — the only fields you must set are the secret and the port.
port: 7070 secret: "replace-this-with-a-strong-secret" tls: true bind-address: "0.0.0.0"
port — the TCP port PulseConnect listens on. Default 7070. Pick anything you like, just make sure it's not already in use and not blocked by your hosting provider.secret — a server-internal value that the plugin uses to sign things. Treat it like a password. Use a long random string. You won't enter this in the app — the app uses regular account credentials (next steps).tls — enable TLS encryption between the app and plugin. Recommended true for any setup that's reachable from the internet.bind-address — what IP the plugin binds to. 0.0.0.0 means "listen on all interfaces." Use 127.0.0.1 if you only want local access.Generate a strong secret quickly with openssl rand -hex 32 in your terminal. Anything 32+ random characters is fine.
Once you've saved config.yml, restart the server again. You should see PulseConnect come online:
[INFO] [PulseConnect] Loading config... [INFO] [PulseConnect] Listening on 0.0.0.0:7070 (TLS enabled) [INFO] [PulseConnect] Ready for connections.
If your server is hosted on a cloud provider (DigitalOcean, OVH, BisectHosting, etc.) with a public IP, you can probably skip this step — your server is already reachable. Confirm by trying to connect from the app first.
If your server runs at home or behind NAT, you need to forward your chosen port (7070 by default) on your router so the app can reach it from outside your network.
192.168.1.1 or 192.168.0.1 in your browser7070 → internal IP of your server, internal port 7070, protocol TCPYour server's internal IP is typically something like 192.168.1.x. On the server itself, run ip a (Linux) or check System Settings → Network (macOS).
Open PulsePanel on your iPhone or iPad. You'll be taken to the sign-in screen.
1.2.3.4)config.yml (default 7070)Account credentials are managed on the server side by the plugin, not by us. PulsePanel doesn't have its own user accounts — your credentials live on your server, and that's the only place you'll ever sign in.
Tap Sign in. The status indicator should turn green within a second or two:
● Survival · connected · 28 ms
From here, the dashboard, console, chat, players, worlds, files, and tickets are all live. You're done.
Take a minute to walk through each tab. Tap a player to see their inventory. Open the console to send a command. Edit a plugin's config.yml from the file manager. The app's faster than it looks.
The plugin isn't running, or it's not reachable on the address/port you gave the app.
Check the server console — look for [PulseConnect] Listening on... after server start. If you don't see it, the plugin didn't load. Verify the JAR is in plugins/ and the server fully restarted.
If the plugin is running, your port forward isn't working. Use a tool like canyouseeme.org to test whether port 7070 (or whatever you set) is reachable from outside your network.
Your username or password is wrong. Try again carefully — watch for caps lock and trailing spaces if you copy-pasted.
If you forgot the credentials, you can reset them in config.yml on the server side and restart.
This usually means the plugin is on but the server is still starting. Wait 10–20 seconds and pull-to-refresh.
If it's still empty after a minute, check the server console for any [PulseConnect] error lines — there might be a config issue or a conflict with another plugin.
PulsePanel is designed for the server owner only — there's no support for handing app access to other staff at the moment. If your friend can't connect with your address and credentials, that's expected.
Multi-staff support may come in a future release.
First, make sure notifications are enabled for PulsePanel in iOS Settings → Notifications.
Inside the app, check Settings → Notifications and confirm the categories you care about are toggled on.
Push delivery can take a few seconds — Apple's normal range is sub-second to about 30 seconds. If nothing's arriving after several minutes, try toggling notifications off and on, then send a test event from the server (e.g. join the server yourself).
Email support@pulsepanelapp.com with what you tried and any error messages — server logs are especially helpful. We read every email.
Console, chat, players, worlds, files. All from your phone.
Download on the App Store →