홈시작하기HTTP 키로 등록하기디스코드 없이 서버 등록하기디스코드로 서버 등록하기시드 보고와 차단버전 확인과 426인증과 서버 키차단 모델오류 처리요청 한도버전과 호환성POST /v1/servers/claimPOST /v1/servers/reportPOST /v1/servers/revokePOST /plugin/v1/claimPOST /plugin/v1/reportGET /plugin/v1/versionGET /maps/{seed}GET /jobs/{seed}GET /seedsGET /stats/overviewGET /stats/protectionAPI 변경 내역
차단 API
POST
/api/plugin/v1/claim
디스코드 봇이 발급한 코드로 게임 서버를 등록하고 시드 보고에 사용할 서버 키를 받습니다. 요청을 보낸 IP와 포트로 등록됩니다. 이 경로는 디스코드 코드가 필요하므로, 직접 구현하는 경우 디스코드가 필요 없는 /api/v1/servers/claim을 사용하세요.
요청 헤더
| 헤더 | 값 | 설명 |
|---|---|---|
| Content-Type | application/json | UTF-8 JSON |
요청 본문
| 필드 | 위치 | 타입 | 필수 | 설명 |
|---|---|---|---|---|
| code | body | string | 필수 | 1..128자. 디스코드 /server claim으로 발급받은 코드. |
| port | body | integer | 필수 | 1..65535. 게임 서버 포트. |
| pluginVersion | body | string | 선택 | 1..32자. 최소 버전 검사에 사용됩니다. |
| gameVersion | body | string | 선택 | 1..32자. |
| labApiVersion | body | string | 선택 | 1..32자. |
응답
| 상태 | 본문 | 언제 |
|---|---|---|
| 200 | {"status":"verified","serverId":"8b1c…-uuid","credential":"slsrv_…","issuedAt":"2026-09-15T08:00:00Z"} | 등록 완료. credential은 이 응답에서 한 번만 제공됩니다. 같은 IP:포트의 이전 등록은 폐기됩니다. |
| 202 | {"status":"review","reason":"ip_mismatch","retryAfterSeconds":60} | 이전 방식의 요청에 대한 수동 확인 대기 상태입니다. retryAfterSeconds 이후 같은 코드로 다시 요청하세요. |
| 400 | {"error":"invalid request"} | 형식 오류입니다. |
| 401 | {"error":"invalid code"} | 존재하지 않거나 만료됐거나 이미 사용됐거나 취소된 코드입니다. 재시도하지 않습니다. |
| 403 | {"error":"claim rejected"} | 수동 확인에서 거절됐습니다. |
| 426 | {"error":"plugin_outdated","minimum":"1.2.0","downloadUrl":"https://…"} | pluginVersion이 최소 버전보다 낮습니다. |
| 429 | {"error":"rate limited"} | 요청 IP당 분당 10회를 초과했습니다. |
| 503 | {"error":"db unavailable"} | 잠시 후 다시 요청하세요. |
응답 필드
| 필드 | 타입 | null | 설명 |
|---|---|---|---|
| status | string | 아님 | 200 이면 verified, 202 면 review 입니다. |
| serverId | string | 아님 | 등록된 서버의 공개 ID(UUID). 200 에만 있습니다. |
| credential | string | 아님 | 서버 키. 이 응답에서 한 번만 제공됩니다. 200 에만 있습니다. |
| issuedAt | string | 아님 | 발급 시각. ISO-8601 UTC. 200 에만 있습니다. |
| reason | string | 아님 | 202 에만 있습니다. ip_mismatch 또는 port_mismatch. |
| retryAfterSeconds | integer | 아님 | 202 에만 있습니다. 이 시간 뒤 같은 코드로 다시 요청합니다. |
예시
curl -X POST https://slmaps.com/api/plugin/v1/claim -H "User-Agent: MyServer/1.0" -H "Content-Type: application/json" -d "{\"code\":\"slclm_…\",\"port\":7777,\"pluginVersion\":\"1.2.2\",\"gameVersion\":\"14.2.7\",\"labApiVersion\":\"1.1.7\"}"요청 예시
{
"code": "slclm_…",
"port": 7777,
"pluginVersion": "1.2.2",
"gameVersion": "14.2.7",
"labApiVersion": "1.1.7"
}응답 예시
{
"status": "verified",
"serverId": "8b1c…-uuid",
"credential": "slsrv_…",
"issuedAt": "2026-09-15T08:00:00Z"
}플러그인 동작
200이면 서버 키를 저장하고(기존 키가 있으면 교체) 설정의 claim_code를 지운 뒤 시드 보고를 시작합니다. 202는 retryAfterSeconds 이후 같은 코드로 다시 요청합니다. 401과 403은 로그를 남기고 중단합니다. 429, 503, 네트워크 오류는 재시도 간격을 늘려 다시 요청합니다.
SLMAPS는 SCP: Secret Laboratory의 시드 지도 뷰어입니다. 이 문서는 slmaps.com의 공개 API를 설명합니다.slmaps.com ·