Get Started (Pterodactyl)
Connect a Pterodactyl panel to NodeRings — application key, panel user, client key, agent, platform, and node
This is the path from a running Pterodactyl panel to a node that can sell game servers on NodeRings.
You create two keys on the panel and install them on your agent. NodeRings stores the panel URL only. The platform form has no key fields.
Game servers. Virtual machines stay on Proxmox, VirtFusion, or SolusVM 2. Sell game servers on their own, or add them beside a hypervisor you already registered.
Before you start
| You need | What for |
|---|---|
| Pterodactyl panel | Admin login, and a Wings node that is online |
| Free allocations | An IP and ports on that node. NodeRings picks a free port from that list. |
| Agent VM | Ubuntu 22.04+, outbound HTTPS. Register an agent covers the service account token and --org-id. |
| Application key and client key | The install asks for both. What you type stays on screen. |
1. Application API key
In the panel, open Admin → Application API → Create New.
Application API permissions
Step 1 of 1
Description: NodeRings operator (any name you will recognize later).
Set the radios in this order. It is the same order as the form.
| Resource | Set this |
|---|---|
| Allocations | Read |
| Database Hosts | None |
| Eggs | Read |
| Locations | None |
| Nests | Read |
| Nodes | Read |
| Server Databases | None |
| Servers | Read & Write |
| Users | None |
Servers → Read & Write is what creates, suspends, and deletes a game server. Read on Nodes, Allocations, Nests, and Eggs is what finds a place to put it. Leave every other row on None.
Click Create Credentials. The panel shows the key once. It starts with ptla_. Copy the whole key. The install asks for it and shows every character as you paste.
The panel will not let you edit these permissions later. Create a new key if you need a different set.
2. Panel user
This user owns every game server NodeRings creates. Create a user for that job. Administrator stays No.
Admin → Users → Create New.
Create the panel user
Step 1 of 2
Fill email, username, and name. Leave Administrator on No. Set a password here, or leave it empty and let the panel email one.
After the user exists, open Admin → Users. The ID column is the number the install asks for.
3. Client API key
Log in to the panel as that user. Open the account menu (your name, top right) → API Credentials.
Client API key
Step 1 of 1
Description: NodeRings agent. Leave Allowed IPs empty unless you want the key to work only from the agent.
Click Create. The panel shows this key once. It starts with ptlc_. Copy the whole key. The install asks for it and shows every character as you paste.
This key has no permission grid. It acts as that user. Power, the console, files, databases, schedules, and backups use it.
4. Agent
Run this on the agent VM, with the CLI already logged in (NR_API_TOKEN and your organization id). See Register an agent.
The command asks for the panel URL, the application key, the client key, and the user id from the Users table. The URL is the panel origin: http:// or https://, with no /admin and no path. Paste each value when asked. The keys stay visible while you type. The example user id below is 3. Use your own ID.
To skip the questions, export the values first. Put the key itself in the variable:
export PTERODACTYL_PANEL_URL=https://panel.example.com
export PTERODACTYL_APPLICATION_KEY=ptla_...
export PTERODACTYL_CLIENT_KEY=ptlc_...
export PTERODACTYL_PANEL_USER_ID=3Game servers only
nr cluster register \
--pterodactyl \
--name edge-ams-01 \
--agent-ip 203.0.113.10 \
--gateway-region AMS01 \
--org-id <org-uuid>This command has no --hypervisor-driver.
This agent is already registered
nr cluster install-pterodactylThe keys are stored in a Secret on the agent. They are not sent to NodeRings.
Installing a hypervisor in the same command is covered in Install an agent for Pterodactyl.
Replace a wrong panel URL or key
The panel URL, both keys, and the user id stay in Secret operator-pterodactyl-operator-panel-credentials in pterodactyl-system. Run the installer again to replace them. Unset any earlier exports first, or the CLI reuses those values and does not ask:
unset PTERODACTYL_PANEL_URL PTERODACTYL_APPLICATION_KEY PTERODACTYL_CLIENT_KEY PTERODACTYL_PANEL_USER_ID
nr cluster install-pterodactyl
k3s kubectl -n pterodactyl-system rollout restart deploymentThe URL is still the panel origin, with no /admin. If the Panel URL on the NodeRings platform form is also wrong, edit that platform so it matches. The form has nowhere to paste a key.
5. Platform
In NodeRings, open Infrastructure → Platforms & Nodes and add a platform.
- Platform name — the name you want in NodeRings.
- Check This platform is Pterodactyl.
- Panel URL — the same origin you gave the CLI. A bare IP is stored as
http://plus that IP. - Agent — the agent from the previous step.
Save. There is nowhere on this form to paste a key.
6. Node
On the panel, open Admin → Nodes. Copy the Name. The heart on the left is green when Wings is online.
Copy the node name
Step 1 of 1
In NodeRings, on that platform, choose Add Node.
- Node name must match the panel name exactly. In the picture that name is
n1,n2, orn3. - Region is the NodeRings region customers see.
The Location column (lab in the picture) is the panel's own location. The NodeRings form asks for a region.
That Wings node needs at least one free allocation (an IP and a port) in the panel before an order can land on it.
Next
Open Gameserver templates. The games are the nests and eggs already on your panel. They show up after the catalog refresh.
Day-to-day reference: Pterodactyl.
