هنا فخ يقع فيه كثيرون: نسختا Java وBedrock لا تستخدمان المنفذ نفسه ولا البروتوكول نفسه. فإذا كان خادمك بنسخة Java، فلن يدخل لاعبو Bedrock مهما فتحت من منافذ، والعكس صحيح.
المنافذ
| المنفذ | البروتوكول | الاستخدام | هل يُفتح؟ |
|---|---|---|---|
| 25565 | TCP | Minecraft Java | نعم، إذا كنت تلعب نسخة Java |
| 19132 | UDP | Minecraft Bedrock (الهاتف المحمول، وأجهزة الألعاب، وWindows 10/11) | نعم، إذا كنت تلعب نسخة Bedrock |
| 25565 | UDP | Query (قوائم الخوادم، وبوتات Discord) | فقط إذا ضبطت enable-query=true |
| 25575 | TCP | RCON | الأفضل ألا تفتحه للإنترنت |
يُحدَّد المنفذ في ملف server.properties، في الخيار server-port. وإن كنت قد غيّرته، فاستخدم منفذك.
Windows (PowerShell بصلاحيات المسؤول)
Java:
New-NetFirewallRule -DisplayName "Minecraft Java TCP 25565 (in)" -Direction Inbound -Protocol TCP -LocalPort 25565 -Action Allow -Profile Any
New-NetFirewallRule -DisplayName "Minecraft Java TCP 25565 (out)" -Direction Outbound -Protocol TCP -LocalPort 25565 -Action Allow -Profile Any
Bedrock:
New-NetFirewallRule -DisplayName "Minecraft Bedrock UDP 19132 (in)" -Direction Inbound -Protocol UDP -LocalPort 19132 -Action Allow -Profile Any
New-NetFirewallRule -DisplayName "Minecraft Bedrock UDP 19132 (out)" -Direction Outbound -Protocol UDP -LocalPort 19132 -Action Allow -Profile Any
Query، فقط إذا كنت قد فعّلته في server.properties:
New-NetFirewallRule -DisplayName "Minecraft query UDP 25565 (in)" -Direction Inbound -Protocol UDP -LocalPort 25565 -Action Allow -Profile Any
Linux
# Java — Ubuntu / Debian
ufw allow 25565/tcp
# Bedrock
ufw allow 19132/udp
# AlmaLinux / Rocky
firewall-cmd --permanent --add-port=25565/tcp
firewall-cmd --permanent --add-port=19132/udp
firewall-cmd --reload
# هل يستمع؟
ss -lntup | grep -E '25565|19132'
كي لا يضطر لاعبوك إلى كتابة المنفذ
إذا كنت تستخدم المنفذ 25565 (المعتاد)، فيكفي أن يكتبوا عنوان IP أو نطاقك. أما إذا غيّرته، فسيتعيّن عليهم كتابة yourdomain.com:25566، وهذا غير أنيق ويُنسى بسهولة.
والحل الأنظف هو سجل SRV في إعدادات DNS، فهو يخبر برنامج اللعبة بالمنفذ الذي يتصل به دون أن يحتاج اللاعب إلى معرفته:
_minecraft._tcp.play.yourdomain.com. SRV 0 5 25566 yourdomain.com.
وبذلك يدخل لاعبوك بكتابة play.yourdomain.com فقط. أما في Bedrock فلا يوجد دعم لسجلات SRV، وهناك يجب تحديد المنفذ.
ما زال لا أحد يستطيع الدخول
- Java أم Bedrock؟ هذا هو الخطأ الكلاسيكي: تفتح TCP 25565 ثم يدخل أصدقاؤك من الهاتف المحمول، وهو يعمل بنسخة Bedrock عبر UDP 19132.
- هل الخادم يعمل؟ راجع وحدة التحكم (console): يجب أن تظهر كلمة
Doneوالمنفذ. فإذا نفدت ذاكرة Java، فلن يصل الخادم حتى إلى مرحلة الاستماع. - الحقل
server-ipفارغ. في ملفserver.propertiesيجب أن يبقى الحقلserver-ipفارغًا. فإذا كانت فيه قيمة، فلن يستمع الخادم إلا على ذلك العنوان. online-modeلا يؤثر في الاتصال، لكنه يحدد من يستطيع الدخول. إذا لم تكن حسابات لاعبيك أصلية (premium)، فاضبطه علىfalseوثبّت إضافة (plugin) للمصادقة.- تصفية AntiDDoS: تبويب الأمان لخدمتك في لوحة التحكم.
لا تعرف كم من RAM تخصص له؟ جرّب حاسبة RAM لخوادم Minecraft: فهي تراعي نوع الخادم وعدد اللاعبين ومسافة الرؤية، وهي ما يستهلك الذاكرة فعلًا.