Skip to content

Documentation

GameAP

Connect a GameAP panel and Provibr provisions, controls and imports game servers on it. This page covers what differs from the other game panels.

API token

GameAP authenticates with a single API token, with no OAuth2 client and no key pair. Create one in the panel, then paste it into Provibr together with the panel URL.

  • Host: the full panel URL including the port, for example http://panel.example.com:8025. GameAP runs on plain HTTP on 8025 by default, and there is no port Provibr can add without guessing.
  • API token: the Sanctum token, in the form id|secret. Provibr keeps that id|secret shape and rejects a token pasted without the id in front of it.
GameAP shows the token once and keeps only a hash of it afterwards. Copy it straight away, because Provibr does not store it either, so resending the credentials means creating a new token.
The token must be created by an administrator and carry the create ability: a non-admin token can list servers but cannot create or delete them. Provibr checks this when you test the connection, not at the first order.

The token does not expire, which makes it the cleanest long-lived credential of the game panels: the agent keeps working for months without anyone re-entering a password.

Transport

A fresh GameAP serves plain HTTP on port 8025, with port 443 closed. There is no TLS fingerprint field, because with no TLS there is no certificate to pin.

A panel on plain http works, but the API token and everything the integration does then travel unencrypted. Put a reverse proxy with TLS in front to change that; the agent then validates the certificate chain as usual, without a pin.

The game and its template

A GameAP server is built from a game and a game mod: a title such as samp or minecraft, plus its template. Together they are what one Pterodactyl egg is elsewhere. Provibr does not list them for you: the API token is refused on the panel's games, mods and nodes, which are admin-only. You read the game code and the mod id in your own GameAP panel and enter them into the plan.

This is the sharpest difference with Pterodactyl and Pelican, which do list their eggs for you. Here there is no picklist: the plan carries the game code and the mod id you type by hand.

Plans

A game plan carries the game code, the mod id and the resource limits. Ordering is plan-driven: the game and its template come from the plan, and the node comes from the integration's settings.

Placement

The API token cannot list the panel's nodes, so the placement engine cannot pick one. The node comes from the integration setting: GameAP's node id, which is 1 on a single-node panel. There is no allocation system either: the agent chooses a free set of ports from a range you set, because GameAP hands out none of its own.

On a multi-node panel the agent cannot read a node's capacity, so the node is not ranked on free space and a server lands on the one you named.

Lifecycle

Create, start, stop, restart, reinstall and delete all work. Creating a server and installing it are two steps: the panel writes the record first and installs afterwards, and Provibr does both, then waits for the daemon's task to finish.

An action's HTTP reply only means the task is queued, not that it succeeded. The daemon runs it, and the task's outcome is the truth. A stop can occasionally report an error from a race on the host, so Provibr reads the task rather than the reply.

Suspending

When Provibr suspends a game server to enforce a licence limit, it stops the server and marks it blocked in the panel.

GameAP's blocked flag is administrative: on its own it neither stops a running server nor refuses a start. Provibr stops the server to enforce the limit, but anyone with direct access to the GameAP panel can start it again. The block is a Provibr concept as much as a panel one.

What Provibr does not do

There is no console: GameAP's runs over a websocket with a separate short-lived token and its own frame protocol, a different path than the tunnel the other game panels share. There are no usage graphs either, because GameAP reports no per-server CPU, memory, disk or network. Provibr does not manage the panel, its nodes, files or users; a game server on the panel is the integration.