معرفی Pterodactyl Panel
Pterodactyl یک پنل متنباز برای میزبانی و مدیریت سرورهای بازی (Minecraft، Rust، Source، سرورهای صوتی، رباتها) است. هر سرور در کانتینر Docker مخصوص خود اجرا میشود و دیمن Wings آن را کنترل میکند؛ همهچیز را از یک رابط وب مدیریت میکنید: کنسول، فایلها، بکاپها، حسابهای کاربری و محدودیت منابع.
این پیشنهاد روی یک VPS لینوکس، پنل (PHP، Nginx، MariaDB، Redis)، phpMyAdmin، Docker و Wings را نصب میکند. اسکریپت همچنین یک لوکیشن «main»، یک نود «Node-1» متصل به Wings و تخصیص پورتهای 25565 تا 25590 میسازد تا بدون تنظیمات اضافه بتوانید اولین سرور خود را ایجاد کنید.
نکتهای که پیش از سفارش باید بدانید: گواهی HTTPS از Let's Encrypt به یک دامنه نیاز دارد. اسکریپت نصب منتظر میماند که دامنه و ایمیل خود را وارد کنید و رکورد DNS از نوع A به سرور اشاره کند. روند کار در بخش شروع سریع زیر توضیح داده شده است.
با Pterodactyl Panel چه کارهایی میتوانید انجام دهید
پنل وب کامل
پنل با Nginx و PHP-FPM ارائه میشود؛ MariaDB پایگاه داده است و Redis برای کش، نشستها و صف وظایف به کار میرود. سرویس systemd با نام pteroq صف را در پسزمینه پردازش میکند.
Wings و Docker از پیش نصبشده
Docker و دیمن Wings نصب شدهاند و پیکربندی نود توسط پنل در /etc/pterodactyl/config.yml تولید میشود. اگر این پیکربندی معتبر باشد، Wings بهصورت سرویس systemd شروع به کار میکند.
نود محلی از قبل ساختهشده
یک نود Node-1 با حدود 80% از RAM و فضای دیسک /var، پورتهای 8080 (Wings) و 2022 (SFTP) و تخصیصهای 25565 تا 25590 ثبت شده است.
HTTPS خودکار Let's Encrypt
گواهی با certbot برای دامنه شما درخواست میشود. یک هوک تمدید، در هر بار تمدید Nginx را بارگذاری مجدد و Wings را راهاندازی مجدد میکند.
phpMyAdmin روی همان دامنه
phpMyAdmin در مسیر /phpmyadmin در دسترس است، با یک حساب اختصاصی که رمز عبورش تصادفی تولید میشود. برای بررسی پایگاه داده پنل یا سرورهای بازی شما کاربردی است.
اطلاعات ورود تولیدشده هنگام نصب
حساب مدیر پنل و حساب phpMyAdmin رمزهای عبور تصادفی دریافت میکنند که در /tmp/credentials.txt نوشته میشوند (سطح دسترسی 600). تلهمتری پنل غیرفعال است.
شروع کار با Pterodactyl Panel
از سفارش تا راهاندازی نهایی، در چند دقیقه.
- 1
VPS را با برنامه تیکخورده سفارش دهید
یک VPS لینوکس در پاریس یا فرانکفورت انتخاب کنید، سپس Pterodactyl Panel را در تب «Applications» تیک بزنید. Ubuntu 22.04، Ubuntu 24.04 یا Debian 12 و 4 GB RAM را انتخاب کنید، اگر قصد راهاندازی سرور بازی دارید.
- 2
وارد شوید و دامنه خود را متصل کنید
پس از تحویل سرور، نزد ثبتکننده دامنه خود (به /web-domains مراجعه کنید) یک رکورد A از زیردامنهتان به SERVER_IP بسازید، سپس یک نشست SSH باز کنید.
Bashssh root@SERVER_IP - 3
دامنه را وارد کنید و نصب را اجرا کنید
اسکریپت /opt/install-pterodactyl.sh تا زمانی که DOMAIN و LE_EMAIL مقادیر نمونه خود را دارند متوقف میماند. آنها را تغییر دهید، اسکریپت را دوباره اجرا کنید، سپس اطلاعات ورود خود (کاربر admin) را بخوانید و https://YOUR_DOMAIN را باز کنید. چند دقیقه صبر کنید؛ اگر انتشار DNS دیر شود، بیشتر طول میکشد.
Bashnano /opt/install-pterodactyl.sh bash /opt/install-pterodactyl.sh cat /tmp/credentials.txt - 4
پیش از استفاده عملیاتی، امنیت را برقرار کنید
فایل /tmp/credentials.txt را به خارج از سرور کپی کنید، رمز مدیر را تغییر دهید، سپس فایروالی فعال کنید که SSH، HTTP(S)، Wings (8080)، SFTP (2022) و پورتهای بازی شما را عبور دهد. فراموش نکنید بکاپهای پایگاه داده و /var/lib/pterodactyl/volumes را زمانبندی کنید.
Bashcp /tmp/credentials.txt /root/credentials.txt apt-get install -y ufw ufw allow 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp ufw allow 8080/tcp && ufw allow 2022/tcp && ufw allow 25565:25590/tcp ufw enable
کاربردهای Pterodactyl Panel
میزبانی سرورهای Minecraft
چندین سرور ایزوله در کانتینرها بسازید، با محدودیت حافظه و دیسک برای هر سرور، و به هر بازیکن یا مشتری دسترسی محدود به سرور خودش بدهید.
جامعه یا کلن بازیکنان
سرورهای بازی و رباتهای Discord خود را در یک رابط واحد متمرکز کنید، با زیرکاربرانی که میتوانند بدون دسترسی SSH سرور را روشن، خاموش یا فایلها را ویرایش کنند.
فروش مجدد سرور بازی
یک مجموعه کوچک میتواند سرور بازی به مشتریان خود ارائه دهد؛ هر کدام حساب خود در پنل، کنسول و دسترسی SFTP مخصوص خود را دارند.
محیط آزمایش پیش از استقرار گستردهتر
پنل، eggها و محدودیت منابع را روی یک VPS آزمایش کنید، سپس نودهای Wings بیشتری اضافه کنید یا هنگامی که بار افزایش یافت به [سرور اختصاصی گیمینگ](/serveur-dedie-gaming) بروید.
پرسشهای متداول درباره Pterodactyl Panel
بله. گواهی Let's Encrypt برای یک دامنه صادر میشود و نود Wings با همین نام تعریف میشود. پیش از اجرای اسکریپت یک رکورد A به IP سرور مجازی بسازید. میتوانید در صفحه [دامنهها](/web-domains) یک دامنه ثبت کنید.
درباره Pterodactyl Panel بیشتر بدانید
اسکریپت از شما چه انتظاری دارد
اسکریپت در اولین بوت توسط cloud-init اجرا میشود. اگر DOMAIN و LE_EMAIL تغییر نکرده باشند، پیامی نمایش میدهد و بدون نصب چیزی بیش از بستههای پایه متوقف میشود. کافی است فایل را ویرایش کنید و دوباره با bash /opt/install-pterodactyl.sh اجرا کنید.
پس از اجرا، حدود 10 دقیقه منتظر میماند تا DNS دامنه شما به IP عمومی سرور اشاره کند، سپس پنج بار برای دریافت گواهی تلاش میکند. بنابراین پورت 80 باید در دسترس باشد. اسکریپت همچنین به PHP 8.1 یا بالاتر نیاز دارد: برای Ubuntu 22.04، Ubuntu 24.04 و Debian 12 طراحی شده است. روی نسخهای دیگر، اگر PHP قدیمی باشد متوقف میشود.
این اسکریپت برای یک سرور نو نوشته شده است. از اجرای دوباره آن روی ماشینی که پنل قبلاً با موفقیت روی آن نصب شده خودداری کنید.
هر چیز کجاست
- پنل: /var/www/pterodactyl (فایل پیکربندی .env در ریشه)
- پیکربندی Nginx: /etc/nginx/sites-available/pterodactyl.conf
- پیکربندی Wings: /etc/pterodactyl/config.yml
- دادههای سرورهای بازی: /var/lib/pterodactyl/volumes
- سرویسها:
pteroq،wings،nginx،mariadb،redis-server،docker
فایل /tmp/credentials.txt ممکن است پس از ریبوت از بین برود، چون گاهی /tmp پاک میشود. آن را همان اولین ورود کپی کنید.
بکاپها
سه مورد مهم است: پایگاه داده MariaDB پنل (با نام panel)، فایل .env پنل (حاوی کلید برنامه) و پوشه ولومهای بازی. یک mysqldump روزانه و کپی این مسیرها در یک فضای ذخیرهسازی خارجی بیشتر نیازها را پوشش میدهد.
Bashmysqldump panel > /root/panel-$(date +%F).sql cp /var/www/pterodactyl/.env /root/pterodactyl.env
phpMyAdmin و فایروال
حساب pma_admin همه امتیازها را روی MariaDB دارد. اگر همیشه به phpMyAdmin نیاز ندارید، دسترسی آن را در پیکربندی Nginx بر اساس IP محدود کنید یا لینک /var/www/pterodactyl/public/phpmyadmin را حذف کنید.
پورتهای بازی که Docker منتشر میکند میتوانند قوانین ufw را دور بزنند. پس از راهاندازی، از بیرون بررسی کنید که کدام پورتها واقعاً پاسخ میدهند. برای محافظت در برابر حملات حجمی، VPS ضد DDoS را ببینید.