MCTOOLBOX
MC ToolboxMC TOOLBOX
بروتوكول خادم Java Edition

مستكشف واجهة برمجة تطبيقات إدارة خادم Minecraft

تصفح طرق JSON-RPC الأصلية، وقم ببناء المعلمات الموضعية، وافحص مخططات الاستجابة، وقم بإعداد اتصال WebSocket آمن دون الكشف عن سر خادم حقيقي.

68
الطرق
17
الإشعارات
15
المخططات
3.0
البروتوكول في 26.2
طريقة قابلة للاستدعاءللقراءة فقط1.21.9+
minecraft:server/status

اقرأ حالة بدء التشغيل واللاعبين المتصلين وإصدار Minecraft قيد التشغيل.

المعلمات

هذه الطريقة لا تأخذ أي معلمات.

النتيجة

نوع النتيجة
Server State
طلب JSON-RPC
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "minecraft:server/status"
}
مثال على الاستجابة
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "started": true,
    "players": [
      {
        "id": "853c80ef-3c37-49fd-aa49-938b674adae6",
        "name": "jeb_"
      }
    ],
    "version": {
      "name": "26.2",
      "protocol": 774
    }
  }
}

منشئ الاتصال و server.properties

استخدم منفذًا ثابتًا للأدوات واترك السر فارغًا مرة واحدة حتى يقوم Minecraft بإنشاء قيمة صالحة مكونة من 40 حرفًا.

ملاحظة أمنية: لا تلصق أبدًا سر إدارة حقيقي في موقع ويب عام. اربط بـ localhost أو شبكة خاصة، استخدم جدار حماية، واستخدم TLS عبر الشبكات غير الموثوق بها.
server.properties
management-server-enabled=true
management-server-host=localhost
management-server-port=25585
management-server-secret=
management-server-tls-enabled=true
management-server-tls-keystore=management-server.p12
management-server-allowed-origins=http://localhost:3000
اتصال الطرفية
wscat -c wss://localhost:25585 -s minecraft-v1 -H "Authorization: Bearer YOUR_40_CHARACTER_SECRET"
مثال WebSocket للمتصفح
const socket = new WebSocket('wss://localhost:25585', [
  'minecraft-v1',
  'YOUR_40_CHARACTER_SECRET'
]);

socket.addEventListener('open', () => {
  socket.send("{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"minecraft:server/status\"}");
});

socket.addEventListener('message', ({ data }) => {
  console.log(JSON.parse(data));
});
دليل البروتوكول

ما هو بروتوكول إدارة خادم Minecraft؟

بروتوكول إدارة الخادم هو واجهة برمجة تطبيقات لخادم Java Edition المخصص تم تقديمها في 1.21.9. يحمل رسائل JSON-RPC 2.0 عبر WebSocket، بحيث يمكن للوحات المعلومات والأتمتة العمل مع اللاعبين المحددين، والحظر، والإعدادات، وقواعد اللعبة، وحالة الخادم بدلاً من تحليل نص وحدة التحكم.

يستخدم Minecraft 26.2 إصدار البروتوكول 3.0 ويمكنه الكشف عن rpc.discover قبل بدء تشغيل خادم اللعبة بالكامل. الاكتشاف هو الطريقة الأكثر أمانًا للعميل لمعرفة الطرق والإشعارات المدعومة بواسطة الخادم المحدد الذي وصل إليه.

هذا المستكشف هو مرجع ومنشئ حمولات، وليس لوحة تحكم عن بعد. يستخدم عمدًا سرًا نائبًا ويقوم بجميع التعديلات محليًا في متصفحك.

إرشادات التشغيل

واجهة برمجة تطبيقات الإدارة مقابل RCON

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

واجهة برمجة التطبيقات هي Java Edition فقط ومعطلة افتراضيًا. يجب على العميل الإنتاجي التحقق من صحة المخططات المكتشفة، والتعامل مع كائنات خطأ JSON-RPC القياسية، وإعادة الاتصال مع التراجع، ومعاملة عمليات الكتابة مثل stop و clear و set و ban و kick و operator كإجراءات مميزة.

المنفذ 0 يطلب من Minecraft اختيار منفذ عشوائي؛ لا يقوم بتعطيل الخدمة. يتم تمكين TLS افتراضيًا، وتحتاج عملاء المتصفح أيضًا إلى Origin مسموح به بالإضافة إلى بروتوكول WebSocket الفرعي minecraft-v1.

الأسئلة المتكررة

هل يمكن لهذه الصفحة الاتصال بخادم Minecraft المباشر الخاص بي؟

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

لماذا تظهر المعلمات كمصفوفة JSON؟

تستخدم طرق واجهة برمجة تطبيقات Minecraft معلمات JSON-RPC الموضعية. حتى الطريقة ذات الوسيط المنطقي الواحد ترسل هذه القيمة داخل مصفوفة المعلمات.

هل يعمل البروتوكول على Bedrock Edition؟

لا. بروتوكول إدارة خادم Minecraft هو حاليًا ميزة لخادم Java Edition المخصص.

هل يجب أن أقوم بتضمين قائمة الطرق في لوحة الخادم؟

استخدم rpc.discover في وقت التشغيل عندما يكون ذلك ممكنًا. لقد تغير البروتوكول بالفعل عبر 1.21.9 و 1.21.11 و 26.2.