MCTOOLBOX
MC ToolboxMC TOOLBOX
Java Edition sunucu protokolü

Minecraft Sunucu Yönetimi API Gezgini

Vanilla JSON-RPC yöntemlerini inceleyin, konumsal parametreler oluşturun, yanıt şemalarını denetleyin ve gerçek bir sunucu sırrını açığa çıkarmadan güvenli bir WebSocket bağlantısı hazırlayın.

68
Yöntemler
17
Bildirimler
15
Şemalar
3.0
26.2'deki protokol
Çağrılabilir yöntemSalt okunur1.21.9+
minecraft:server/status

Başlangıç durumunu, çevrimiçi oyuncuları ve çalışan Minecraft sürümünü okuyun.

Parametreler

Bu yöntem parametre almaz.

Sonuç

Sonuç türü
Server State
JSON-RPC isteği
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "minecraft:server/status"
}
Örnek yanıt
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "started": true,
    "players": [
      {
        "id": "853c80ef-3c37-49fd-aa49-938b674adae6",
        "name": "jeb_"
      }
    ],
    "version": {
      "name": "26.2",
      "protocol": 774
    }
  }
}

Bağlantı ve server.properties oluşturucu

Araçlar için sabit bir bağlantı noktası kullanın ve Minecraft'ın geçerli bir 40 karakterlik değer oluşturması için sırrı bir kez boş bırakın.

Güvenlik notu: Gerçek bir yönetim sırrını asla herkese açık bir web sitesine yapıştırmayın. localhost'a veya özel bir ağa bağlayın, bir güvenlik duvarı kullanın ve güvenilmeyen ağlarda TLS kullanın.
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
Terminal bağlantısı
wscat -c wss://localhost:25585 -s minecraft-v1 -H "Authorization: Bearer YOUR_40_CHARACTER_SECRET"
Tarayıcı WebSocket örneği
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));
});
Protokol rehberi

Minecraft Sunucu Yönetimi Protokolü Nedir?

Sunucu Yönetimi Protokolü, 1.21.9 sürümünde tanıtılan bir Java Edition özel sunucu API'sidir. WebSocket üzerinden JSON-RPC 2.0 mesajları taşır, böylece panolar ve otomasyon, konsol metnini ayrıştırmak yerine yazılı oyuncular, yasaklar, ayarlar, game rules ve sunucu durumu ile çalışabilir.

Minecraft 26.2, protokol sürümü 3.0'ı kullanır ve oyun sunucusu tamamen başlamadan önce rpc.discover'ı açığa çıkarabilir. Keşif, bir istemcinin ulaştığı sunucu tarafından desteklenen yöntemleri ve bildirimleri öğrenmesinin en güvenli yoludur.

Bu gezgin, bir referans ve yük oluşturucudur, uzaktan kumanda paneli değildir. Kasıtlı olarak bir yer tutucu sır kullanır ve tüm düzenlemeleri tarayıcınızda yerel olarak gerçekleştirir.

Operasyonel rehberlik

Yönetim API'si ve RCON Karşılaştırması

RCON, konsol komutları gönderir ve yapılandırılmamış metin döndürür. Yönetim API'si, yazılı JSON döndürür ve katılma, ayrılma, kaydetme, gamerule ve durum olaylarını gönderebilir, bu da onu kontrol panelleri, izleme ve botlar için daha uygun hale getirir.

API yalnızca Java Edition içindir ve varsayılan olarak devre dışıdır. Bir üretim istemcisi, keşfedilen şemaları doğrulamalı, standart JSON-RPC hata nesnelerini işlemeli, geri çekilerek yeniden bağlanmalı ve stop, clear, set, ban, kick ve operator yazma işlemlerini ayrıcalıklı eylemler olarak ele almalıdır.

Port 0, Minecraft'ın rastgele bir port seçmesini ister; hizmeti devre dışı bırakmaz. TLS varsayılan olarak etkindir ve tarayıcı istemcileri ayrıca izin verilen bir Origin ve minecraft-v1 WebSocket alt protokolüne ihtiyaç duyar.

Sıkça sorulan sorular

Bu sayfa canlı Minecraft sunucuma bağlanabilir mi?

Hayır. Örnekleri yerel olarak oluşturur ve gerçek sırrınızı asla istemez. Oluşturulan kod parçasını güvenilir bir yerel araçta kullanın veya bakımı yapılan bir istemci kitaplığı kullanın.

Parametreler neden bir JSON dizisi olarak gösteriliyor?

Minecraft API yöntemleri, konumsal JSON-RPC parametreleri kullanır. Tek bir mantıksal argümanı olan bir yöntem bile bu değeri params dizisi içinde gönderir.

Protokol Bedrock Edition'da çalışıyor mu?

Hayır. Minecraft Sunucu Yönetimi Protokolü şu anda bir Java Edition özel sunucu özelliğidir.

Sunucu panelinde yöntem listesini sabit kodlamalı mıyım?

Mümkün olduğunda çalışma zamanında rpc.discover kullanın. Protokol 1.21.9, 1.21.11 ve 26.2 sürümlerinde zaten değişti.