Pterodactyl adalah panel manajemen game server yang memungkinkan kita untuk memasang server game favorit, seperti Minecraft, Rust, CS:GO, dan masih banyak lagi. Pada artikel ini, kita akan membahas mengenai langkah-langkah instalasi Pterodactyl di NAT VPS dengan virtualisasi KVM.
Mengenai Pterodactyl, Secara Singkat
Pterodactyl adalah manajemen panel multifungsi yang biasa digunakan untuk memasang game server untuk game populer seperti Minecraft, Team Fortress, Rust, CS:GO, dan lain-lain. Pendeknya, Pterodactyl adalah panel manajemen game server secara self-hosted.
Pterodactyl dibagi menjadi dua bagian:
- Panel: Web interface untuk manajemen akun, server, dan node
- Wings: Perantara antara Panel dengan Node. Semisal, dalam proses instalasi game server, Panel meminta Wings untuk mengeksekusi beberapa perintah di Node.
Sedangkan Node itu sendiri adalah mesin / VPS yang digunakan sebagai game server. Urutannya seperti ini: Wings -> Node -> Panel.
Requirements
Untuk memasang Pterodactyl di NAT VPS, kita membutuhkan:
- NAT VPS dengan tipe virtualisasi KVM (atau di atasnya). OpenVZ tidak akan bisa dipasangi Pterodactyl.
- Port NAT yang mendukung TCP dan UDP. Jika penyedia NAT VPS hanya memperbolehkan protokol TCP, Pterodactyl mungkin masih bisa dipasang, namun kebanyakan game server secara bawaan membutuhkan protokol UDP.
- Spesifikasi yang mencukupi, untuk menghindari error seperti out-of-memory.
Belum punya NAT VPS? HostData.id menyediakan NAT VPS KVM yang mendukung seluruh keperluan di atas, sehingga sangat cocok untuk program seperti Pterodactyl ini. Beli disini: https://hostdata.id/nat-vps-kvm/.
Beberapa Hal Penting
Sebelum melanjutkan, ada beberapa hal penting yang perlu dipahami agar proses instalasi lancar tanpa kesalahpahaman.
A. Script Auto-Installer Yang Digunakan
Demi memudahkan dan mempercepat proses instalasi, kita akan menggunakan script autoinstaller yang dapat diakses di laman GitHub: https://github.com/pterodactyl-installer/pterodactyl-installer.
B. Rentang Alokasi Port
Sebelum melanjutkan, kita perlu memahami terlebih dahulu detail alokasi port yang akan digunakan oleh Pterodactyl.
Mengingat kita menggunakan VPS dengan tipe NAT, tidak sembarang port dapat diakses dari luar server. Dengan kata lain, kita harus memilih port sesuai dengan yang sudah dipilihkan untuk kita, ataupun yang harus kita alokasikan terlebih dahulu.
Di HostData.id, setelah NAT VPS KVM aktif, akan ada rentang port khusus yang sudah dialokasikan ke kita, sehingga port-port tersebut hanya mengarah ke VPS milik kita.
Contoh:
Mengikuti contoh kutipan gambar di atas, kita memiliki alokasi port 10050 hingga 10069. Untuk detil nya sebagai berikut:
- 10050: Port untuk login SSH
- 10051: Port untuk login RDP
- Port lain:
- 10052: Port Node (API)
- 10053: Port Node (SFTP)
- 10054-10069: Bebas
Seperti informasi di atas, port yang dapat kita gunakan untuk Pterodactyl adalah port 10052-10069. Untuk port 10052 dan 10053 akan digunakan khusus untuk koneksi node Pterodactyl, sehingga server game kita pada akhirnya akan menggunakan port 10054 hingga 10069.
Intinya, dari alokasi port yang tidak digunakan, 2 dari seluruhnya akan digunakan khusus untuk instalasi Pterodactyl, dan sisanya akan bebas digunakan untuk port game server.
C. Domain Yang Digunakan
Agar Domain Forwarding dapat bekerja, kita harus menggunakan domain untuk Panel dan Node.
Untuk tutorial ini penulis akan menggunakan 2 domain/subdomain berikut:
- Panel: ptero.nvps.my.id
- Node: node1.ptero.nvps.my.id
Sebelum melanjutkan, harap menambahkan A record dan setting Domain Forwarding di panel (seperti Virtualizor) agar proses konfigurasi web server dan SSL dapat berhasil.
1. Instalasi Panel
Kita akan mulai instalasi Pterodactyl dari komponen pertama: Panel.
Seperti yang sudah disebutkan tadi, Pterodactyl terbagi atas dua komponen: Panel (untuk mengatur dan memantau server) dan Node (perantara server dengan Panel).
Untuk memudahkan dalam penjelasan langkah-langkah, kita tidak akan langsung memasang panel dan node, melainkan satu-per-satu.
Jalankan script installer dengan mengeksekusi perintah berikut:
bash <(curl -s
Lalu masukkan angka 0 untuk memulai instalasi Panel.
Ikuti alur instalasi dan jawab pertanyaan yang ditanyakan:
- Database name (panel): (Biarkan kosong)
- Database username (pterodactyl): Biarkan kosong)
- Password (press enter to use randomly generated password): (Biarkan kosong)
- Select timezone [Europe/Stockholm]: Asia/Jakarta
- Provide the email address that will be used: (Email Anda)
- Email address for the initial admin account: (Email Anda)
- Username for the initial admin account: (Username bebas, untuk login)
- First name for the initial admin account: (Nama depan Anda)
- Last name for the initial admin account: (Nama belakang Anda)
- Password for the initial admin account: (Password bebas, untuk login)
- Set the FQDN of this panel (panel.example.com): (Masukkan domain untuk panel, contoh: ptero.nvps.my.id)
- Do you want to automatically configure UFW (firewall)? (y/N): N
- Do you want to automatically configure HTTPS using Let’s Encrypt? (y/N): Y
- I agree that this HTTPS request is performed (y/N): Y
- Initial configuration completed. Continue with installation? (y/N): Y
Proses instalasi akan berjalan secara otomatis. Tunggu hingga selesai dan jangan diinterupsi.
Setelah itu, akan ada pertanyaan tambahan mengenai telemetry:
- Enable sending anonymous telemetry data? (yes/no) [yes]: no
Proses instalasi akan berjalan kembali ke tahap konfigurasi sertifikat SSL. Cukup jawab Y dan biarkan proses berjalan secara otomatis.
Jika semua proses berjalan lancar, maka instalasi telah selesai dan panel dapat diakses. Webserver (NGINX) dan SSL sudah diatur secara otomatis oleh script, jadi kita tidak perlu mengonfigurasi nya lagi.
Silahkan login menggunakan username dan password yang telah ditentukan pada proses instalasi.
2. Instalasi Wings
Instalasi Panel, saatnya lanjut ke Wings.
Instalasi Wings menggunakan script yang sama. Jalankan kembali script installer sebelumnya:
bash <(curl -s
Masukkan angka 1 untuk memulai instalasi Wings.
- Do you want to automatically configure UFW (firewall)? (y/N): N
- Do you want to automatically configure a user for database hosts? (y/N): Y
- Do you want to configure MySQL to be accessed externally? (y/N): Y
- Enter the panel address (blank for any address): (Domain Panel, contoh: ptero.nvps.my.id)
- Database host username (pterodactyluser): (Biarkan kosong)
- Database host password: (Password bebas, tidak digunakan untuk login)
- Do you want to automatically configure HTTPS using Let’s Encrypt? (y/N): Y
- Set the FQDN to use for Let’s Encrypt (node.example.com): (Domain Node, contoh: node1.ptero.nvps.my.id)
- I agree that this HTTPS request is performed (y/N): Y
- Enter email address for Let’s Encrypt: (Email Anda)
- Proceed with installation? (y/N): Y
Proses instalasi Wings (beserta Docker dan service systemd) akan berjalan secara otomatis. Tunggu hingga selesai.
Jika tidak ada error, maka instalasi Wings sudah selesai. Hore!
3. Konfigurasi Panel
Sebelum dapat memasang Node, kita perlu melakukan beberapa pengaturan terhadap Panel.
A. Konfigurasi Location (Grup Lokasi)
Location di Pterodactyl adalah sebuah fitur pengkategorian untuk Node yang terdaftar, agar lebih mudah dilihat dan dikelola. Kita perlu menambahkan locations sebelum mulai menambahkan node.
Masuk ke menu Admin, lalu klik Locations -> Create New.
- Short Code: Nama location, contoh: us
- Description (Opsional): Deskripsi location
B. Konfigurasi Node
Saatnya untuk menambahkan Node. Masuk ke menu Admin -> Nodes -> Create New
Beberapa poin yang perlu diisi/diubah:
Masih ingat 2 port yang kita singgung sebelumnya di awal artikel? Itulah yang saat ini kita gunakan untuk daemon Node ini.
Untuk poin lainnya silahkan diisi sesuai kebutuhan. Tiap poin memiliki penjelasannya masing-masing. Jika sudah, klik Create New.
C. Alokasi IP
Anda akan langsung dibawa ke tab Allocation pada Node. Disinilah Anda memberikan rentang port untuk game server yang nantinya akan digunakan secara otomatis.
Fokus pada box Assign New Allocations di sebelah kanan.
- IP Address: IP internal (bukan publik) dari VPS
- Ports: Rentang port bebas sebelumnya (contoh: 10054-10069)
Jika sudah, klik Submit.
D. Konfigurasi Wings di VPS
Terakhir, saatnya memasukkan konfigurasi Wings dari Panel agar VPS terhubung ke Panel.
Buka menu Admin -> Nodes -> Pilih Node yang baru dibuat -> Configuration.
Pada box Auto-Deploy di sebelah kanan, klik Generate Token, lalu salin perintah yang tertera dan eksekusi di server.
Kemudian aktifkan service systemd dari Wings:
systemctl enable --now wings
Jika semua sukses, maka Wings & Node berhasil terhubung ke Panel. Hal ini dapat dicek dengan melihat informasi Node & Daemon Wings pada halaman Node.
Selesai!
Panel dan Wings Pterodactyl telah berhasil dipasang dan terhubung satu sama lain. Tinggal memasang game server atau biasa dikenal dengan Egg. Tutorial memasang game server akan dibahas di artikel selanjutnya.
Jika ada pertanyaan atau kesulitan, silahkan bertanya di grup Telegram @IPv6Indonesia.
Terima kasih!