fbpx
طريقة إنشاء سيرفر ماين كرافت

إذا كنت تبحث عن طريقة إنشاء سيرفر ماين كرافت باستخدام لوحة التحكم CyberPanel، فإن استخدام Pterodactyl هو الخيار الأمثل لك. سيرفر Pterodactyl يمنحك القدرة على إدارة الألعاب المختلفة بما في ذلك Minecraft بفعالية كبيرة، بفضل واجهته السهلة الاستخدام وقوته في التعامل مع الحاويات عبر Docker. في هذا الدليل الشامل، سنأخذك خطوة بخطوة لإنشاء سيرفر ماين كرافت باستخدام Pterodactyl على CyberPanel، بالإضافة إلى إعداد وكيل عكسي، فتح منافذ جدار الحماية، وتفعيل Web Socket لضمان سيرفر آمن ومستقر.

لتثبيت Pterodactyl على CyberPanel وتشغيل خادم Minecraft الخاص بك، اتبع الخطوات التفصيلية التالية. قبل البدء، تأكد من قراءة التعليمات الواردة في المقالات التالية وتطبيقها:

إعداد DNS وإنشاء المواقع في CyberPanel

إعداد CNAME في DNS

للبدء، تحتاج إلى إنشاء سجلين من نوع CNAME في DNS الخاص بك. في هذا المثال، سنستخدم الأسماء التالية:

سيكون اسم النطاق الخاص بالسيرفر الرئيسي هو

ServerAlias.Domain.com

سيكون اسم النطاق الخاص بالعقدة الرئيسية هو

NodeAlias.Domain.com

إنشاء مواقع جديدة في CyberPanel

بعد إعداد سجلات CNAME، ننتقل إلى CyberPanel لإنشاء مواقع الويب لكل من السجلات الجديدة.

اذهب إلى:

MAIN > Website > Create Website

املأ البيانات التالية:

  • Package: Default (لا حاجة لتغييره)
  • Owner: admin (أو أي مستخدم آخر)
  • Domain Name: أدخل النطاق بدون “www” ويجب أن يكون بالحروف الصغيرة فقط.
  • Email: أدخل البريد الإلكتروني الخاص بك.
  • PHP Version: اختر الإصدار 8.0.
  • اضغط على: زر Create Website.

إصدار شهادات SSL

بعد إنشاء المواقع، نحتاج إلى إصدار شهادة SSL للموقع:

اذهب إلى:

MAIN > Website > List Websites
  • ابحث عن الموقع الذي أنشأته واضغط على Issue SSL.
  • انتظر حتى يتم الانتهاء من إصدار الشهادة.
  • تأكد من أن الموقع حصل على شهادة LET'S ENCRYPT من خلال إدارة الموقع.

تعديل قواعد إعادة التوجيه

اذهب إلى:

CONFIGURATIONS > Rewrite Rules

استبدل النص الموجود في موقع ServerAlias.Domain.com بالتالي

Nginx
RewriteEngine On
REWRITERULE ^(.*)$ HTTP://ServerAlias.Domain.com/$1 [P]

اضغط على: زر Save Rewrite Rules.

استبدل النص الموجود في موقع ServerAlias.Domain.com بالتالي

Nginx
RewriteEngine On
REWRITERULE ^(.*)$ HTTP://NodeAlias.Domain.com/$1 [P]

إعداد OpenLiteSpeed

إعداد التطبيقات الخارجية

الخطوة التالية هي إعداد التطبيقات الخارجية في OpenLiteSpeed:

اذهب إلى:

Server Configuration > External App
  • اضغط على: رمز الإضافة في أعلى القائمة.
  • اختر النوع: Web Server.
  • املأ البيانات التالية:
  • Name: أدخل اسم النطاق.
  • Address: أدخل للسيرفر الرئيسي
127.0.0.1:802

وللعقدة.

 127.0.0.1:8443 
  • Max Connections: 60
  • Initial Request Timeout (secs): 60
  • Retry Timeout (secs): 60
  • اضغط على: رمز الحفظ.

إعداد Web Socket Proxy

لإعداد Web Socket للعقدة، اتبع الخطوات التالية:

اذهب إلى:

Virtual Hosts > Summary > Virtual Host List
  • اضغط على النطاق: NodeAlias.Domain.com.
  • اختر: Web Socket Proxy.
  • املأ البيانات التالية:
  • URI: /
  • Address: 127.0.0.1:8443
  • اضغط على: رمز الحفظ.
  • أعد تشغيل LiteSpeed من خلال الضغط على السهم الأخضر الدائري في أعلى يمين الشاشة.

إعداد Pterodactyl باستخدام Portainer

إنشاء Stack جديد في Portainer

اذهب إلى:

Portainer > local Environments
  • اختر: Stacks من القائمة الجانبية.
  • اضغط على: Add stack في أعلى القائمة.
  • املأ البيانات التالية:
  • Name: أدخل pterodactyl.

في Web editor: قم بإضافة الكود التالي:

YAML
version: "3.8"
# This section declares the basic config of all of your Containers that are
# declared below as "services"
x-common:
  database:
    &db-environment
    # You don't need to change these because it will not be exposed to the public.
    MYSQL_PASSWORD: &db-password "password_here"
    MYSQL_ROOT_PASSWORD: "password_here"
  panel:
    &panel-environment
    #This is the URL that your panel will be on after being reverse proxied.
    # set this to "https://yoursubdomain.yourdomain.yourdomainstld"
    APP_URL: "https://<ServerAlias.Domain.com>"
    # A list of valid timezones can be found here:
    # http://php.net/manual/en/timezones.php
    APP_TIMEZONE: "Etc/UCT"
    APP_SERVICE_AUTHOR: "email@gmail.com"
  # Mail is an optional Setup, I have the basic setup if you want to use a gmail
  # account. You will need an App Password as the MAIL_PASSWORD field, not your
  # gmail password. Uncomment the following lines to enable mail.
    HASHIDS_SALT: "Play.MC-SmartCraft.com"  # DO NOT CHANGE
    HASHIDS_LENGTH: 8  # DO NOT CHANGE
    
  #mail:
    #&mail-environment
    #MAIL_FROM: "youremail@gmail.com"
    #MAIL_DRIVER: "smtp"
    #MAIL_HOST: "smtp.gmail.com"
    #MAIL_PORT: "587"
    #MAIL_USERNAME: "youremail@gmail.com"
    #MAIL_PASSWORD: ""
    #MAIL_ENCRYPTION: "true"
services:
  # Wings is the service that hooks into docker and actually creates your game
  # servers,
  wings:
    image: ghcr.io/pterodactyl/wings:latest
    restart: always
    networks:
      - ptero0
    # These are the ports exposed by Wings, I don't recommend changing them.
    ports:
      - "8443:443"
      - "2022:2022"
    tty: true
    environment:
      TZ: "Etc/UCT"
      # For ease of setup, this is going to use root user.
      WINGS_UID: 0
      WINGS_GID: 0
      WINGS_USERNAME: root
    # This is where docker will bind certain parts of container to your actual
    # host OS. These locations will be used later.
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock" # DO NOT CHANGE
      - "/var/lib/docker/containers:/var/lib/docker/containers" # DO NOT CHANGE
      - "/opt/pterodactyl/wings/config:/etc/pterodactyl" # Feel free to change.
      - "/var/lib/pterodactyl:/var/lib/pterodactyl" # DO NOT CHANGE
      - "/var/log/pterodactyl:/var/log/pterodactyl" # DO NOT CHANGE
      - "/tmp/pterodactyl/:/tmp/pterodactyl/" # Recommended not to change.
  # It's a database. Not much else to explain.
  database:
    image: mariadb:10.5
    restart: always
    command: --default-authentication-plugin=mysql_native_password
    volumes:
      - "/opt/pterodactyl/panel/database:/var/lib/mysql"
    environment:
      <<: *db-environment
      MYSQL_DATABASE: "panel"
      MYSQL_USER: "pterodactyl"
  # It's a CACHE database. Not much else to explain.
  cache:
    image: redis:alpine
    restart: always
  # Now the fun part. Your actual panel.
  panel:
    image: ghcr.io/pterodactyl/panel:latest
    restart: always
    # For NGINX Reverse Proxy, I will be using these ports for simplicity.
    ports:
      - "802:80"
      - "4432:443"
    # Links these containers together in a docker network.
    links:
      - database
      - cache
    # This is where docker will bind certain parts of container to your actual
    # host OS. These don't really matter that much.
    volumes:
      - "/opt/pterodactyl/panel/appvar/:/app/var/"
      - "/opt/pterodactyl/panel/nginx/:/etc/nginx/http.d/"
      - "/opt/pterodactyl/panel/logs/:/app/storage/logs"
    # Sets the config stuff
    environment:
      <<: [*panel-environment]
      # <<: [*mail-environment]
      DB_PASSWORD: *db-password
      APP_ENV: "production"
      APP_ENVIRONMENT_ONLY: "false"
      CACHE_DRIVER: "redis"
      SESSION_DRIVER: "redis"
      QUEUE_DRIVER: "redis"
      REDIS_HOST: "cache"
      DB_HOST: "database"
      DB_PORT: "3306"
# This is Wings' Network. We don't need much depth here, all you need to know, is
# that it allows the passthrough of the ports from Wings.
networks:
  ptero0:
    name: ptero0
    driver: bridge
    ipam:
      config:
        - subnet: "192.55.0.0/16"
    driver_opts:
      com.docker.network.bridge.name: ptero0

قم بتغيير: MYSQL_PASSWORD, MYSQL_ROOT_PASSWORD, APP_URL, APP_TIMEZONE, APP_SERVICE_AUTHOR بالقيم الصحيحة.

اضغط على: زر Deploy the stack.

تفعيل Wings على Pterodactyl

بعد إنشاء stack، قم بتفعيل Wings:

اذهب إلى:

Containers

أوقف: pterodactyl-wings-1 من الحاويات.

اذهب إلى الطرفية: على VPS باستخدام صلاحيات الجذر.

استخدم الأمر التالي:

Bash
sudo docker exec -it pterodactyl-panel-1 php artisan p:user:make

أنشئ حساب مدير عبر إدخال البريد الإلكتروني، الاسم الأول، الاسم الأخير، وكلمة المرور.

إعداد العقدة (Node) في Pterodactyl

إنشاء موقع العقدة

اذهب إلى: Pterodactyl Control Panel

https://ServerAlias.Domain.com

من القائمة الجانبية: اختر

MANAGEMENT > Nodes

اضغط على: Create New.

املأ البيانات التالية:

  • Name: MainNode.
  • Location: MainLocation.
  • Node Visibility: Public.
  • FQDN: NodeAlias.Domain.com.
  • Communicate Over SSL: Use SSL Connection.
  • Behind Proxy: Behind Proxy.
  • Total Memory: 4069 MB.
  • Total Disk Space: 10240 MB.
  • Daemon Port: 443.
  • Daemon SFTP Port: 2022.
  • اضغط على: Create Node.

إضافة تخصيصات المنافذ

في صفحة التخصيصات: املأ البيانات التالية:

  • IP Address: 0.0.0.0
  • Ports: 25565, 19132, 19133
  • اضغط على: زر Submit.

ربط العقدة بـ Wings

اذهب إلى:

Configuration of Node

انسخ الـ config الخاص بالعقدة.

انتقل إلى Webmin:

اذهب إلى:

Tools > File Manager

انتقل إلى المسار:

/opt/pterodactyl/wings/config

أنشئ ملفًا جديدًا باسم config.yml.

الصق الـ config الخاص بالعقدة، وأضف البيانات التالية:

YAML
docker:
  network:
    interfaces:
      v4:
        subnet: 192.54.0.0/16
        gateway: 192.54.0.1

احفظ التعديلات.

عد إلى Portainer وقم بتشغيل الحاوية pterodactyl-wings-1.

افتح لوحة تحكم Pterodactyl وتأكد من أن العقدة تعمل بشكل صحيح.

إنشاء سيرفر Minecraft على Pterodactyl

إعداد السيرفر الجديد

من لوحة تحكم Pterodactyl: اختر

MANAGEMENT > Servers.

اضغط على: Create New.

املأ البيانات التالية:

  • Server Name: اكتب اسم السيرفر.
  • Server Owner: اختر اسمك
  • Default Allocation: 25565.
  • Database Limit: 1 (أي رقم تريده).
  • Allocation Limit: 1 (أي رقم تريده).
  • Backup Limit: 1 (أي رقم تريده).
  • CPU Limit: 0 (الصفر يعني لا حدود).
  • Memory: 2048 (أي رقم تريده).
  • Swap: -1 (يعني -1 لا حدود).
  • Disk Space: 10240 (أي رقم تريده).
  • Nest: Minecraft
  • Egg: Paper (اختر النوع الذي تريده).
  • Docker Image: Java 21 (اختر الاصدار المناسب للمكونات الاضافية).
  • اضغط على: زر Create Server.

تخصيص السيرفر

  1. انتقل إلى قائمة السيرفرات: واختر السيرفر الذي أنشأته للتو.
  2. تأكد من أن السيرفر يعمل: واضغط على Console.
  3. إذا ظهرت أخطاء في Console: تحقق من إعدادات Java أو Egg أو Port.

فتح منافذ Minecraft على جدار الحماية CSF

إعداد TCP_IN و TCP_OUT في CSF

انتقل إلى CyberPanel:

اذهب إلى:

System > ConfigServer Security & Firewall

اختر: Firewall Configuration.

تعديل الإعدادات التالية:

TCP_IN: أضف

25565, 19132, 19133

اضغط على: Save Configuration ثم Restart CSF/LFD.

خاتمة

بإتباع الخطوات المذكورة أعلاه، تكون تعلمت طريقة إنشاء سيرفر ماين كرافت باستخدام Pterodactyl على CyberPanel بكل سهولة واحترافية. يتضمن هذا الدليل كل ما تحتاجه من إعداد DNS إلى تشغيل السيرفر وتفعيل جميع الخصائص المطلوبة. تأكد من اتباع جميع الخطوات بدقة لضمان سيرفر مستقر وآمن يتيح لك وللاعبيك تجربة لعب ممتعة وخالية من المشاكل.

المزيد :

مشاركة
مشاركة
مشاركة
مشاركة
مشاركة

قد يعجبك أيضاً

اترك تعليقاً

Scroll to Top
Scroll to Top
Syria Smart Technology نود أن نظهر لك إشعارات بآخر الأخبار والتحديثات.
لاحقاً
تفعيل الإشعارات