검증된 액션

검증된 액션

서버 코드를 작성하지 않고도 리더보드와 게임 내 재화를 위한 플레이를 서버에서 검사합니다. 플레이마다 발급되는 일회용 티켓, 서버에만 존재하는 규칙, 상위 플레이의 입력 로그, 그리고 모더레이션이 치터가 얻을 수 있는 이득을 제한합니다. 클라우드 전용이며 자체 호스팅 simpleServer에서는 제공되지 않습니다.

무료로 시작하기

플레이별 일회용 티켓

모든 플레이는 플레이어, 리더보드, 서버 시드에 묶인 서버 티켓으로 시작합니다. 티켓은 정확히 한 번만 인정되고 거부된 플레이도 티켓을 소모하므로, 누구도 티켓 하나로 한도를 떠볼 수 없습니다.

서버에만 있는 규칙

점수 상한과 하한, 최소 시간, 초당 점수, 스테이지 규칙, 플레이당 재화 한도는 서버에 저장됩니다. 앱 응답이나 오류 메시지에 절대 나타나지 않으며, 재화는 서버만 기록합니다.

입력 로그와 모더레이션

상위 플레이와 표시된 플레이에 대해 서버는 게임에 입력 로그를 요청합니다. 의심스러운 플레이는 시드와 로그로 직접 재현한 뒤 처리 방법을 결정할 수 있습니다.

빠른 통합

빠른 통합

검증된 액션 설정하기
동영상 준비 중

리더보드에서 검증된 제출을 켜고 검증된 액션에서 서버 규칙을 설정하세요. 그런 다음 대시보드에서 검사된 플레이를 추적하고 상위 플레이의 증거를 검토할 수 있습니다.

C#
// Unity C#: Validated Actions
// Dashboard: turn on "Validated submissions only" for the leaderboard "weekly"
var va = ValidatedActionsManager.Instance;

// Round start: single-use ticket plus server seed
var run = await va.StartRun("weekly");
if (run == null) { Debug.Log(va.LastErrorCode); return; } // e.g. RUN_RATE_LIMITED
var random = new System.Random(run.seed);

// ... play, record the inputs into inputLog (byte[]) ...

// Round end: score plus input log (the SDK sends its SHA-256 hash)
var result = await va.SubmitValidated(18250, inputLog);
if (result == null)
{
    Debug.Log($"{va.LastErrorCode}, run kept: {va.HasActiveRun}"); // e.g. DURATION_TOO_SHORT
}
REST
# REST API: Validated Actions (needs the player's session token)

# Start a run: returns runId, a single-use ticket, seed and expiresAt
curl -X POST https://eu.horizon.pm/api/v1/app/validated-actions/runs \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Authorization: Bearer SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"userId":"USER_ID","leaderboardKey":"weekly"}'

# Submit the run: score plus the SHA-256 hex of the input log
curl -X POST https://eu.horizon.pm/api/v1/app/validated-actions/submit \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Authorization: Bearer SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"userId":"USER_ID","ticket":"TICKET","leaderboardKey":"weekly","score":18250,"inputLogHash":"SHA256_HEX"}'

# Rejected runs answer 422 with a code, e.g. TICKET_EXPIRED or DURATION_TOO_SHORT
자주 묻는 질문

자주 묻는 질문

통합할 준비가 되셨나요?

오늘부터 horizOn으로 게임 백엔드를 구축하세요. 무료 플랜 포함.

이 대시보드는 다음에 의해 애정을 담아 만들어졌습니다 Projectmakers

© 2026 projectmakers.de

unknown-v1.104.0 / unknown-v--