Doğrulanmış eylemler

Doğrulanmış eylemler

Sunucu kodu yazmadan lider tabloları ve oyun içi para için sunucuda kontrol edilen turlar. Tur başına tek kullanımlık biletler, yalnızca sunucuda bulunan kurallar, en iyi turların girdi kayıtları ve moderasyon, bir hilecinin kazanabileceklerini sınırlar. Yalnızca bulutta, kendi sunucunuzda barındırılan simpleServer'da yok.

Ücretsiz Başlayın

Tur başına tek kullanımlık biletler

Her tur, oyuncuya, lider tablosuna ve bir sunucu tohumuna bağlı bir sunucu biletiyle başlar. Bir bilet tam olarak bir kez sayılır ve reddedilen bir tur da onu tüketir, böylece kimse sınırlarınızı tek bir biletle yoklayamaz.

Kurallar yalnızca sunucuda

Puan sınırları, minimum süre, saniye başına puan, aşama kuralları ve tur başına para sınırları sunucuda durur. Uygulama yanıtlarında veya hata mesajlarında asla görünmezler ve parayı yalnızca sunucu yazar.

Girdi kayıtları ve moderasyon

En iyi turlar ve işaretlenen turlar için sunucu, oyundan girdi kaydını ister. Şüpheli bir turu tohumu ve kaydıyla kendiniz yeniden oynatabilir, ardından ne yapacağınıza karar verebilirsiniz.

Hızlı Entegrasyon

Hızlı Entegrasyon

Doğrulanmış eylemleri kurun
Video yakında

Bir lider tablosu için doğrulanmış gönderimleri açın ve sunucu kurallarınızı Doğrulanmış eylemler altında belirleyin. Ardından kontrol edilen turları takip edin ve en iyi turların kanıtlarını panelde inceleyin.

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
Sıkça Sorulan Sorular

Sıkça Sorulan Sorular

Entegrasyona Hazır mısınız?

horizOn ile bugün geliştirmeye başlayın. Ücretsiz paket dahil.