Skip to content

Documentation

Pterodactyl

Pterodactyl is the game panel integration. A game server is a container built from a recipe rather than from an operating system image, so almost everything about it differs from a virtual machine, including the fact that the console is the main event and not a bonus.

Two keys, not one

Pterodactyl splits its API in two, and Provibr needs both halves. They do different work and one cannot stand in for the other.

  • Application key: creating, suspending, reinstalling, deleting and reading. It starts with ptla_.
  • Client key: power control, usage measurements and the console. It starts with ptlc_.
  • Host: the panel's address. No port is filled in for you: a Pterodactyl panel is an ordinary website behind a reverse proxy.
Create both keys while signed in as an administrator. A normal account's client key cannot see other people's servers, and the connection test says so rather than letting you discover it later.
Swapping the two keys is caught before anything leaves your host, because each has its own prefix.

Settings

One optional field: the email address that owns servers Provibr creates. Leave it empty and they are owned by the account behind the client key. Give an address that does not exist yet on the panel and an account is created for it.

The words Pterodactyl uses

Egg
The build recipe: which container images may be used, the startup command, and its own variables. An egg is what you choose instead of an operating system.
Nest
A group of eggs. It is a label; the egg is the thing that is actually referenced.
Node
A machine running Wings, the daemon that runs the containers. If you do not pick one, the node with the most free memory is chosen, skipping nodes in maintenance and nodes that are not public.
Allocation
The address and port a server listens on. The panel hands these out from its own list; Provibr does not assign addresses here, because that would be a promise it cannot keep.

Game plans

A game plan is where the whole container is described, and it is the only way to order a game server. There is no manual order form for one, because too much has to line up for it to be typed in each time.

  • An egg on one integration, with the nest recorded as a label.
  • Optionally a container image and a startup command. Left empty, the egg decides.
  • Variable values that override the egg's defaults. Every variable the egg has is sent, including the ones the customer never sees, because the panel refuses a create with a field missing.
  • Memory, swap, disk, CPU and IO weight. Zero means unlimited for memory, swap, disk and CPU.
  • How many databases, extra allocations and backups the server may have.
IO weight is the exception: zero is not unlimited there. The panel only accepts a value between 10 and 1000, and a zero silently becomes 500.

What you can do

Start, stop, restart, kill, suspend, resume, refresh, reinstall and delete. The difference between the gentler and the harsher options matters here more than elsewhere.

  • Stop sends the egg's own stop command to the console, so the game shuts down the way it expects to.
  • Kill stops the container outright. Anything not yet written to disk is lost, and the panel asks you to confirm.
  • Suspend stops the server and locks its owner out. The files stay. This is also what the platform uses when you go over your licence limit.
  • Reinstall runs the egg's install container again. What that does to existing files is the egg's choice, not ours, and the confirmation says so.
No result is trusted on its own word. Pterodactyl confirms most changes with an empty answer, so every one of these ends by reading the server back and reporting what it actually found.

Console

The console is a terminal on the running container, relayed from Wings through your agent to your browser. You see console output, status changes and usage; you can send commands. It is described in more detail on the console page.

Adopting servers that already exist

The import tab lists the servers on the panel with their limits and state, including the ones Provibr already knows, which are shown but not selectable. Imported servers count towards your capacity exactly like the ones you ordered.

Worth knowing

  • Managing the panel itself, or its nodes, does not exist. Provibr builds, runs and removes servers on a panel you operate.
  • Backups, databases and extra allocations are limits you set on the plan; using them happens in the game panel itself. The counts come along with the poll.
  • The panel caches its usage figures for about twenty seconds, and Provibr polls on roughly the same rhythm. Processor, memory and disk are always right; a repeated reading can show a network rate of zero where there was traffic.
  • Pterodactyl 1.x does not report its own version through the API, so the connection test leaves that field empty. That is not a fault.