Documentation
Pelican
Pelican runs your game servers: an egg describes what a server is built from, a node carries it, an allocation gives it its address. Provibr reaches it from an agent inside your own network, so the panel needs no inbound port and nothing is installed on it.
Two API keys
Pelican has two APIs with two different keys, and Provibr needs both. They come from two different screens, and both must belong to an account with administrator rights.
- The application key, from Admin → API Keys. It starts with papp_ and manages servers: create, suspend, reinstall, delete. Give it read and write access to Server, Node, Allocation, User and Egg.
- The client key, from your own Profile → API Keys. It starts with pacc_ and carries power commands, live usage figures and the console.
What you fill in
Four fields, and only the last one is optional.
- The address of the panel, for example https://panel.example.com. Add a port only if the panel really runs on one; behind a reverse proxy it answers on the default port of its scheme.
- The application key starting with papp_.
- The client key starting with pacc_.
- The TLS fingerprint of the panel, needed only when its certificate is self-signed.
Self-signed certificate
If the panel presents a self-signed certificate, fill in its fingerprint. The agent then trusts that one certificate instead of turning verification off. Read it with:
openssl s_client -connect <host>:443 </dev/null 2>/dev/null | \
openssl x509 -noout -fingerprint -sha256Leave the field empty for a certificate from a public authority, and also when the panel is reachable over http only. A fingerprint next to an http address is refused, because there is no certificate to pin. A panel on plain http does work, but both keys then travel unencrypted over your network.
Eggs and their variables
A server is built from an egg: a Docker image, a start command and a set of variables the egg defines itself. Provibr reads the list from your panel, so the order form offers the eggs you actually have instead of asking for a number.
Plans
A game plan holds the egg, the image, the start command and the limits a server gets. Link it to one or more Pelican integrations and it becomes orderable.
Memory, disk and CPU accept 0 for unlimited, and the CPU limit counts in percent of one core: 100 is one full core, 200 is two. The IO weight runs from 0 to 1000 and 500 is the usual value.
Which node a server lands on
Pelican reports how much memory and how much CPU each node has, and how much of it is already handed out. Provibr uses both: a new server goes to a node with room for it, and is refused with a reason when no node has any.
What you can do with a server
The whole life of a game server, from the panel or through the API:
- Create it from a plan, and remove it when the customer leaves.
- Start, stop, restart and kill it.
- Suspend and unsuspend it. This is also what happens automatically when an account goes over its limit.
- Reinstall it, which runs the installation script of its egg again.
The console
A game server is driven from its console: commands, players, and the log line that explains a crash. It runs in the panel over the same outbound connection as everything else, so there is no separate port and no second login.
Servers that are already there
Servers you created outside Provibr are left alone. You can import them so they appear in the panel and count towards your capacity, which is the way to move an existing panel across without rebuilding anything.
What this integration does not do
Files, backups, databases and schedules stay in the Pelican panel, and so does managing the panel and its nodes themselves. Provibr covers the life of a server and its console, not the administration of your panel.