// setup guide

Get up and running in five minutes.

Install the plugin, set your secret, forward a port, connect the app. Detailed walkthrough below — every step, every option, every common gotcha.

~ 5 min · Paper · Spigot · Purpur · 1.20+
00

Before you start

Read first

You'll need:

  • A Minecraft server running Paper, Spigot, or Purpur on Minecraft 1.20 or newer
  • Access to your server's plugins/ folder and the ability to restart the server
  • Access to your router's admin panel (for port forwarding, if your server is behind NAT)
  • An iPhone or iPad running iOS 17 or later
  • The PulsePanel app installed from the App Store
tip

If 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.

01

Install the PulseConnect plugin

~ 1 min

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.

Download

Grab the latest PulseConnect.jar from the Resources page.

Drop it in

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.
heads up

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.

02

Configure the plugin

~ 2 min

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.

Minimal working config

port: 7070
secret: "replace-this-with-a-strong-secret"
tls: true
bind-address: "0.0.0.0"

What each field does

  • 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.
tip

Generate a strong secret quickly with openssl rand -hex 32 in your terminal. Anything 32+ random characters is fine.

Restart the server

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.
03

Forward the port

~ 1 min

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.

The general pattern

  1. Log into your router's admin panel — typically 192.168.1.1 or 192.168.0.1 in your browser
  2. Find the section called Port Forwarding, Virtual Servers, or NAT
  3. Add a rule: external port 7070 → internal IP of your server, internal port 7070, protocol TCP
  4. Save and apply
tip

Your 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).

04

Connect the app

~ 1 min

Open PulsePanel on your iPhone or iPad. You'll be taken to the sign-in screen.

Fill in the connection details

  • Server address — your server's public IP or hostname (e.g. 1.2.3.4)
  • Port — whatever you set in config.yml (default 7070)
  • Username — the account you created when you set up the plugin
  • Password — the password for that account
heads up

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.

first time?

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.

??

Troubleshooting

If something's not working
The app says "connection refused"

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.

The app says "authentication failed"

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.

The app connects but the dashboard is empty

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.

It works on my phone but not on my friend's phone

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.

Push notifications aren't arriving

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).

I'm still stuck

Email support@pulsepanelapp.com with what you tried and any error messages — server logs are especially helpful. We read every email.

That's it — you're running the panel.

Console, chat, players, worlds, files. All from your phone.

Download on the App Store →