Skip to content

Wiki ar sa

pjscruggs edited this page Nov 11, 2026 · 2 revisions

Raknetify2 · العربية (العالم العربي)

اللغة

اللعب متعدد اللاعبين

اتصالات RakNet الشبكية لعملاء Minecraft وخوادمها.

تنزيل · GitHub

Minecraft Raknetify2 العميل / الخادم
Fabric mods/raknetify2-fabric-*.jar العميل / الخادم
Forge mods/raknetify2-forge-*.jar العميل / الخادم
NeoForge mods/raknetify2-neoforge-*.jar العميل / الخادم
Spigot / Paper plugins/raknetify2-spigot-*.jar الخادم
Velocity plugins/raknetify2-velocity-*.jar Velocity
BungeeCord plugins/raknetify2-bungee-*.jar BungeeCord

إضافة خادم

  1. اللعب متعدد اللاعبين

  2. إضافة خادم

  3. عنوان الخادم

    عنوان الخادم
    RakNet · UDP raknet;play.example.com:25565
    TCP play.example.com:25565
  4. تم

  5. الانضمام للخادم

F3 · Raknetify2

F3
RakNet · UDP نشط · MTU 1400
TCP غير نشط

Velocity / BungeeCord

  1. العميل · Raknetify2 → UDP → Velocity / BungeeCord · Raknetify2
  2. Velocity / BungeeCord → TCP → الخادم
رقم المنفذ · UDP Java
Fabric / Forge / NeoForge 1–65534 -Draknetify.fabric.portOverride=25570
Spigot / Paper ≥ 0.1.0-beta.1.431 1–65535 -Draknetify.spigot.portOverride=25570
Velocity 1–65534 -Draknetify.velocity.portOverride=25570
BungeeCord 1–65534 -Draknetify.bungee.portOverride=25570

انتهت المهلة

عنوان الخادم UDP
raknet;play.example.com:25580 play.example.com:25580 → NAT → 192.0.2.10:25570
الخادم · 192.0.2.10 25570/udp

config/raknetify2-compatibility.json

الخادم / Velocity / BungeeCord

JSON
① ② ③ {"mode":"ordered"}
① ∥ ② ∥ ③ {"mode":"multichannel"}

Simple Voice Chat

الخادم Raknetify2 · UDP 25565 Simple Voice Chat
Fabric / Forge / NeoForge config/raknetify2-voicechat.json · {"enabled":true} config/voicechat/voicechat-server.properties · port=-1
Spigot / Paper config/raknetify2-voicechat.json · {"enabled":true} plugins/voicechat/voicechat-server.properties · port=-1

Simple Voice Chat · Velocity / BungeeCord

PROXY protocol v2 · UDP

عنوان الخادم trustedProxies RakNet
192.0.2.10 · PROXY v2 / UDP ["192.0.2.10"] ✓
192.0.2.11 · PROXY v2 / UDP ["192.0.2.10"] ✗
العميل → RakNet / UDP ["192.0.2.10"] ✗

config/raknetify2-proxy-protocol.json

{"trustedProxies":["192.0.2.10"]}

Minecraft ≥ 1.20.5 · /transfer

  1. الخادم A · Fabric / Forge / NeoForge · config/raknetify2-transfers.json

    {"destinations":[{"host":"play.example.com","tcpPort":25565,"udpPort":25570}]}
  2. الخادم B · play.example.com · server.properties → accepts-transfers=true

  3. الخادم A · /transfer play.example.com 25565 Alex → العميل (Alex) → RakNet · play.example.com:25570

PacketOrdering

Minecraft
ui الخيارات
entity هيكل عظمي
world_interaction جرد
effects الجسيمات
chunk كتل

PacketOrdering.java

إصدار غير متوافق!

الإبلاغ عن أخطاء

الصفحة الرئيسية

Raknetify2

يستخدم Raknetify2 بروتوكول RakNet فوق UDP للعب الجماعي في Minecraft. تُوزَّع البيانات على قنوات، وتحافظ كل قناة على ترتيب حزمها. إذا فُقدت حزمة في إحدى القنوات، تستطيع القنوات الأخرى مواصلة الإرسال. بذلك قد تظل اللعبة سريعة الاستجابة أثناء إعادة إرسال البيانات المفقودة أو نقل أجزاء من عالم اللعبة.

Raknetify2 فرع مستقل الصيانة من Raknetify الذي طوّره ishland. يضيف الفرع دعمًا لإصدارات أحدث من Minecraft، ويواصل صيانة شيفرة نقل البيانات والتكامل مع المنصات واختبارات التوافق.

ابدأ الآن

  1. تحقق من توافق Minecraft والإضافات.
  2. اختر نسخة للتنزيل وقم بتثبيتها.
  3. قم بالاتصال بعنوان مثل raknet;play.example.com.

دليل الخادم

يمكن لمطوّري التعديلات استخدام واجهة ترتيب الحزم لتحديد أي بيانات Minecraft يجب أن تصل قبل حمولاتهم المخصّصة.

روابط المشروع

يستخدم Raknetify2 رخصة MIT ويحتفظ بإشعارات حقوق النشر الأصلية. يعتمد تنفيذه الشبكي على Raknetify وnetty-raknet.

التثبيت

قم بتنزيل الإصدار من GitHub Releases. تحقق من إصدار Minecraft ومتطلبات التحميل قبل التثبيت.

المكان الذي ستقوم بتركيب فيه الملف الملف
عميل Fabric أو خادم Fabric raknetify2-fabric-*.jar mods
عميل Forge أو خادمه raknetify2-forge-*.jar mods
عميل NeoForge أو خادم NeoForge raknetify2-neoforge-*.jar mods
خادم Spigot أو خادم Paper raknetify2-spigot-*.jar plugins
وكيل Velocity raknetify2-velocity-*.jar plugins
بروكسي BungeeCord raknetify2-bungee-*.jar plugins

أغلق العميل أو أوقف الخادم قبل استبدال ملف JAR الخاص به. أزل ملف Raknetify الأصلي وملف Raknetify2 الأقدم من نفس التثبيت قبل إضافة الملف الجديد.

تنتمي مجلدات العميل إلى مثيل Minecraft أو حزمة التعديلات التي تقوم بتشغيلها. أما مجلدات الخادم والواسطاء فتنتمي إلى تثبيت الخادم أو الواسطاء. قم بإنشاء المجلد المناسب إذا لم يقم محرك التحميل بإنشائه بعد.

الاتصالات المباشرة مع الخادم

  1. قم بتثبيت المود الخاص بكليبرات لبرنامج التحميل الخاص بك.
  2. قم بتثبيت المود الخاص بالسيرفر المناسب، أو إضافة الملحق Spigot/Paper على السيرفر المتوافق.
  3. اتبع تكوين جدار الحماية والراوتر لتمكين الاتصالات عبر UDP مع الخادم.
  4. أعد تشغيل العميل والخادم.
  5. أضف عنوان الخادم، مثل raknet;play.example.com أو raknet;play.example.com:25565.

العناوين التي لا تحتوي على البادئة raknet; تستخدم بروتوكول TCP.

تثبيت المود الخاص بالعميل وحده لا يضيف دعم RakNet للخادم البعيد. يجب على مشغل الخادم توفير نقطة نهاية RakNet. عادةً، لا يحتاج اللاعبون الذين ينضمون إلى خادم شخص آخر إلى قواعد لتوجيه الرحلات الداخلية.

Velocity وBungeeCord

قم بتثبيت برنامج الوكيل المناسب والماكينتو المخصصة. اتبع إرشادات Velocity وBungeeCord بخصوص إعدادات المستمعين، وتوجيه البيانات الخلفية، وتقييدات الوصول، والعنوان الذي يجب على اللاعبين استخدامه.

منفذ استماع منفصل لبروتوكول UDP

للحصول على خادم Minecraft مباشر، قم بإدخال المعلمة المناسبة في لغة Java أدناه. يجب على مشغلي الوكالات استخدام إعدادات Velocity وBungeeCord.

المنصة معاملات جافا المنافذ المقبولة
خادم Fabric، Forge، أو NeoForge -Draknetify.fabric.portOverride=25570 1 إلى 65534
خادم Spigot أو خادم Paper -Draknetify.spigot.portOverride=25570 من 1 إلى 65535

تستخدم كل من Forge وNeoForge كود الاستماع المشترك، لذا يحتوي اسم الخاصية فيه أيضًا على fabric. استبدل 25570 بالمنفذ UDP المطلوب.

Spigot / Paper ≥ 0.1.0-beta.1.431

أضف الطرفية قبل -jar في الأمر Java، أو في حقل طلبات JVM للجهاز المضيف. أعد تشغيل الخادم وسمح باستخدام بروتوكول UDP على منفذ المستمع المختار. إذا كان المنفذ العام أيضًا 25570، فقم بالاتصال بـ raknet;play.example.com:25570. إذا قام الراوتر بتحويل المنفذ، استخدم المنفذ العام في عنوان العميل. يظل منفذ TCP على قيمته الحالية.

على نظام Spigot/Paper، يحتفظ المستمع UDP بعنوان الربط المحلي لمستمع TCP في Minecraft. قد يؤدي استخدام عنوان UDP غير صالح أو منفد UDP مشغول إلى منع RakNet من البدء. تحقق من سجل التشغيل للعنوان والمنفذ المربوط. أزل الطلب وكرر التشغيل لإعادة استخدام رقم منفذ مستمع TCP.

يمكن للراوتر أو بروكسي UDP أن يكشف عن منفذ UDP عام مختلف ويرسله إلى المستمع الموجود دون تغيير معاملات الخادم بلغة Java.

النسخ التطويرية

افتح تنفيذ main الناجح في GitHub Actions وقم بتنزيل ملف Artifacts الخاص به. يتطلب GitHub حسابًا لاستخدامه في تنزيل ملفات العملية. استخدم جدول التثبيت المذكور أعلاه لاختيار ملف JAR من الملفات.

Velocity وBungeeCord

يقع Velocity وBungeeCord بين اللاعبين وخوادم Minecraft الخلفية. قم بتثبيت Raknetify2 على البروكسي وعلى كل جهاز عميل سيقوم بالاتصال عبر RakNet.

عميل Raknetify2 --UDP--> Velocity أو BungeeCord --TCP--> خادم الواجهة الخلفية

لا تحتاج خوادم الواجهة الخلفية إلى Raknetify2 لطريق الاتصال هذا. لا تزال بحاجة إلى التعديلات والبرامج الإضافية ودعم التوجيه الذي تتطلبه شبكتك. لا يقوم Raknetify2 بترجمة إصدارات Minecraft أو تغيير تحقق حسابات البروكسي.

قم بتثبيت برنامج العمليات الفرعية للبروكسي.

  1. تأكد من أن الاتصالات TCP العادية عبر بروكسيك تعمل بشكل صحيح، بما في ذلك عملية التحقق من الهوية والتحويل بين خوادم الخدمة.
  2. أوقف البروكسي وقم بتنزيل البرنامج الإضافي المناسب من GitHub Releases.
  3. ضع ملف raknetify2-velocity-*-all.jar أو raknetify2-bungee-*-all.jar في مجلد plugins للبروكسي. أزل أي ملفات بروكيتيبل أقدم من ملفات Raknetify أو Raknetify2 من ذلك المجلد.
  4. قم بتثبيت المود الخاص بعملاء Raknetify2 المناسب باستخدام دليل التثبيت.
  5. تحقق من إعدادات المستمع أدناه، أعد تشغيل البروكسي، وتحقق من سجله للعثور على أخطاء في مستمع RakNet.
  6. تسمح بتدفق البيانات العامة عبر بروتوكول UDP إلى الوكيل، وتقييد منافذ اللعب الخلفية كما هو موضح في تكوين جدار الحماية والراوتر.

استخدم إصدارات Raknetify2 المتوافقة على العميل والواسطاء. تحقق من التوافق قبل مزج الإصدارات.

Velocity

يحدّد الخيار bind في ملف velocity.toml العنوان ومنفذ TCP اللذين يستقبل عليهما Velocity اتصالات Minecraft. يستخدم Raknetify2 عادةً رقم المنفذ نفسه مع UDP. تحدّد إدخالات [servers] الخوادم الخلفية، فأبقِها موجّهة إلى عناوين TCP لتلك الخوادم. راجع مرجع إعدادات Velocity.

لاستخدام منفذ UDP منفصل، أضف هذا معلومة JVM قبل -jar في أمر بدء التشغيل في Velocity:

-Draknetify.velocity.portOverride=25570

قم باستبدال 25570 بالمنفذ الذي اخترته. هذا سيغير منفذ UDP لبروتوكول RakNet، مع الحفاظ على منفذ TCP لبروتوكول Velocity وعناوين الخادم الخاصة به. قم بإعادة تشغيل Velocity بعد تغيير القيم المطلوبة.

قم بضبط عملية إعادة توجيه اللاعبين على كل من Velocity وخوادمه الخلفية. استخدم طرق إعادة التوجيه الحديثة عندما تدعم برمجيات الخوادم هذه العملية، وحافظ على طريقة إعادة التوجيه سرية وخاصة. اتبع التعليمات الخاصة بكل خادم في دليل إعادة توجيه معلومات اللاعبين في Velocity. احتفظ بقيود جدار الحماية الخاصة بالخوادم مع عملية إعادة التوجيه.

BungeeCord

في ملف config.yml الخاص بـ BungeeCord، يحدد قيمة host تحت كل عنصر من عناصر listeners عنوان الاستماع لـ Minecraft والمنفذ TCP. عادةً ما يضيف Raknetify2 بروتوكول UDP على هذا الرقم المنفذ. تحتوي عناصر servers على عناوين TCP الخلفية. يتم وصف هذه الإعدادات في دليل إعدادات BungeeCord.

لاستخدام منفذ UDP منفصل، أضف هذا معلومات JVM قبل -jar في أمر بدء تشغيل BungeeCord:

-Draknetify.bungee.portOverride=25570

التعديل يخص العملية الكاملة للوصي. بالنسبة لإعدادات تحتوي على متابعين لـ Minecraft متعددين، تحقق من نقاط نهاية RakNet الفعلية في سجل التشغيل قبل إضافة قواعد جدار الحماية. أعد تشغيل BungeeCord بعد تغيير المعلمة.

حافظ على مصادقة الحساب في الوكيل. بالنسبة لخدمات Spigot، يضع BungeeCord دليل تحويل IP ip_forward: true في الوكيل مع settings.bungeecord: true في الخادم. لا يمنع تحويل IP فقط من شخص الاتصال مباشرة بالخادم. قم بتقييد الوصول إلى الخادم باستخدام تعليمات جدار الحماية.

اختر العنوان الذي يستخدمه اللاعبون.

يقبل كلا الطريقتين لتغيير الوكيل على المنافذ من 1 إلى 65534. تُتجاهل القيم غير الصحيحة، لذا تحقق من رقم المنفذ UDP المحدد في سجل التشغيل. أزل الطرفية وكرر التشغيل لإعادة إلى رقم منفذ المستمع في Minecraft.

يتصل اللاعبون بالاسم العام للنظام ومنفذ UDP للبروكسي، على سبيل المثال raknet;play.example.com:25570. عندما يقوم الراوتر بتحويل المنافذ، يجب استخدام منفذ UDP العام للبروكسي في عنوان العميل. العناوين التي لا تحتوي على البادئ raknet; تستمر في استخدام مستمع TCP للبروكسي.

اترك استعلامات Geyser وخدمات UDP الأخرى على مآدب UDP المنفصلة. لا يؤدي استخدام مآدب TCP مختلفة إلى حل تعارض في مقابس UDP.

الدردشة الصوتية وتوجيه UDP الإضافي

يستخدم Simple Voice Chat بروكسي خاص به ومستوى UDP على نظام Velocity وBungeeCord. اتبع إرشادات بروكسي الدردشة الصوتية لتنفيذ ذلك.

إذا كان هناك مرسل UDP منفصل أمام بروكسي Minecraft يرسل رؤوس بيانات بروتوكول PROXY v2، فقم بتكوين Raknetify2 باستخدام توجيه UDP وبروتوكول PROXY. تثبيت Velocity أو BungeeCord بمفرده لا يتطلب هذا التكوين.

تحقق من الاتصال.

اختبر من خارج شبكتك المحلية باستخدام كيان Raknetify2. انضم إلى الشبكة عبر الوكيل، وغير إلى خوادم الواجهة الخلفية التي تستخدمها، وأكد أن هوية اللاعب وحقوقه لا تزال صحيحة.

  • إذا كان استخدام بروتوكول TCP عبر الوكيل يعمل، لكن بروتوكول RakNet ينتهي صلاحيته، فتحقق من مستمع بروتوكول UDP للوكيل، والمنفذ العام، وخطوط IPv4 وIPv6، وقواعد جدار الحماية.
  • إذا فشل كلا الناقلين عندما يقوم الوكيل بالاتصال بالخادم الخلفي، فتحقق من عنوان TCP للخادم الخلفي، وقواعد الوصول، وتكوين توجيه اللاعبين.
  • إذا أبلغ العبرة عن وجود منفذ UDP مشغول، فتحقق من وجود عملية "Query"، أو بروتوكول Geyser، أو عبرة صوتية، أو أي عملية أخرى مرتبطة به.

للإبلاغ، يُرجى تضمين سجلات البروكسي والخادم الخلفي من نفس محاولة الاتصال. راجع التدخل في الحلول للمشاكل للحصول على معلومات النسخة التي يجب تضمينها.

تكوين جدار الحماية والراوتر

هذا الدليل مخصص لمشغلي الخوادم. يحتاج Raknetify2 إلى مسار UDP يعمل إلى الخادم أو الوكيل الذي يقبل اتصالات RakNet. الإعداد الافتراضي يستخدم نفس رقم المنفذ المستخدم في مستمع TCP في Minecraft.

بالنسبة للاعبين في نفس الشبكة المحلية، استخدم عنوان الخادم المحلي وسمح بمرور بروتوكول UDP عبر جدار حماية الخادم. يلزم تحويل مسار منافذ الراوتر عندما يجب أن يعبر حركة الإنترنت من خلال نظام NAT لـ IPv4 الخاص بالراوتر.

اختر الوجهة والمنفذ.

الخادم المباشر

إرسال حركة مرور UDP العامة إلى الجهاز الذي يعمل على خادم Minecraft باستخدام Raknetify2. البوابة الهدف هي جهاز الاستماع لUDP في RakNet الخاص بالخادم. يجب السماح بذلك البوابة في جدار حماية جهاز الخادم. ويجب الحفاظ على مسار TCP الحالي للاتصالات العادية في Minecraft.

على سبيل المثال، إذا كان Raknetify2 يستمع على منفذ UDP 25570، فقم بإعادة توجيه المنفذ العام UDP إلى العنوان المحلي للخادم على منفذ 25570. يمكن أن يظل منفذ TCP للخادم على 25565. راجع إعدادات المستمع المباشر للخادم لاختيار منفذ UDP مختلف.

Velocity أو BungeeCord

وجّه حركة UDP العامة إلى الجهاز الذي يشغّل Velocity أو BungeeCord مع إضافة Raknetify2 للوكيل. اجعل وجهة التحويل منفذ UDP الذي يستقبل عليه الوكيل اتصالات RakNet. أبقِ مسار TCP العام الحالي للوكيل متاحًا لاتصالات Minecraft المعتادة.

يتصل البروكسي بخوادم Minecraft الخلفية عبر بروتوكول TCP. إضافة Raknetify2 إلى البروكسي لا يتطلب فتح مضامين UDP الخاصة باللعبة للاعبين.

الاتصال/الربط الوصول المسموح به
اللاعبون إلى الوكيل اتصال عبر UDP العام مع مستمع RakNet، بالإضافة إلى المستمع TCP العام الموجود مسبقًا.
البروكسي إلى خوادم الخلفية مواقع TCP الخلفية في Minecraft، يمكن الوصول إليها فقط من خلال المستضيفين المحددين.
اللاعبون يذهبون مباشرة إلى منافذ اللعب الخلفية. الحفاظ على الحظر، بما في ذلك عبر IPv6.

عندما يعمل الوكيل والخوادم الخلفية مباشرة على جهاز مخصص تسيطر عليه، يمكن لسماعات الخوادم الخلفية استخدام عناوين لولب للوصول إليها عبر الوكيل المُعد لهذا الغرض. على الجهازين، قم بتقييد الوصول إلى الخوادم الخلفية عبر بروتوكول TCP إلى أجهزة الوكيل باستخدام جدار ناري أو شبكة خاصة معزولة. تحتاج الحاويات والخوادم المُدارة إلى قيود مماثلة في تخطيط شبكاتها. راجع دليل أمان الخوادم الخلفية لـ Velocity ودليل جدار النار لـ BungeeCord.

يعمل إعادة توجيه اللاعبين وتقييدات جدار الحماية معًا. يمكن للوصول المباشر إلى الخادم تجاوز عمليات التحقق من التسجيل في البروكسي. للتثبيت على البرامج الإضافية، وإعدادات إعادة التوجيه، وتغيير منافذ UDP، يرجى اتباع Velocity و BungeeCord.

أرقام المنافذ العامة والمحلية

يمكن أن يختلف المنفذ العام ومنفذ المستمع عندما يقوم الراوتر بنقل الاتصالات بينهما.

إعدادات المنفذ الذي يجب استخدامه
عنوان العميل والخادم منفذ UDP العام
قاعدة تحويل الراوتر للمنفذ الخارجي منفذ UDP العام
قناة المنفذ الداخلية لقواعد تحويل الراوتر. منفذ UDP لسماعات RakNet
منفذ الحارس المحلي لجهاز المضيف منفذ UDP لسماعات RakNet

توجيه المنافذ IPv4

للاستضافة خلف راوتر IPv4:

  1. ابحث عن العنوان IPv4 المحلي للجهاز الذي يقبل اتصالات RakNet. استخدم حجز DHCP أو عنوان ثابت مناسب حتى يستمر قاعدة التوجيه في استهداف ذلك الجهاز.
  2. أضف قاعدة تحويل لبروتوكول UDP للمنفذ العام الذي سيستخدمه اللاعبون.
  3. ضع وجهة القاعدة على العنوان المحلي لتلك الآلة ومصدر UDP لجهاز الاستماع RakNet.
  4. سمح بإرسال بيانات عبر بروتوكول UDP على منفذ المستمع في جدار الحماية الخاص بالمضيف.

على سبيل المثال، يمكن للخادم الذي يستمع على منفذ UDP 25565 استخدام قاعدة بها منفذ عام 25565، وعنوان وجهة 192.168.1.100، ومنفذ وجهة 25565. يجب استبدال عنوان المثال بعنوان الخادم المحلي الفعلي.

احتفظ بقاعدة TCP الحالية للاتصالات العادية في Minecraft. قاعدة تحويل TCP وحدها لا تستطيع نقل UDP.

عندما يفشل الإعادة التوجيه

تحقق من وجود راوتر آخر أو مزود خدمة الإنترنت الخاص بك يقوم بعملية NAT قبل أن يصل حركة المرور إلى راوترك. إذا كان لديك راوتران، فيجب أن يغطي كلاهما عملية التوجيه. إذا كان مزود خدمة الإنترنت الخاص بك يستخدم NAT من نوع شركة الاتصالات، اسأله إذا كان يمكنه توفير عنوان IPv4 عام أو استخدام خدمة استضافة أو نفق يدعم UDP الداخلي. لا يمكن لقاعدة التوجيه في راوترك تعديل NAT الخاصة بمزود خدمة الإنترنت. راجع دليل TP-Link حول توجيه المنافذ للحصول على متطلبات العنوان العام WAN.

قواعد جدار الحماية IPv6

سمح بمرور المنفذ المحدد من نوع UDP عبر جدار حماية IPv6 للراوتر وجرس الحماية الخاص بالجهاز. توجه إلى عنوان IPv6 للجهاز الذي يقبل اتصالات RakNet.

تحقق من أن عنوان IPv6 للاسم المستعار يشير إلى ذلك الجهاز. إذا تغير عنوان IPv6، قم بتحديث سجل DNS وأي قواعد جدار الحماية المتعلقة بالعنوان.

يجب أن يكون لاسم النطاق الذي يبث عناوين IPv4 وIPv6 طريق عمل لكل عنوان معلن. تحقق من مجموعتي القواعد عندما يمكن لأحد اللاعبين الاتصال وغيره لا يمكن.

إذا تغير رقم المنفذ بسبب التوجيه باستخدام IPv4، تأكد من أن المنفذ الذي يدخله اللاعبون يصل أيضًا إلى المستمع IPv6. لا يقوم ترجمة منفذ IPv4 بضبط مسار IPv6.

مزودو الخدمة والأنفاق

يجب أن يدعم المزود أو النفق بروتوكول UDP في النقطة العامة التي تقدمها للاعبين. تحقق من تخصيصات المنافذ وقواعد جدار الحماية الشبكي، بالإضافة إلى جدار الحماية الخاص بالخادم نفسه.

إذا كان وكيل UDP آخر يمرّر عناوين العملاء ببروتوكول PROXY v2، فاتبع تمرير UDP وبروتوكول PROXY. اضبط الوصول إلى منفذ UDP المستقبِل بحيث لا يستطيع الاتصال به إلا الوكيل الموثوق.

تحقق من الاتصال.

قم بالاتصال من خارج الشبكة المحلية للخادم باستخدام برنامج Raknetify2 محدث، باستخدام عنوان مثل raknet;play.example.com:25565. استخدم المنفذ العام UDP في هذا العنوان.

استخدم اتصالًا حقيقيًا ببروتوكول RakNet للتحقق من المسار. قد يؤدي الفحص باستخدام بروتوكول UDP الذي لا يتلقى أي رد إلى تقديم نتيجة غير حاسمة، لأن الخدمة النشطة قد ترفض الاستجابة للاستطلاع غير المألوف. وثائق فحص UDP الخاصة بنظام Nmap تشرح هذا السلوك.

يؤكد اتصال TCP الناجح فقط مسار TCP. إذا انتهت مدة RakNet، فتحقق من المستمع، ومصدر الإرسال، وباب UDP، وقواعد جدار الحماية باستخدام دليل حل المشكلات.

التوافقية

تحقق من توافقية الإصدار المحدد الذي قمت بتنزيله. قد يحتوي فرع التطوير على دعم لم يتم إضافته بعد في أي إصدار.

إصدارات Minecraft وجافا

إصدارات Minecraft وجافا · English

متطلبات Java التي حددها Raknetify2 هي الحد الأدنى. قد يتطلب Minecraft أو برنامج التحميل إصدارًا أحدث من Java. اختر إصدار Java يلبي جميع المتطلبات الثلاثة.

الإصدارات الخاصة بالعميل والخادم

استخدم نسخة Raknetify2 نفسها على العميل والخادم أو الوكيل الذي يقبل اتصالاته كلما أمكن. تحقق من ملاحظات الإصدار قبل خلط الإصدارات. تتطلب الاتصالات المشفرة عبر RakNet دعم بروتوكول التشفير المؤكد على كلا الطرفين. لا يمكن لإصدارات Raknetify و Raknetify2 الأصلية التي تعود إلى ما قبل إدخال هذا البروتوكول إجراء هذه الاتصالات المشفرة مع الأقران المحدثة.

يحمل Raknetify2 بروتوكول اللعبة الحالي لـ Minecraft. يتطلب الاتصال بين إصدارات مختلفة من Minecraft ترجمة بروتوكول متوافق.

الإعدادات الأخرى

الإعدادات الأخرى · English

إذا حدث الخلل في حزمة تعديلات أكبر، فاتبع دليل استكشاف الأخطاء وإصلاحها. اذكر أرقام إصدارات التعديلات كاملةً في البلاغ.

الوضع المرتب

الوضع المرتب

يتيح Raknetify2 عادةً لقنوات الحزم المستقلة مواصلة الإرسال حين تنتظر إحدى القنوات بيانات مفقودة. في وضع الترتيب تُرسل جميع حزم Minecraft على قناة واحدة. إذا فُقدت حزمة، تبقى كل الحزم اللاحقة في الاتجاه نفسه معلّقة حتى يُعاد إرسالها. يحافظ ذلك على الترتيب الذي تتوقّعه بعض برامج مكافحة الغش، لكنه يؤخّر أيضًا بيانات اللعب التي لا تعتمد على الحزمة المفقودة.

تفعيل الوضع المرتب

  1. قم بتثبيت نسخة Raknetify2 التي تدعم الوضع المرتب على الخادم أو الوكيل الذي يقبل اتصالات RakNet، وعلى كل جهاز عميل RakNet.

  2. قم بإنشاء ملف config/raknetify2-compatibility.json في الدليل التشغيلي للخادم أو الوكيل. قم بإنشاء مجلد config إذا لم يكن موجودًا.

  3. أضف النص التالي:

    {"mode": "ordered"}
  4. أعد تشغيل الخادم أو الوكيل.

يتبع العملاء إعدادات الخادم تلقائيًا. لا يحتاج اللاعبون إلى إنشاء ملف تكوين أو تغيير عنوان خادم RakNet الخاص بهم.

جميع حزم Minecraft تستخدم قناة موثوقة ومنظمة في كل اتجاه، بما في ذلك عوامل فصل الحزم وانتقالات العالم.

إعدادات العمليات العبرية

عندما يتصل اللاعبون عبر Velocity أو BungeeCord، فعّل وضع الترتيب على ذلك الوكيل حتى لو كان برنامج مكافحة الغش يعمل على خادم خلفي.

يبقى الإعداد ساريًا عند انتقال اللاعب من خادم خلفي إلى آخر. في وضع الترتيب يمرّر الوكيل طلبات التحقّق من بقاء الاتصال من الخادم الخلفي إلى عميل اللاعب الفعلي بدلًا من الردّ عليها محليًا.

التحقق من الإعدادات

في أول اتصال RakNet، تُظهر لوحة التحكم ما يلي:

Raknetify2 compatibility: ordered (updated clients required, genuine acknowledgements)

يُسجّل أيضًا تبادل التوافق الناجح كـ ordered compatibility negotiated، يليه عنوان الطرف الآخر.

أبقِ فحوص مكافحة الغش مفعّلة واختبر الإعداد على نظامك.

العملاء القديمون

العملاء الذين لا يدعمون وضع الترتيب في RakNet لا يمكنهم الاتصال بالخادم الذي يطلب ذلك. يجب تحديث برنامج Raknetify2 على تلك العمليات، أو يمكن الاتصال بالخادم أو الوكيل باستخدام عنوان TCP والمنفذ العادي دون استخدام البادئ raknet;.

العودة إلى وضع التشغيل متعدد القنوات

غير الملف إلى:

{"mode": "multichannel"}

ثم أعد تشغيل الخادم أو الوكيل. يؤدي حذف الملف أيضًا إلى استعادة وضع التعددية القنوات بعد إعادة التشغيل.

مشاكل في التكوين

يجب أن يحتوي الملف على إعداد واحد باسم mode، حيث يجب أن يكون قيمته إما "ordered" أو "multichannel"، مع أهمية التهجئة في القيم.

يرفض اتصال RakNet أي تكوين غير صحيح أو غير قابل للقراءة. قم بإصلاح الملف واستأنف العملية.

إذا كانت اللوحة القياسية لا تزال تُظهر “multichannel”, فتأكد من أن الملف موجود في دليل الخادم أو الوكيل الذي يقبل اتصال RakNet، ثم أعد تشغيل تلك العملية.

النقل التلقائي

يمكن لخوادم Fabric وForge وNeoForge اختيار RakNet عند نقل عميل قادر إلى وجهة مُعدة. يستخدم هذا دعم النقل الأصلي لـ Minecraft، الذي تم إدخاله في الإصدار Java 1.20.5. تحقق من أن إصدار Raknetify2 الخاص بك يدعم نسخة Minecraft والبرنامج المسؤول عن تنزيلها في كلا الطرفين.

قم بتثبيت برنامج Raknetify2 على الخادم المُرسل والعميل. يجب أن يوفر الوجهة برنامج استماع متوافق مع RakNet ويوافق على تحويلات Minecraft الواردة.

تنطبق هذه التكوينات على التحويلات المرسلة بواسطة البرامج الثلاثة المذكورة أعلاه. لا تقرأ إضافات Spigot/Paper وVelocity وBungeeCord ملف التحويلات هذا.

قم بضبط خادم الإرسال.

قم بإنشاء ملف config/raknetify2-transfers.json في دليل خادم الإرسال.

{
  "destinations": [
    {
      "host": "play.example.com",
      "tcpPort": 25565,
      "udpPort": 25570
    }
  ]
}

استبدل اسم النظام البريدي والمنافذ المذكورة في المثال بقيمة الوجهة الخاصة بك، ثم أعد تشغيل خادم الإرسال. يمكن إضافة وجهات أخرى إلى نفس المصفوفة.

الحقل المعنى
host عنوان النظام المضيف أو عنوان IP، بدون أي بادئات نقل أو منافذ.
tcpPort المنفذ المقصود في طلب النقل الأصلي
udpPort يجب على العميل المنقول الاتصال بالمنفذ العام RakNet.

أرقام منافذ TCP وUDP يمكن أن تكون متساوية. إذا قام الراوتر بتحويل منفذ UDP، فاستخدم المنفذ العام المذكور في هذا الملف. اكتب أرقام المنافذ كأرقام JSON.

إرسال التحويلات إلى اسم النظام والمنفذ TCP للجهة المستقبلة. يقوم Raknetify2 بالتحقق من ما إذا كان العميل يدعم التحويل التلقائي. بالنسبة لعميل قادر وجهة متوافقة، يختار المنفذ UDP المحدد. أما العمالق الآخرون والجهات غير المتوافقة، فإنهم يستمرون باستخدام عنوان التحويل الأصلي.

يتم استخدام اسم المضيف والمنفذ TCP من طلب النقل. يتم تطبيع تهجئة اسم المضيف، والنقطة النهائية في DNS، وتهجئة IPv6 المكافئة. لا تشارك عمليات البحث في DNS في عملية المطابقة، لذا يحتاج اسما المضيفين المختلفان الذي يتحولان إلى نفس العنوان إلى تسجيلات منفصلة. لا يتم دعم التسجيلات ذات الرموز العامة.

إعداد الوجهة

للوجهة التي تستخدم server.properties في Minecraft، قم بإعداد خيار accepts-transfers=true ثم أعد تشغيلها. قد يكون للوجهة الوكيل الخاص بها إعدادات نقل. يعتمد Minecraft بشكل افتراضي على رفض النقل الوارد، حتى عندما يكون الانضمام المباشر طبيعيًا.

يجب أن يكون مستمع RakNet للجهة المستقبلة، وإعادة توجيه UDP العام، وجدار الحماية للمضيف مُعدّين بالفعل. يختار ملف النقل لخادم الإرسال العنوان الذي سيُرسل إلى العميل.

تحقق من مسارات IPv4 وIPv6 للجهة المستهدفة عندما ينشر اسم النظام لكلا نوعي العناوين. اختبر اتصال RakNet المباشر العادي مع الجهة المستهدفة قبل التحقق من سلوك النقل التلقائي.

احتفظ بإجراءات التحقق من الهوية والدخول. هذا الإعداد لا يمنح اللاعبين حق الوصول أو يستبدل عملية التحقق من الهوية على الخادم.

أخطاء في التكوين وإيقاف العمل

الحقول المفقودة، والحقول المجهولة، والمنافذ غير صالحة، والوجهات المكررة تسبب خطأ في التهيئة أثناء التشغيل. استخدم سجل الخادم لتحديد الخطأ، وتصحيح JSON، ثم أعد التشغيل.

لإيقاف عملية الاختيار التلقائي، يجب حذف ملف التكوين أو استخدام خيار {"destinations": []}، ثم إعادة تشغيل خادم الإرسال. سيظل طلبات النقل تحمل عناوينها الأصلية.

توجيه UDP وبروتوكول PROXY

يمكن لعامل UDP أن يقوم بإعادة توجيه حركة المرور على شبكة RakNet والحفاظ على عنوان العميل الأصلي باستخدام بروتوكول PROXY v2. يجب تفعيل هذه الميزة عندما يرسل عامل UDP العلوي تلك الرؤوس إلى المستمع الخاص بك. لا يتطلب ذلك تفعيل إعادة توجيه منافذ الراوترات العادية.

على الخادم أو بروكسي Minecraft الذي يتلقى حركة البيانات UDP المُحولة، قم بإنشاء ملف config/raknetify2-proxy-protocol.json:

{
  "trustedProxies": ["192.0.2.10"]
}

استبدل المثال بعنوان IP الذي يرسل منه وكيل UDP فعليًا، أو بنطاق CIDR تتحكّم فيه. يجب أن يطابق العنوان ما يراه الطرف المستقبِل بعد أي ترجمة للعناوين عبر NAT. تُقبل عناوين IPv4 وIPv6 المكتوبة مباشرة، وتُرفض أسماء مضيفي DNS. أعد تشغيل الخادم أو الوكيل المستقبِل.

قم بتكوين بروكسي التوجيه لإرسال رؤوس بروتوكول PROXY v2 لبروتوكول UDP. يقبل Raknetify2 عناوين العملاء الموجهة فقط من المصادر المذكورة. يتم رفض الاتصالات المباشرة مع RakNet بدون هذه الرؤوس أثناء تفعيل هذا الإعداد. يحتفظ المستمع TCP بإعداده الحالي.

الثقة والوصول

يُسمح لكل خادم وكيل مدرج في القائمة بإبلاغ عنوان العميل. اضبط جدار الحماية على الخادم الخلفي بحيث لا يسمح بالوصول إلى منفذ UDP إلا من الخادم الوكيل المحدد. احصر نطاقات العناوين الموثوق بها في أضيق نطاق تسمح به شبكتك.

يجب ألا يحتوي الملف إلا على trustedProxies، ويجب أن تضمّ القائمة مصدرًا واحدًا على الأقل. تُعدّ القائمة الفارغة خطأً. إذا كان الملف غير صالح، فلن يبدأ مستمع RakNet.

للعودة إلى الاتصالات المباشرة عبر UDP، قم بحذف الملف وإعادة تشغيل جهاز الاستماع. قم أيضًا بتحديث سلوك التوجيه العلوي وقواعد جدار الحماية للطريق الجديد في نفس الوقت.

إذا فشلت الاتصالات بعد تفعيل هذه الميزة، فتحقق من عنوان المصدر الفعلي للبروكسي في الخلفية، والنطاق الموثوق به المُعد، وما إذا كان البروكسي يصدر رؤوس بروتوكول UDP PROXY v2.

لتثبيت بروكسي Minecraft وتكوين الخادم الخلفي، اتبع Velocity وBungeeCord.

Simple Voice Chat

يمكن لـ Raknetify2 مشاركة مستمع خادم UDP الخاص به مع Simple Voice Chat في برامج Fabric وForge وNeoForge وSpigot وPaper.

ثبّت Simple Voice Chat على الخادم وعلى جهاز كل لاعب يريد استخدام المحادثة الصوتية. واتبع دليل إعداد الخادم لبقية إعداداته.

استخدم دليل الملفات في الدليل config للخادم لبرنامج Raknetify2، بما في ذلك في برنامج Spigot/Paper. يظل ملف برنامج Simple Voice Chat موجودًا في الموقع المخصص للمنصة.

شارك نسخة اللعبة.

  1. قم بإنشاء ملف config/raknetify2-voicechat.json في دليل الخادم بهذا المحتوى:

    {"enabled": true}
  2. ضع port=-1 في تكوين خادم Simple Voice Chat. على الخوادم المعدلة، هذا الموضع يكون في config/voicechat/voicechat-server.properties. أما على Spigot/Paper، فهو في plugins/voicechat/voicechat-server.properties.

  3. أترك خانة bind_address فارغة إذا كان هناك مستمع واحد من نوع RakNet متوافق. إذا كان الخادم يحتوي على عدة مستمعين على ذلك المنفذ UDP، فضع الخانة على العنوان المحلي للمستمع الذي تريد مشاركته.

  4. أعد تشغيل الخادم ثم نفّذ الأمر /voicechat test <PLAYERNAME> لأحد اللاعبين المتصلين.

إذا استخدم مستمع RakNet منفذًا مختلفًا عن Minecraft، فقم بتعيين القيمة port على ذلك المنفذ المحلي لـ UDP بشكل صريح بدلاً من استخدام -1. على سبيل المثال، يحتاج مستمع RakNet على المنفذ المحلي لـ UDP 25570 إلى port=25570.

قم بإعداد voice_host عندما يحتاج العملاء إلى عنوان عام أو منفذ مختلف. للحصول على جهاز توجيه ينقل الإشارة العامة UDP 25580 إلى الإشارة المحلية UDP 25570، استخدم port=25570 وvoice_host=play.example.com:25580. ينبغي أن يكون العنوان العام موجودًا في voice_host. يتم تحديد bind_address لاختيار المستمع المحلي.

يوفر Raknetify2 المنفذ UDP المشترك من خلال واجهة برمجة التطبيقات الخاصة بـ Simple Voice Chat. يتولى Simple Voice Chat معالجة التحقق الصوتي وال تشفير. يمكن للاعبين استخدام الدردشة الصوتية مع أي من اتصالات اللعب على TCP أو RakNet.

خدمات UDP ووكلاء أخرى

يرجى أخذ العلم بأن وصلة استعلام (Query) ووصلة جيرسر (Geyser) يجب أن تكون على منافذ UDP منفصلة. تدعم التكامل مع السكوتش المشترك فقط وصلة المحادثة الصوتية البسيطة (Simple Voice Chat).

لا يقوم التكامل بمشاركة مقسم الصوت على خوادم Velocity أو BungeeCord. يجب اتباع دليل إعداد Simple Voice Chat وتخصيص منفذ UDP خاص لمقسم الصوت. باستخدام البرنامج الإضافي الرسمي لمقسم الصوت، قم بتعيين أي قيمة عامة لـ voice_host في إعدادات الصوت للمقسم. يستبعد هذا البرنامج إعدادات voice_host الخاصة بخوادم الواجهة الخلفية.

لإنشاء نفق UDP عام، ضع voice_host في صفة اسم المضيف العام والمنفذ UDP الذي يقوم بإعادة توجيه الاتصالات إلى هذا الخادم.

إيقاف المشاركة أو حل نزاع في المنافذ.

إذا أشار السجل إلى No RakNet listener matches the voice bind address and port، فتأكد من أن برنامج RakNet قد بدأ بنجاح، وأن منفذ الصوت وعنوان الربط يتوافقان مع عنوان المستمع المحلي.

إذا كان الناتج هو Multiple RakNet listeners match the voice bind address، فاختر عنوان محلي محدد في bind_address وكرر العملية مرة أخرى.

يمكن لبرنامج Simple Voice Chat فقط أن يوفر مقصورة UDP الخاصة به. إذا أبلغ البرنامج الأصلي أن هناك برنامجًا آخر يوفر المقصورة بالفعل، فاختر كيفية دمج المقصورة المستخدمة.

لإيقاف تكامل Raknetify2، قم بتعيين {"enabled": false} في إعدادات الصوت الخاصة به أو حذف الملف ذاك. قم بمنح Simple Voice Chat منفذ UDP منفصل، قم بتحديث جدار الحماية أو قواعد التوجيه، ثم أعد تشغيل الخادم.

العلاج التقني للمشاكل

يعمل TCP، لكن RakNet ينتهي صلاحيته.

تحقق من هذه بالترتيب:

  1. العميل لديه الإصدار الصحيح من mod Raknetify2 لمتطلبات تحميل Minecraft.
  2. الخادم أو الوكيل الذي يقبل الاتصال يحتوي على برنامج Raknetify2 مثبت وتم تشغيله بدون أي أخطاء في جهاز الاستماع.
  3. العنوان يبدأ بـ raknet; ويستخدم المنفذ العام UDP.
  4. مزود الخدمة، الراوتر، وجدار الحماية للمضيف يسمحون جميعًا باستخدام بروتوكول UDP على ذلك المنفذ.
  5. عناوين IPv4 وIPv6 للمضيف تؤدي إلى المضيف المقصود، وتحتوي على قواعد جدار نجاح.

تؤكد اتصال TCP الناجح فقط مسار TCP. اتبع تكوين جدار الحماية والراوتر لفحص تحويل UDP ووصول IPv6. إذا كان بروتوكول PROXY مفعلاً، يجب على العملاء الوصول إلى المستمع عبر بروكسي موثوق مُعد.

العنوان مستخدم بالفعل.

تحقق من وجود عملية أخرى تستخدم منفذ UDP. خدمات Geyser وغيرها من خدمات UDP تحتاج إلى منافذ خاصة بها. يمكن لخدمة Simple Voice Chat استخدام التكامل عبر المنفذ المشترك.

يمكنك اختيار منفذ UDP محلي آخر من إعدادات الاستماع للخادم المباشر أو إعدادات Velocity وBungeeCord. تحقّق من الإصدار المطلوب عند ضبط Spigot/Paper. تغيير المنفذ العام على الموجّه وحده لا يحل تعارض المقابس المحلية.

الانضمام يعمل بشكل جيد، لكن عمليات النقل تفشل.

قم بالاتصال مباشرة بالوجهة باستخدام عنوان raknet; الخاص بها. إذا فشل ذلك، قم أولاً بإصلاح جهاز الاستماع للوجهة أو مسار الشبكة.

إذا كانت الاتصالات المباشرة تعمل، فتحقق مما إذا كان الوجه الآخر يقبل الإرساليات الواردة. يحتاج خادم Minecraft يستخدم server.properties إلى تفعيل خيار accepts-transfers=true. لا يتم اختبار هذا الإعداد عند الانضمام مباشرة.

ثم قارن اسم المضيف ونقطة الاتصال في بروتوكول TCP مع ملف config/raknetify2-transfers.json على الخادم المرسل. تأكد من أن الملف تم تحميله بعد إعادة تشغيل الخادم، وأن العميل يدعم التحويلات التلقائية عبر RakNet. راجع التحويلات التلقائية.

أخطاء في التشفير أو البروتوكول

تحقّق من إصدارات Raknetify2 عند طرفَي الاتصال. إذا غيّر أحد الإصدارات البروتوكول المشفّر، فحدّث العميل والخادم أو الوكيل معًا. أبقِ إعدادات المصادقة على الخادم كما هي أثناء البحث عن سبب المشكلة.

أخطاء متعلقة بالتطبيق الخاص بالmod

سجّل الإجراء الذي يؤدي إلى الفشل، مثل فتح المخزن، استلام حزمة الموارد، تغيير العوالم، أو إنشاء كائن. قارن نفس الإجراء عبر TCP وRakNet باستخدام نظام اختبار منفصل عند الضرورة.

تعتمد بعض الحمولات المخصّصة على ترتيب وصول حزم اللعبة الأصلية. ويمكن لمطوّري التعديلات التصريح بهذه التبعيات عبر واجهة ترتيب الحزم.

إبلاغ عن خطأ

افتح قضية في مسار تتبع القضايا Raknetify2 وشمل ما يلي:

  • محاكاة لعبة Minecraft، إصدارات Java، loader، وRaknetify2 في كلا الطرفين.
  • إصدارات برامج الخادم والبروكسي، بما في ذلك أي بروكسي لإعادة توجيه UDP.
  • الإضافات المثبتة الأخرى ونسخها.
  • خطوات تكرار حدوث المشكلة وما كان من المتوقع أن يحدث.
  • سواء تعمل نفس الخطوات عبر بروتوكول TCP أم لا.
  • مقتطفات من سجلات العميل والخادم والبروكسي المتعلقة بنفس المحاولة.

احذف رموز الوصول وكلمات المرور وأي معلومات خاصة أخرى قبل رفع السجلات. احتفظ برسائل الاستثناءات وتتبّعات مكدس الاستدعاءات اللازمة لتشخيص المشكلة.

دمج الإضافات

يتيح Raknetify2 للتعديلات تحديد حزم Minecraft التي يجب أن يحافظ وصولها على ترتيبٍ معيّن مع حمولاتها المخصّصة. استخدم ذلك عندما تتوقف معالجة حمولة على كيان أو جزء من العالم أو مخزون أو حالة أخرى أنشأتها حزم سابقة.

ترتيب المجموعات

المجموعات الحركة المرورية المتعلقة
ui قوائم وتفاعلات غير مرتبطة بالعالم
entity ظهور الكيانات، وإزالتها، وحركتها.
world_interaction المخزونات والعلاقات الأخرى المعتمدة على العالم المحيط
effects الأصوات والجسيمات
chunk تحديثات الأراضي والكتل والإضاءة

تحافظ جميع المجموعات على توصيل موثوق ومنظم داخل قناتها. قد تصل الحزم في المجموعات المختلفة بترتيب نسبي مختلف. اختر المجموعة التي تتوافق مع اعتمادية الحمولة.

اختياري للتكامل مع Fabric

أضف موفّرًا عند نقطة الدخول raknetify:packet_channels في ملف fabric.mod.json الخاص بتعديلك. ينفّذ الموفّر الواجهة Consumer<BiConsumer<String, String>> بأنواع من JDK، ويتلقّى دالة تسجيل تقبل معرّف الحمولة المخصّصة ومجموعة الترتيب.

اندمج هذا البيان في البيانات الوصفية الموجودة لديك، واستبدل اسم الفئة باسم المزود الكامل.

{
  "entrypoints": {
    "raknetify:packet_channels": [
      "com.example.mod.OrderingProvider"
    ]
  }
}

احتفظ ببقية ملف fabric.mod.json، بما في ذلك عناوين الإدخال الموجودة فيه. هذه جزء من ملف البيانات الوصفية.

على سبيل المثال، يمكن لبرنامج توسيع حركة الكيانات تسجيل example:entity_path ضمن مجموعة entity. وتحتوي وثائق واجهة برمجة التطبيقات PacketOrdering على تنفيذ المزود.

يترك Fabric هذا نقطة الدخول دون تفعيل عند غياب Raknetify2. يجب على المقدمين أن يعلنوا عن معرفات المجموعات أثناء التهيئة دون الاعتماد على أن يكون الموديول الآخر قد أكمل تهيئته بنفسه.

سلوك التسجيل

يمكن لتعديلات Forge وNeoForge ولإضافات الخادم أو الوكيل استدعاء PacketOrdering.register(identifier, group) أثناء التهيئة إذا كان Raknetify2 متاحًا. توجد الدالة في الصنف com.ishland.raknetify.api.PacketOrdering. سجّل قبل قبول اتصالات اللاعبين، واحرص على ألا يحمّل كود التكامل الاختياري أصناف Raknetify2 عند غيابه.

تنطبق الإعلانات على الاتصالات الجديدة. تظل الاتصالات القائمة مطابقة للقواعد التي تم تحديدها عند الإعداد. يُسمح بإعادة إصدار إعلان مماثل. يتم رفض المجموعات المتعارضة لنفس المعرف.

يجب أن تستخدم معرّفات الحمولات نطاق أسماء مخصّصًا صالحًا. نطاق الأسماء minecraft محجوز. الحد الأقصى عند كل طرف هو 128 تصريحًا، بما فيها القواعد المدمجة وما تسجّله التعديلات الأخرى. يمكن أن يتكوّن المعرّف من 255 محرف ASCII على الأكثر وفق صيغة معرّفات نطاقات الأسماء في الواجهة البرمجية.

تتبادل أطراف RakNet المحدّثة التصريحات عند إنشاء الاتصال. يمكن للخادم أو الوكيل استخدام تصريح الطرف الآخر إذا لم تكن لديه قاعدة محلية لتلك الحمولة. للقواعد المحلية الأولوية، وتسري تصريحات الطرف الآخر على ذلك الاتصال وحده.

وكلاء UDP

راجع توجيه UDP وبروتوكول PROXY لمعرفة عن عناوين العملاء الموجهة ومراكز الإرسال.

لإعداد بروكسي Minecraft، راجع Velocity وBungeeCord.

English (US)

Clone this wiki locally