Nests & Eggs
Pterodactyl memakai konsep Nest dan Egg untuk template server.
- Nest = kategori (Minecraft, Source Engine, Voice Servers)
- Egg = template konkret di dalam nest (Paper 1.20, Vanilla 1.20, Forge, dll)
Nest bawaan
Setelah instalasi, ada beberapa nest default:
| Nest | Egg contoh |
|---|---|
| Minecraft | Paper, Vanilla, Forge, Fabric, Bungeecord, Waterfall |
| Source Engine | CS:GO, Garry's Mod, TF2 |
| Voice Servers | Mumble, TeamSpeak 3 |
| Rust | Rust |
Import egg dari komunitas
Repo publik: https://github.com/parkervcp/eggs
Contoh: import egg Palworld.
- Download JSON:
wget https://raw.githubusercontent.com/parkervcp/eggs/master/game_eggs/steamcmd_servers/palworld/egg-palworld.json- Admin → Nests → Steam Games → Import Egg → upload JSON.
Bikin egg dari nol
Admin → Nests → pilih nest → New Egg.
Field penting:
Docker Image
Image yang dipakai untuk container. Contoh:
ghcr.io/pterodactyl/yolks:java_21Startup Command
Command yang jalan saat server di-start. Bisa pakai variable dengan format kurung kurawal ganda, misal {{VAR_NAME}}.
java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}Install Script
Bash script yang jalan saat server di-install (download jar, extract, dll).
#!/bin/bash
apt update && apt install -y curl
cd /mnt/server
curl -o server.jar https://api.papermc.io/v2/projects/paper/versions/1.20.4/builds/latest/downloads/paper.jarStartup Configuration (Done Regex)
Regex yang menandakan server sudah "ready":
{
"done": ")! For help, type "
}Variables
Variable yang bisa diubah user di tab Startup:
- Name:
Server Jar File - Description:
Nama file JAR utama - Env Variable:
SERVER_JARFILE - Default Value:
server.jar - User Viewable: yes
- User Editable: yes
- Rules:
required|string|max:20
Update egg
Egg bisa di-export & di-import ulang setelah diubah. Tapi ingat: server yang sudah pakai egg lama tidak otomatis update. Anda harus reinstall server itu supaya pakai versi baru.
Best practice
- Selalu pakai official yolks image (
ghcr.io/pterodactyl/yolks:*) daripada bikin sendiri. - Version pinning: hardcode versi di install script, jangan pakai
latest. Kalau update tersedia, ubah egg lalu reinstall server. - Test dulu di staging sebelum apply ke production egg.
- Simpan JSON egg di git, jadi ada history perubahan.
Debug egg
Kalau install gagal, cek log install:
Panel → server → Console — install script muncul di sini.
Di sisi node, log ada di:
docker logs <container-id>Cari container ID dari:
docker ps -a | grep pterodactyl