Pterodactyl eggs
Two eggs, for Pterodactyl and Pelican panels:
| Egg | File |
|---|---|
| VanillaMine (the server) | build/pterodactyl/egg-vanillamine.json |
| VanillaGate (the proxy) | deploy/pterodactyl/egg-vanillagate.json |
Import them in Admin → Nests → Import Egg, then create servers from them as usual.
VanillaMine egg
| Image | ghcr.io/parkervcp/yolks:debian (installer: ghcr.io/parkervcp/installers:debian) |
| Startup | ./bin/php7/bin/php ./PocketMine-MP.phar --no-wizard --disable-ansi |
| Stop | stop |
| Nodes | x86-64 only (no ARM PHP builds yet) |
Variables
| Variable | Default | Description |
|---|---|---|
VANILLAMINE_VERSION | latest | Release to install: latest or a version such as 5.46.0. Reinstall to update. |
PHP_MARCH | x86-64-v3 | x86-64-v3 (AVX2) is faster. Use x86-64-v2 if PHP crashes with "illegal instruction". |
Install script: downloads PocketMine-MP.phar from the VanillaMine package registry and PHP 8.4 from PHP-Binaries, fixes extension_dir for /home/container, and writes server.properties only if it does not exist. Reinstalling updates the server and PHP and keeps worlds, plugins and settings.
Ports: on every start the panel writes server-ip=0.0.0.0 and server-port (the primary allocation) into server.properties, and enable-ipv6=off. Allocations open both TCP and UDP, which NetherNet needs.
Behind VanillaGate
Set network.proxy in pocketmine.yml (see Linking servers). The server then opens no game port: its allocation only needs to be reachable from the proxy.
VanillaGate egg
| Image | ghcr.io/parkervcp/yolks:debian (installer: ghcr.io/parkervcp/installers:debian) |
| Startup | ./vanillagate -config config.yml |
| Stop | stop |
| Nodes | amd64 and arm64 |
Variables
| Variable | Default | Description |
|---|---|---|
PROXY_VERSION | latest | Release to install: latest or a version such as 0.1.0. Reinstall to update. |
Install script: downloads the vanillagate-linux-<arch> binary from the VanillaGate package registry, checks it with -version and writes the default config.yml and keys with -init. Reinstalling keeps config.yml and the keys.
Ports: the panel sets listen.bind to 0.0.0.0:<primary allocation> on every start.
After the first start
- Copy the proxy public key printed in the console into
network.proxy.public-keysof every backend. - List the backends under
serversandgroupsinconfig.yml(see config.yml) and runreload.
