Документация API

Пошагово: где взять API-ключ, как настроить награды за голос и как присылать онлайн для закрытых игр (Lineage, WoW и т.п.).

Примеры и плагины

Готовые плагины и скелеты — скачайте пакет или скопируйте код. Ключ берите в кабинете: сервер → «Ключ и API».

Два сценария Награды — pending → выполнить → claim.
Онлайн (закрытая игра) — SELECT COUNT → POST /status каждые 1-5 мин.

Скачать плагин

В архиве — исходники и README. Для Minecraft при сборке кладётся и готовый TopGamRewards.jar. Для Rust нужен пакет Oxide (не SourceMod). Для GTA есть и SA-MP, и FiveM — берите свой рантайм. Игры без консоли (Lineage, WoW и т.п.) — PHP cron ниже или Status API.

PHP cron — онлайн (Status)

// crontab: every 2 minutes → php /path/report_online.php
<?php
$key = 'ВАШ_API_KEY'; // кабинет → Ключ и API
// TODO: подставьте свой запрос к игровой БД
$online = 0; // SELECT COUNT(*) FROM characters WHERE online = 1
$max = 5000;

$ch = curl_init('https://topgam.ru/api/v1/status');
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_HTTPHEADER => ["Authorization: Bearer {$key}"],
  CURLOPT_POSTFIELDS => http_build_query([
    'online' => $online,
    'max' => $max,
  ]),
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_TIMEOUT => 5,
]);
echo curl_exec($ch);

PHP cron — выдача наград (Rewards)

// crontab: every minute → php /path/give_rewards.php
<?php
$key = 'ВАШ_API_KEY';
$api = 'https://topgam.ru/api/v1';

$ctx = stream_context_create([
  'http' => [
    'header' => "Authorization: Bearer {$key}\r\nAccept: application/json\r\n",
    'timeout' => 10,
  ],
]);
$list = json_decode(file_get_contents("$api/rewards/pending?limit=50", false, $ctx), true);
if (empty($list['rewards'])) exit;

$done = [];
foreach ($list['rewards'] as $r) {
  $cmd = $r['command'] ?? null;
  if (!$cmd) continue;
  // TODO: выполнить $cmd на сервере (RCON / console)
  // if (rcon($cmd)) $done[] = $r['id'];
  $done[] = $r['id'];
}
if ($done) {
  $ch = curl_init("$api/rewards/claim");
  curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => ["Authorization: Bearer {$key}"],
    CURLOPT_POSTFIELDS => http_build_query([
      'ids' => implode(',', $done),
    ]),
    CURLOPT_RETURNTRANSFER => true,
  ]);
  curl_exec($ch);
}

curl — проверка голоса

curl -s -H "Authorization: Bearer KEY" "https://topgam.ru/api/v1/vote/check?nick=steve"
Псевдокод Minecraft / Source
// Каждые 60 сек:
// GET /api/v1/rewards/pending  + header Authorization: Bearer KEY
List pending = GET /api/v1/rewards/pending
for (Reward r : pending) {
  Bukkit.dispatchCommand(console, r.command); // ник уже в команде
  POST /api/v1/rewards/claim { id: r.id }  + Bearer KEY
}
// Или слушайте postback и выдавайте сразу по nick.
// Таймер 60с → HTTP GET pending → ServerCommand(r.command) → claim
// Postback: HTTPS endpoint на игровом VPS принимает JSON и кладёт nick в очередь выдачи.

Postback URL: кабинет → сервер → Ключ и API.
Онлайн API: кабинет → Онлайн API (для website-игр).
Условия наград: кабинет → Награды.

Место сдаётся Ваш баннер 1160×90 от 120 ₽/сут · Смотреть цены →