Ana içeriğe geç

Pterodactyl Kontrol Paneli

Bu makalede

Bilgi

Pterodactyl, ücretsiz ve açık kaynaklı bir oyun sunucusu yönetim panelidir. Minecraft, CS2, Rust ve 50'den fazla diğer oyun için sunucuların bir web arayüzü üzerinden merkezi olarak yönetilmesini sağlar.

Pterodactyl. Temel Özellikler

Pterodactyl, şunları birleştiren modern bir oyun sunucusu yönetim çözümüdür:

  • 50'den fazla oyuna destek: Popüler oyun sunucularının hızlı kurulumu için hazır şablonlar sağlar. Yazılımı, bağımlılıkları ve başlangıç parametrelerini otomatik olarak yapılandırır; oyun sürümü seçimi ve özel şablon eklemeyi destekler.
  • Hassas kaynak yönetimi: RAM, CPU, disk alanı ve sunucular arası öncelik tahsisini kontrol eder. Aşırı yüklenmeleri önler, kaynakları kotalara göre tahsis eder ve kararlılık için SWAP belleği kullanır.
  • Güvenilir otomatik yedeklemeler: Veri seçimi (tüm sunucu veya ana dosyalar) ile esnek, zamanlanmış yedekleme sağlar. Yedekleri yerel olarak veya bulutta (S3, FTP, GDrive) şifreleme ve anında kurtarma ile depolar.
  • Verimli çoklu sunucu yeteneği: Her sunucuyu izole bir Docker konteyneri içinde çalıştırır. Yükü düğümler (nodes) arasında otomatik olarak dağıtır, çakışma olmadan portlar atar ve ilgili sunucuların gruplandurulmasına izin verir.
  • Esnek çok kullanıcılı erişim: 50'den fazla ayrıntılı izin ile rol tabanlı bir model (önceden ayarlanmış + özel roller) aracılığıyla izinleri yönetir. Geçici erişimi, işlem denetimini ve iki faktörlü kimlik doğrulamayı destekler.
  • Gerçek zamanlı yönetim konsolu: İnteraktif bir terminal (SSH'a benzer) içeren bir web arayüzü üzerinden tam kontrol sağlar. Renkli biçimlendirme, komut geçmişi, hızlı işlem düğmeleri ve olay bildirimleri içerir.
  • Gerçek zamanlı istatistik izleme: Kaynak kullanım grafiklerini (CPU, RAM, disk, ağ) ve oyun metriklerini (çevrimiğinde oyuncular, TPS, ping) görüntüler. Özel paneller oluşturmaya, uyarılar yapılandırmaya ve verileri CSV olarak dışa aktarmaya olanak tanır.
  • Basitleştirilmiş mod/eklenti yönetimi: Otomatik mod kurulumu, sürüm ve bağımlılık yönetimi için yerleşik bir mağaza sunar. Sözdizimi vurgulama ve güncelleme bildirimleri içeren görsel bir yapılandırma düzenleyicisi içerir.
  • Otomatik güncellemeler: Kesintisiz sistem çalışması sağlar. Oyun sunucularını test moduyla zamanlanmış olarak günceller ve hatalarda geri alma (rollback) yapar. Kontrol panelini tek bir komutla (php artisan p:upgrade) günceller, uyumluluğu kontrol eder ve veri kaybı olmadan veritabanını taşır. Wings daemon'ı otomatik olarak günceller, farklı Linux dağıtımlarıyla uyumluluğu korur.

Çalıştırma Özellikleri

ID Yazılım Adı Uyumlu OS VM BM VGPU GPU Min CPU (Çekirdekler) Min RAM (GB) Min HDD/SSD (GB) Özel Alan Adı Aktif
326 Pterodactyl Ubuntu 22.04 + + + + 1 1 - Hayır SİPARİŞ VER

Temel Sistem Bileşenleri:

Bileşen Amaç
Panel Web yönetim arayüzü (PHP/Laravel). Sunucu yönetimi için admin paneli ve kullanıcı arayüzü sağlar
Wings Fiziksel oyun sunucusu başlatma işlemi için daemon (Go). Oyun sunucularının çalıştırılacağı makinelere ayrı olarak kurulur
Database Yapılandırmaları, kullanıcıları, sunucuları ve ayarları depolamak için MariaDB
Docker Konteynerleştirme platformu; Wings çalışması ve oyun sunucusu izolasyonu için gereklidir

Yapılandırma Dosyaları

Yol Amaç
/var/www/pterodactyl/.env Ana Panel ayarları: veritabanı bağlantısı, Redis, APP_URL, APP_KEY
/var/www/pterodactyl/storage/logs/laravel.log Panel operasyon günlükleri (uygulama hataları, istekler)
/var/log/nginx/pterodactyl.app-error.log Panel için NGINX web sunucusu günlükleri
/etc/pterodactyl/config.yml Wings yapılandırması: yetkilendirme token'ı, Panel URL'si, Docker ayarları. Wings kurulumu sırasında oluşturulur
/var/lib/pterodactyl/volumes/ Oyun sunucusu veri dizini: dünya dosyaları, yapılandırmalar, eklentiler. Wings kurulumundan sonra oluşturulur

Oyun Kaynak Önerileri

Oyun sunucusu başına yaklaşık gereksinimler:

Oyun RAM CPU Disk
Minecraft (Vanilla/Paper) 2-4 GB 2+ çekirdek 5-10 GB
Minecraft with mods (Forge/Fabric) 4-8 GB 4+ çekirdek 10-20 GB
CS2 / CS:GO 4-6 GB 4+ çekirdek 15-20 GB
Rust 8-12 GB 4+ çekirdek 20-30 GB
ARK: Survival Evolved 8-16 GB 6+ çekirdek 30-50 GB
Terraria 1-2 GB 2+ çekirdek 2-5 GB
Valheim 4-6 GB 4+ çekirdek 5-10 GB

Pterodactyl Kurulumundan Sonra Başlangıç

Siparişinizi ödedikten sonra, kayıtlı e-posta adresinize sunucunuzun çalışmaya hazır olduğunu bildiren bir bildirim alacaksınız. Bu bildirim VPS IP adresinin yanı sıra bağlantı için bir kullanıcı adı ve şifre içerecektir. Şirketimizin müşterileri, donanımı sunucularda ve API kontrol panelindeInvapi üzerinden yönetirler.

Sunucu kontrol panelindeki Configuration >> Tags sekmesinde veya e-postada bulunabilecek yetkilendirme verileri şunlardır:

  • Link: webpanel etiketinde bulunur. Admin panelini erişmek için ana bağlantıya /admin ekleyin;
  • Login: admin;
  • Password: Yazılım kurulumundan sonra sunucu çalışmaya hazır olduğunda e-posta ile adresinize gönderilir.

İlk Giriş

  1. Bir web tarayıcısı açın ve Pterodactyl panel adresinize gidin
  2. Login düğmesine tıklayın:

  3. Başarılı yetkilendirmeden sonra ana panel sayfasına yönlendirileceksiniz.

  4. Admin paneline erişmek için düğmesine tıklayın:

Kullanıcılar

  1. Admin panelinin sol menüsünde, Users bölüm ismine tıklayın;
  2. Sağ üst köşedeki Create New düğmesine tıklayın:

  3. Gerekli alanları doldurun:

    • Username: kullanıcı adı;
    • Email: kullanıcı e-posta adresi;
    • First Name: ad;
    • Last Name: soyad;
    • Password: şifre (en az 8 karakter, büyük/küçük harf ve rakam içermelidir);
  4. Gerekiyorsa, yönetici hakları vermek için Administrator satırında Yes seçeneğini seçin;
  5. Create User düğmesine tıklayın:

Lokasyonlar

Lokasyon Nedir?

Lokasyon, düğümlerin (nodes) coğrafi konuma veya amaca göre mantıksal olarak gruplandırılmasıdır. Sunucuları organize etmek için kullanılır, örneğin: "EU", "US", "Asia", "Production", "Testing". Kullanıcılar lokasyonları doğrudan görmezler; bu bir yönetim aracıdır.

  1. Sol menüden Locations öğesini seçin;
  2. Sağ üst köşedeki Create New düğmesine tıklayın:

  3. Alanları doldurun:

    • Short Code: kısa lokasyon kodu (örn. "US1", "EU1");
    • Description: lokasyon açıklaması (örn. "ABD'deki veri merkezi");
  4. Create düğmesine tıklayın:

Düğümler

Node Nedir?

Node, Wings aracılığıyla oyun sunucularının başlatıldığı fiziksel veya sanal bir sunucudur. Her düğümün kendi kaynakları (CPU, RAM, disk) vardır ve aynı anda birden fazla oyun sunucusuna hizmet verebilir.

Düğüm Oluşturmadan Önce Hazırlık

Düğüm oluşturmadan önce şunlardan emin olun:

  • Sunucuda Docker kurulu (HOSTKEY imajlarında önceden kuruludur);
  • Düğüm için bir IP adresiniz veya alan adınız var;
  • Güvenlik duvarında 8080 (Wings API) ve 12333 (Wings/Daemon SSL iletişimi) portları açılacak.

Panel Üzerinden Düğüm Oluşturma

  1. Admin panelinin sol menüsünden Nodes öğesini seçin;

  2. Sağ üst köşedeki Create New düğmesine tıklayın:

  3. Temel ayarları doldurun:

    • Name: benzersiz düğüm adı (örn. hostkey-us-node1);
    • Location: daha önce oluşturulan lokasyonu seçin;
    • Public: düğümün kullanıcılar tarafından görünür olması gerekiyorsa kutucuğu işaretleyin;
    • FQDN: panel alan adı (örn. pterodactyl50514.hostkey.in) veya IP adresini belirtin;
    • Communicate Over SSL: Panel HTTPS kullanıyorsa kutucuğu işaretleyin;
    • Behind Proxy: düğüm bir proxy arkasında değilse devre dışı bırakın.
  4. Kaynak ayarlarını yapılandırın:

    • Daemon Server File Directory: /var/lib/pterodactyl/volumes (değiştirmeyin);
    • Total Memory: MB cinsinden kullanılabilir RAM'i belirtin (örn. rezerv hesabı ile 6GB sunucu için 4608);
    • Memory Over-Allocation: 0 olarak belirtin (aşırı tahsis yok);
    • Total Disk Space: MB cinsinden kullanılabilir disk alanını belirtin (örn. rezerv hesabı ile 120GB disk için 102400);
    • Disk Over-Allocation: 0 olarak belirtin (aşırı tahsis yok);
    • Daemon Port: 8080 (varsayılan olarak bırakın);
    • Daemon SFTP Port: 2022 (varsayılan olarak bırakın).

  5. Create Node düğmesine tıklayın.

Dikkat: HTTPS Kullanırken Önemli

Panel HTTPS üzerinden çalışıyorsa, FQDN alanında IP adresi değil, bir alan adı belirtmelisiniz. SSL etkinleştirilmiş bir IP adresi belirtmek doğrulama hatasına neden olacaktır.

Hepsi Bir Arada Yapılandırma İçin Örnek Ayarlar (4 vCore / 6GB RAM / 120GB SSD)

    Name: hostkey-us-node1
    Location: US1
    Public: ☑
    FQDN: pterodactyl50514.hostkey.in
    Communicate Over SSL: ☑
    Behind Proxy: ☐

    Total Memory: 4608 MB (sistem için 1.5GB bırakarak)
    Memory Over-Allocation: 0
    Total Disk Space: 102400 MB (sistem için 20GB bırakarak)
    Disk Over-Allocation: 0

Tahsisatlar

Bir düğüm oluşturduktan sonra tahsisatları yapılandırmanız gerekir; bunlar oyun sunucularına atanmak üzere kullanılacak IP adresi ve port kombinasyonlarıdır.

  1. Düğüm oluşturulduktan sonra sayfası otomatik olarak açılacaktır. Allocations sekmesine gidin;

  2. Assign New Allocations bölümünde (sağ taraf), alanları doldurun:

    • IP Address: sunucu IP adresini girin;
    • IP Alias: bir açıklama belirtin (örn. Main IP) veya boş bırakın;
    • Ports: bir port aralığı belirtin (örn. Minecraft sunucuları için 25565-25570).
  3. Yeşil Submit düğmesine tıklayın:

  4. Oluşturulan tahsisatlar Existing Allocations tablosunda (sol taraf) görünecektir. Her satır, bir oyun sunucusuna atanabilecek ayrı bir IP:port kombinasyonunu temsil eder.

Not

Tahsisatlar yapılandırılmadan bu düğüm üzerinde sunucu oluşturamazsınız. Portları içeren en az bir IP adresi eklemeniz gerekir.

Port Önerileri

  • Minecraft: 25565-25570 (standart port 25565);
  • CS2/CS:GO: 27015-27020 (standart port 27015);
  • Rust: 28015-28020 (standart port 28015);
  • Valheim: 2456-2460 (standart port 2456).

Wings Kurulumu

Çalışma İçin Kritik

Bir düğüm oluşturup tahsisatları yapılandırdıktan sonra, sunucuya Wings kurmalısınız. Wings olmadan düğüm Offline durumunda görünecek ve oyun sunucularını başlatamayacaktır.

Sunucuya SSH üzerinden bağlanın ve komutları çalıştırın:

Yapılandırma için bir dizin oluşturun:

mkdir -p /etc/pterodactyl
Wings'i indirin:

curl -L -o /usr/local/bin/wings "https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_amd64"
Çalıştırma izinlarını verin:

chmod u+x /usr/local/bin/wings
Kurulumu doğrulayın:

wings version

Wings sürümü görüntülenmelidir (örn. wings vv1.12.1).

Auto-Deploy ile Wings Yapılandırma (Önerilen)

  1. Admin panelinde, oluşturulan düğümün Configuration sekmesine gidin;

  2. Auto-Deploy bölümünde (sağ taraf), Generate Token düğmesine tıklayın:

  3. Oluşturulan komutu kopyalayın. Şuna benzer görünecektir:

        cd /etc/pterodactyl && wings configure --panel-url https://your-domain.com --token TOKEN --node 1
    

  4. Kopyalanan komutu sunucuda çalıştırın:

        cd /etc/pterodactyl && wings configure --panel-url https://pterodactyl50514.hostkey.in --token TOKEN --node 1
    

    Şu mesaj görünmelidir: Successfully configured wings.

  5. Oluşturulan yapılandırmayı doğrulaın:

        cat /etc/pterodactyl/config.yml
    

systemd Servisi Oluşturma

Otomatik Wings başlatılması için bir systemd servisi oluşturun:

cat > /etc/systemd/system/wings.service <<'EOF'
[Unit]
Description=Pterodactyl Wings Daemon
After=docker.service
Requires=docker.service
PartOf=docker.service

[Service]
User=root
WorkingDirectory=/etc/pterodactyl
LimitNOFILE=4096
PIDFile=/var/run/wings/daemon.pid
ExecStart=/usr/local/bin/wings
Restart=on-failure
StartLimitInterval=180
StartLimitBurst=30
RestartSec=5s

[Install]
WantedBy=multi-user.target
EOF

Wings'i Başlatma

systemd yapılandırmasını yenileyin

systemctl daemon-reload
Otomatik başlatmayı etkinleştirin ve Wings'i başlatın

systemctl enable --now wings
Durumu kontrol edin

systemctl status wings

Durum Active: active (running) olarak görüntülenmelidir.

Operasyon Kontrolü

Wings günlüklerini kontrol edin:

journalctl -u wings -n 50

Günlükler şu mesajları içermelidir:

  • fetching list of servers from API - Wings Panel'e bağlandı;
  • configuring internal webserver - Wings web sunucusu başlatıldı;
  • sftp server listening for connections - SFTP sunucusu bağlantıları dinliyor.

Sunucu dizini oluşturulmasını doğgulayın:

ls -la /var/lib/pterodactyl/volumes/

Admin Panelinde Durum Kontrolü

  1. Admin panelini açın: https://your-domain.com/admin;
  2. Şuraya gidin: Admin > Nodes > düğümünüz;
  3. Sayfayı yenileyin (F5);
  4. Sağ üst köşede yeşil Online durum göstergesi görünmelidir;
  5. About sekmesinde kaynak bilgileri görüntülenmelidir (CPU, RAM, Disk).

Eğer Düğüm Online Durumunda Görünüyorsa

Düğüm tamamen yapılandırıldı ve oyun sunucuları oluşturmaya hazır!

Sorun Giderme

Düğüm Offline Durumunda Görüniyorsa

Wings durumunu kontrol edin:

systemctl status wings

Wings çalışmıyorsa, başlatın:

systemctl start wings

Hatalar için günlükleri kontrol edin:

journalctl -u wings -n 100

Yaygın sorunlar:

  1. Wings Panel'e bağlanamıyor:

    • Yapılandırmadaki panel URL'sini kontrol edin: cat /etc/pterodactyl/config.yml | grep remote;
    • Panel'in erişilebilir olduğundan emin olun: curl -I https://your-domain.com.
  2. 8080 Portu güvenlik duvarı tarafından engelleniyor:

    • Portu kontrol edin: netstat -tulpn | grep 8080;
    • Portu açın: ufw allow 8080/tcp.
  3. SSL sorunları:

    • Panel HTTPS kullanıyorsa, Wings de SSL ile çalışmalıdır;
    • /etc/pterodactyl/config.yml içindeki SSL ayarlarını kontrol.

Manuel Yapılandırma (Alternatif Yöntem)

Auto-Deploy çalışmazsa, Wings'i manuel olarak yapılandırabilirsiniz:

  1. Admin panelinde, düğümün Configuration sekmesine gidin;
  2. Soldaki metin alanından yapılandırma dosyası içeriğini kopyalayın;
  3. Sunucuda bir yapılandırma dosyası oluşturun:

    nano /etc/pterodactyl/config.yml
    

  4. Kopyalanan yapılandırmayı yapıştırın ve kaydedin (Ctrl+X, sonra Y, sonra Enter);

  5. Wings'i yeniden başlatın: systemctl restart wings;
  6. Durumu kontrol edin: systemctl status wings.

Nests

Bir Yuva Oluşturma ve Egg Ekleme

  1. Sol menüden Nests öğesini seçin;
  2. Sağ üst köşedeki Create New düğmesine tıklayın:

  3. Alanları doldurun:

    • Name: nest adı (örn. "Minecraft");
    • Description: nest açıklaması;
  4. Save düğmesine tıklayın:

Hazır Bir Egg İndirin

  1. https://pelican-eggs.github.io/ web sitesini açın;

  2. İstediğiniz oyunu bulun:

    • Game Eggs bölümünde bir kategori seçin (örn. Minecraft);
    • İstediğiniz sunucu türünü bulun (örn. Paper, Vanilla, Forge);
  3. GitHub sayfasını açmak için sunucuda tıklayın;

  4. egg-name.json dosyasını bulun (örn. egg-paper.json);

  5. Dosyaya tıklayın, ardından sağ üst köşedeki Raw düğmesine tıklayın;

  6. Dosyayı kaydedin (Ctrl+S veya sağ tık > Save as).

Popüler Eggs

Import Egg

  1. Admin panelinde, Nests bölümüne gidin;

  2. Sağ üst köşedeki Import Egg düğmesine tıklayın:

  3. Choose File düğmesine tıklayın ve indirilen .json dosyasını seçin;

  4. Import düğmesine tıklayın:

Egg, tüm ayarları, Docker imajları ve değişkenleri ile birlikte içe aktarılacaktır.

İçe Aktarılan Egg'i Doğrulama

  1. Egg listesinde içe aktarılanı bulun (örn. Paper);

  2. Ayarları görüntülemek için üzerine tıklayın;

  3. Aşağıdakilerin dolu olduğundan emin olun:

    • Docker Images: kullanılabilir imajların listesi;
    • Install Script: sunucu kurulum betiği;
    • Variables: ortam değişkenleri (sürüm, ayarlar).

Sunucular

  1. Sol menüden Servers öğesini seçin;

  2. Sağ üst köşedeki Create New düğmesine tıklayın:

  3. Oluşturma formunu doldurun:

Temel Detaylar:

  • Server Name: sunucu adı (örn. Test Minecraft Server);
  • Server Owner: listeden sahip kullanıcıyı seçin;
  • Server Description: açıklama (isteğe bağlı);
  • Start Server when Installed: kutucuğu işaretli bırakın.

Tahsisat Yönetimi:

  • Node: oluşturulan düğümü seçin;
  • Default Allocation: listeden IP adresi:port seçın;
  • Additional Allocations: boş bırakın.

Uygulama Özellik Sınırları:

  • Database Limit: 0;
  • Allocation Limit: 0;
  • Backup Limit: 0.

Kaynak Yönetimi:

  • CPU Limit: 0 (sınır yok);
  • Memory: 2048 MiB (başlangıç için 2GB);
  • Swap: 0 MiB;
  • Disk Space: 5120 MiB (5GB);
  • Block IO Weight: 500;
  • Enable OOM Killer: devre dışı bırakın.

Nest Yapılandırması:

  • Nest: Minecraft;
  • Egg: Paper (Sponge değil!);
  • Docker Image: Java 21;
  • Service Variables: varsayılan değerleri bırakın.

  • Sayfanın altındaki Create Server düğmesine tıklayın;

  • Kurulumun tamamlanmasını bekleyin (durum Installing'den Offline'a dönecektir):

Sunucuyu Başlatma ve Yapılandırma

  1. Kurulumdan sonra, listeden sunucuyu açın (Admin > Servers):

  2. Kullanıcı panelini açın ( /admin olmadan), sunucu sahibi olarak giriş yapın;

  3. Start düğmesine tıklayın:

  4. İlk çalıştırmada bir lisans kabul penceresi görünecektir:

  5. Minecraft EULA'yı kabul etmek için I Accept düğmesine tıklayın;

  6. Sunucunun başlamasını bekleyin (durum Running olarak değişecektir):

Performans Kontrolü

Tarayıcınızda açın (IP adresini sizinkiyle değiştirin):

https://api.mcsrvstat.us/3/<IP adresi>:25565
Yanıt "online": true gösteriyorsa, sunucu çalışıyor ve oyuncular için erişilebilir durumdadır.

Bağlantı adresi:

<IP adresi>:25565

Not

Pterodactyl'in ana ayarları hakkında ayrıntılı bilgiler geliştiricilerin dokümantasyonunda yer almaktadır.

API ile Pterodactyl Sunucusu Sipariş Edin

Bu yazılımı API kullanarak kurmak için bu talimatları izleyin.