
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.
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
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.
// 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 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_SHORTSıkça Sorulan Sorular
Entegrasyona Hazır mısınız?
horizOn ile bugün geliştirmeye başlayın. Ücretsiz paket dahil.


