Oyun sunucusu kiraladığınızda karşınıza çıkan yönetim ekranı büyük ihtimalle Pterodactyl'dır. Pterodactyl; PHP, React ve Go ile yazılmış açık kaynaklı bir oyun sunucusu yönetim panelidir ve her oyun sunucusunu izole bir Docker konteynerinde çalıştırır. Minecraft'tan Rust'a, Terraria'dan Garry's Mod'a kadar pek çok oyun aynı arayüzden yönetilir.
Bu rehber Pterodactyl'i kuran yönetici açısından değil, sunucusunu panelden yöneten kullanıcı açısından yazıldı: konsol, dosya yöneticisi, SFTP, zamanlanmış görevler, alt kullanıcılar, yedekler, veritabanları, allocation (port) yönetimi ve Startup değişkenleri. Bilgileri pterodactyl.io belgelerinden ve panelin GitHub'daki kaynak kodundan aldık. Bu yazı hazırlanırken GitHub'daki son kararlı sürüm v1.15.2 (21 Ekim 2026) idi; ayrıca v2.0.0 beta sürümleri yayınlanmış durumda. Arayüz metinleri sürüme ve barındırma firmanızın temasına göre biraz farklı görünebilir.
Panelin yapısı: Panel, Wings, Node ve Egg

| Kavram | Anlamı |
|---|---|
| Panel | Tarayıcıdan girdiğiniz web arayüzü ve API |
| Wings | Her fiziksel makinede (node) çalışan, Docker konteynerlerini yöneten servis |
| Node | Sunucuların fiilen çalıştığı makine |
| Allocation | Sunucuya atanan IP ve port birleşimi; her sunucunun en az bir allocation'ı olmalı |
| Nest / Egg | Oyun türü (nest) ve o oyunun kurulum şablonu (egg): kurulum betiği, Docker imajı, başlatma komutu ve değişkenler |
Kullanıcı olarak egg'leri ve node'ları görmezsiniz; bunlar yöneticinin işidir. Siz sunucunuzu egg'in size açtığı değişkenler ve izinler çerçevesinde yönetirsiniz.
Console: canlı konsol ve güç düğmeleri
Console sekmesi sunucunun canlı çıktısını gösterir ve oyunun kendi konsol komutlarını buradan gönderirsiniz (örneğin Minecraft'ta say, Terraria'da save). Üstteki düğmelerle sunucuyu başlatır (Start), yeniden başlatır (Restart) veya durdurursunuz (Stop). Stop yanıt vermezse süreç Kill ile zorla sonlandırılabilir; ancak bu, oyunun kaydetme fırsatı olmadan kapanması demektir ve dünya verisi kaybına yol açabilir, son çare olarak kullanın.
Konsolu izlemek için websocket.connect, komut göndermek için control.console, güç işlemleri için control.start, control.stop ve control.restart izinleri gerekir.
Files: dosya yöneticisi
Files sekmesi sunucu klasörünü tarayıcıda gösterir. Buradan dosya ve klasör oluşturabilir, yükleyebilir, düzenleyebilir, yeniden adlandırabilir, silebilir; birden çok dosyayı arşivleyebilir veya mevcut arşivleri açabilirsiniz. Config dosyalarını (server.properties, serverconfig.txt, server.cfg gibi) tarayıcıdaki düzenleyiciyle değiştirmek en hızlı yoldur.
SFTP ile bağlanma

Büyük dosyaları (dünya klasörleri, mod paketleri) tarayıcıdan yüklemek yerine SFTP kullanın. Bağlantı bilgileri Settings sekmesindeki SFTP Details kutusunda yazar:
| Alan | Değer |
|---|---|
| Sunucu adresi | sftp://ADRES:PORT biçiminde, panelde gösterildiği gibi |
| Kullanıcı adı | panel_kullanici_adiniz.sunucu_kimligi (ör. ahmet.1a2b3c4d) |
| Şifre | Panel giriş şifrenizle aynı |
FileZilla, WinSCP gibi bir SFTP istemcisinde protokolü SFTP seçip bu bilgileri girmeniz yeterli. Panel, "Launch SFTP" düğmesiyle sisteminizdeki varsayılan SFTP istemcisini de açabilir. Hesap ayarlarındaki SSH Keys sayfasından açık anahtar ekleyerek şifre yerine anahtarla da bağlanabilirsiniz. Port numarası her kurulumda aynı değildir; her zaman panelde yazan portu kullanın.
Schedules: zamanlanmış görevler
Schedules, sunucunuzda belirli zamanlarda otomatik iş yaptırmanın yoludur: gece yeniden başlatma, düzenli yedek, oyunculara duyuru. Bir zamanlama oluştururken cron sözdizimi kullanırsınız: Minute, Hour, Day of month, Month ve Day of week alanları. Panel, yeni zamanlamada dakikayı varsayılan olarak */5 (her 5 dakikada bir) getirir ve bir cron örnek tablosu (cheatsheet) da gösterir.
- Only When Server Is Online: Zamanlama yalnızca sunucu çalışırken yürütülür.
- Schedule Enabled: Açıksa zamanlama otomatik çalışır.
Her zamanlamaya sırayla çalışan görevler (task) eklenir. Üç görev türü vardır:
| Görev türü | Ne yapar |
|---|---|
| Send command | Konsola bir komut gönderir |
| Send power action | Sunucuyu başlatır, yeniden başlatır, durdurur veya sonlandırır (kill) |
| Create backup | Yedek alır; hariç tutulacak dosyalar belirtilebilir |
Her görevin bir Time offset (saniye cinsinden, önceki görevden sonra bekleme) değeri ve Continue on Failure seçeneği vardır. Örnek bir gece yeniden başlatma zamanlaması (her gün 05:00):
Zamanlama: minute=0 hour=5 day of month=* month=* day of week=*
Görev 1: Send command: say Sunucu 5 dakika içinde yeniden başlayacak
Görev 2: Create backup (time offset 240)
Görev 3: Send power action: Restart the server (time offset 60)Zamanlama saatleri panelin ve node'un saat dilimine göre çalışır; ilk kurduğunuzda "next run" zamanını kontrol ederek beklediğiniz saate denk gelip gelmediğine bakın.
Users: alt kullanıcılar ve izinler
Sunucunuzu bir arkadaşınızla veya ekip arkadaşlarınızla yönetecekseniz şifrenizi paylaşmak yerine alt kullanıcı (subuser) ekleyin. Users sekmesinde e-posta adresini girip vereceğiniz izinleri seçersiniz; kişinin panelde hesabı yoksa davet edilir. Kaynak koddaki açıklamaya göre bir alt kullanıcı kendi hesabını düzenleyemez ve kendisinde olmayan bir izni başkasına veremez.
| İzin grubu | Önemli izinler | Dikkat edilecekler |
|---|---|---|
| control | console, start, stop, restart | restart izni olan, sunucuyu tamamen durduramaz ama kapalıysa başlatabilir |
| file | create, read, read-content, update, delete, archive, sftp | read yalnızca listeleme; dosya içeriğini görmek ve indirmek read-content ister |
| backup | create, read, delete, download, restore | download tüm dosyalara erişim, restore tüm dosyaları silebilme demektir |
| allocation | read, create, update, delete | Birincil allocation herkes tarafından görülebilir |
| startup | read, update, docker-image | docker-image, çalışma imajını değiştirmeye izin verir |
| database | create, read, update, delete, view_password | Şifreyi görmek ayrıca view_password ister |
| schedule | create, read, update, delete | |
| user | create, read, update, delete | Alt kullanıcı yönetimi |
| settings | rename, reinstall | reinstall sunucuyu yeniden kurdurur |
| activity | read | Etkinlik kayıtlarını görme |
Backups: yedekler
Backups sekmesinden sunucunun anlık yedeğini alırsınız. Yedek oluştururken bir ad verebilir, Ignored Files & Directories alanına yedeğe alınmayacak dosya ve klasörleri yazabilirsiniz. Bu alan boş bırakılırsa sunucu kök dizinindeki .pteroignore dosyası (varsa) kullanılır. Locked seçeneği yedeğin, kilit kaldırılana kadar silinmesini engeller.
# .pteroignore örneği (sunucu kök dizininde)
logs/
cache/
*.logKaç yedek alabileceğiniz yönetici veya paketiniz tarafından belirlenir. Yedeklerin nerede saklandığı da kurulumun tercihidir: pterodactyl.io belgelerine göre panel varsayılan olarak yedekleri Wings üzerinden yerel olarak saklar, yönetici isterse AWS S3 veya S3 uyumlu bir depolamaya yönlendirebilir. Yedeği geri yüklemek mevcut dosyaların üzerine yazar; geri yüklemeden önce mevcut durumu da yedeklemek iyi bir alışkanlıktır.
Kritik veriler için paneldeki yedeklere ek olarak dışarıda da bir kopya tutmak isteyebilirsiniz; bunun için SFTP ile indirilen yedekleri kendi depolamanıza alabilir veya kendi sunucunuzda rsync tabanlı yedekleme kurabilirsiniz.
Databases: MySQL veritabanı
Bazı eklentiler (Minecraft'ta LuckPerms, CoreProtect gibi; FiveM'de oxmysql kullanan kaynaklar gibi) bir MySQL/MariaDB veritabanı ister. Databases sekmesinde Database Name ve Connections From alanlarını doldurarak veritabanı oluşturursunuz. Connections From boş bırakılırsa değer % olur, yani her adresten bağlantıya izin verilir. Oluşan veritabanının host, port, kullanıcı adı ve şifre bilgilerini aynı ekranda görürsünüz; şifreyi döndürme (rotate) seçeneği de vardır.
Network: allocation ve portlar
Network sekmesi sunucunuza atanmış IP ve port (allocation) listesini gösterir. Birincil (primary) allocation, oyuncuların bağlandığı adrestir. Bazı oyunlar ek port ister (örneğin RCON, sorgu portu veya Minecraft'ta bir harita eklentisinin web arayüzü). Yönetici size allocation limiti tanımladıysa ekranda "You are currently using X of Y allowed allocations" yazar ve Create Allocation düğmesiyle ek port alabilirsiniz. Her allocation'a not ekleyebilir, birincil allocation'ı değiştirebilir ve kullanmadıklarınızı silebilirsiniz.
Startup: değişkenler ve Docker imajı
Startup sekmesinde sunucunun Startup Command değeri (çoğu zaman salt okunur) ve egg'in tanımladığı değişkenler bulunur: oyun sürümü, harita, oyuncu sayısı, Workshop koleksiyonu, şifre gibi. Düzenlenebilir değişkenleri değiştirip sunucuyu yeniden başlatmanız yeterli. Egg birden fazla imaj sunuyorsa Docker Image kutusundan seçim yapabilirsiniz. Panel bunu ileri düzey bir özellik olarak tanımlar; yanlış imaj seçimi sunucunun açılmamasına yol açabilir.
Bir değişkeni göremiyor veya değiştiremiyorsanız bunun nedeni egg'de o değişkenin kullanıcıya görünmez ya da düzenlenemez tanımlanmış olmasıdır; bu ayarı yalnızca yönetici değiştirebilir.
Settings ve Activity
Settings sekmesinde SFTP bilgilerine ek olarak sunucuyu yeniden adlandırabilir ve açıklama ekleyebilir, gerekiyorsa Reinstall Server ile egg'in kurulum betiğini tekrar çalıştırabilirsiniz. Yeniden kurulum bazı dosyaların silinmesine veya değişmesine yol açabileceği için öncesinde yedek alın. Egg kurulum betiğini atlayacak şekilde ayarlanmışsa yeniden kurulum devre dışıdır ve panel bunun için yöneticiyle iletişime geçmenizi söyler. Activity sekmesi ise sunucuda kimin ne yaptığını (dosya düzenleme, güç işlemi, yedek) kaydeder; birden çok kişiyle yönetilen sunucularda sorun takibinde çok işe yarar.
Client API ile otomasyon
Panel işlemlerini kod ile yapmak isterseniz hesap ayarlarındaki API Credentials sayfasından bir Client API anahtarı (ptlc_ ile başlar) oluşturabilirsiniz. Bu anahtar yalnızca sizin erişiminiz olan sunucularda çalışır. Örneğin konsola komut göndermek ve sunucuyu yeniden başlatmak:
curl -X POST "https://panel.example.com/api/client/servers/SUNUCU_ID/command" \
-H "Authorization: Bearer ptlc_ANAHTARINIZ" \
-H "Accept: Application/vnd.pterodactyl.v1+json" \
-H "Content-Type: application/json" \
-d '{"command": "say Merhaba"}'
curl -X POST "https://panel.example.com/api/client/servers/SUNUCU_ID/power" \
-H "Authorization: Bearer ptlc_ANAHTARINIZ" \
-H "Accept: Application/vnd.pterodactyl.v1+json" \
-H "Content-Type: application/json" \
-d '{"signal": "restart"}'signal değeri start, stop, restart veya kill olabilir. API anahtarınızı bir şifre gibi saklayın; sızarsa hemen panelden silin.
Güvenlik için kısa kontrol listesi

- Panel hesabınızda iki adımlı doğrulamayı (2FA) açın; SFTP şifreniz panel şifrenizle aynı olduğu için bu hesap sunucunuzun anahtarıdır.
- Alt kullanıcılara yalnızca gereken izinleri verin, işi bitenleri kaldırın.
- Önemli yedekleri kilitleyin ve düzenli yedek zamanlaması kurun.
- Kullanmadığınız ek portları (allocation) silin, veritabanı bağlantılarını gerekli adreslerle sınırlayın.
- Saldırılara karşı altyapı tarafında alınan önlemler için DDoS koruma rehberimize göz atın.
Sık Sorulan Sorular
SFTP şifremi nereden bulurum?
Pterodactyl'de SFTP şifresi panel giriş şifrenizle aynıdır. Kullanıcı adı ise kullanici_adiniz.sunucu_kimligi biçimindedir ve Settings sekmesindeki SFTP Details kutusunda yazar.
Yedek alamıyorum, düğme görünmüyor. Neden?
Ya hesabınızda backup.create izni yoktur ya da sunucunuzun yedek limiti sıfırdır veya dolmuştur. Limit doluysa eski bir yedeği silin; kilitli yedekler silinmeden önce kilidinin kaldırılması gerekir.
Sunucumu panelden yeni bir oyuna veya egg'e çevirebilir miyim?
Egg değişikliği yönetici tarafında yapılan bir işlemdir; kullanıcı arayüzünde yalnızca egg'in izin verdiği değişkenleri ve Docker imajını değiştirebilirsiniz. Farklı bir oyun için genellikle barındırma firmanızdan değişiklik talep etmeniz gerekir.
Zamanlanmış görevim çalışmıyor, ne kontrol etmeliyim?
Zamanlamanın "Schedule Enabled" durumda olduğuna, "Only When Server Is Online" açıksa sunucunun o saatte çalıştığına ve cron alanlarının doğru olduğuna bakın. Panelde görünen "next run" zamanı, saat dilimi farkını anlamanıza yardımcı olur.
Oyun ve yazılım adları sahiplerine aittir. Bu yazı bağımsız bir teknik rehberdir; adı geçen geliştiricilerle ortaklık ilişkisi bulunduğu anlamına gelmez.
İlgili içerikler: SteamCMD nedir? · Terraria sunucu kurulumu · Garry's Mod sunucu kurulumu · TeamSpeak sunucu kurulumu · Minecraft sunucu kurulumu