MCTOOLBOX
MC ToolboxMC TOOLBOX
Java Edition 서버 프로토콜

Minecraft 서버 관리 API 탐색기

바닐라 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 서버 관리 프로토콜이란 무엇입니까?

서버 관리 프로토콜은 1.21.9에 도입된 Java Edition 전용 서버 API입니다. WebSocket을 통해 JSON-RPC 2.0 메시지를 전달하므로 대시보드 및 자동화는 콘솔 텍스트를 파싱하는 대신 유형화된 플레이어, Ban, 설정, game rule 및 서버 상태로 작업할 수 있습니다.

Minecraft 26.2는 프로토콜 버전 3.0을 사용하며 게임 서버가 완전히 시작되기 전에 rpc.discover를 노출할 수 있습니다. Discovery는 클라이언트가 도달한 정확한 서버에서 지원하는 메서드 및 알림을 학습하는 가장 안전한 방법입니다.

이 탐색기는 참조 및 페이로드 빌더이며 원격 제어판이 아닙니다. 의도적으로 자리 표시자 비밀을 사용하며 모든 편집은 브라우저에서 로컬로 수행됩니다.

운영 지침

관리 API 대 RCON

RCON은 콘솔 명령을 보내고 구조화되지 않은 텍스트를 반환합니다. 관리 API는 유형화된 JSON을 반환하고 참여, 떠남, 저장, game rule 및 상태 이벤트를 푸시할 수 있으므로 제어판, 모니터링 및 봇에 더 적합합니다.

API는 Java Edition 전용이며 기본적으로 비활성화되어 있습니다. 프로덕션 클라이언트는 검색된 스키마를 검증하고, 표준 JSON-RPC 오류 객체를 처리하고, 백오프를 사용하여 다시 연결하고, stop, clear, set, ban, kick 및 operator 쓰기를 특권 작업으로 처리해야 합니다.

포트 0은 Minecraft에 임의 포트를 선택하도록 요청하며 서비스를 비활성화하지 않습니다. TLS는 기본적으로 활성화되어 있으며, 브라우저 클라이언트도 허용된 Origin과 minecraft-v1 WebSocket 하위 프로토콜이 필요합니다.

자주 묻는 질문

이 페이지가 내 라이브 Minecraft 서버에 연결할 수 있습니까?

아니요. 이 페이지는 로컬에서 예제를 구축하며 실제 비밀을 묻지 않습니다. 생성된 스니펫을 신뢰할 수 있는 로컬 도구에서 사용하거나 유지 관리되는 클라이언트 라이브러리를 사용하십시오.

매개변수가 JSON 배열로 표시되는 이유는 무엇입니까?

Minecraft API 메서드는 위치 JSON-RPC 매개변수를 사용합니다. 하나의 논리적 인수를 가진 메서드도 해당 값을 params 배열 내부에 보냅니다.

이 프로토콜은 Bedrock Edition에서 작동합니까?

아니요. Minecraft Server Management Protocol은 현재 Java Edition 전용 서버 기능입니다.

서버 패널에 메서드 목록을 하드 코딩해야 합니까?

가능한 경우 런타임에 rpc.discover를 사용하십시오. 프로토콜은 1.21.9, 1.21.11 및 26.2에서 이미 변경되었습니다.