Sunucu Sahipleri İçin

Oy API'si ile Oyuncularınızı Ödüllendirin: Kurulum Rehberi

Oy API'si ile Oyuncularınızı Ödüllendirin: Kurulum Rehberi

Oy veren oyuncuya oyun içinde küçük bir ödül vermek hem topluluğunu memnun eder hem de sunucunu haftalık sıralamada yukarı taşır. Metin2PvpServarlar.com'un oy API'si, bir oyuncunun gerçekten oy verip vermediğini sunucuna otomatik olarak söyler. Bu rehberde Metin2 oy API kurulumunu örnek PHP kodu ve güvenlik kurallarıyla adım adım anlatıyoruz.

Sistem nasıl çalışır?

  1. Oyuncu, sitende ya da oyun içinde, kendi hesap numarasını içeren oy bağlantısına tıklar.
  2. Sitemizde robot doğrulamasını (Cloudflare Turnstile) geçip oyunu verir.
  3. Oyuncu ödülünü istediğinde senin sunucun, doğrulama adresine bu hesap numarasını sorar.
  4. Yanıt 1 ise ödülü verirsin; 0 ise oyuncuya önce oy vermesini hatırlatırsın.

Aynı sunucuya 24 saatte bir oy verilebilir. Oy bağlantısıyla verilen oylarda bu sınır hem IP adresine hem de oyun hesabına göre uygulanır.

Bağlantıları nerede bulursun?

Kontrol Paneli › Sunucularım sayfasında sunucunun yanındaki API düğmesine tıkla. Burada iki adres ve kısa bir PHP örneği görürsün.

Oy bağlantısı, oyuncunun tıklayacağı adrestir:

https://www.metin2pvpservarlar.com/oy-ver/{sunucu-adi}/{sunucu_id}/{ID}

Doğrulama adresi ise yalnızca senin sunucunun çağıracağı adrestir:

https://www.metin2pvpservarlar.com/api/oy/{sunucu_id}/{api_anahtari}/{ID}

İki adresin sonundaki ID, oyuncunun oyun hesabının numarasıdır ve sıfırdan büyük bir sayı olmalıdır. Oy bağlantısını panelden olduğu gibi kopyala, yalnızca sondaki ID kısmını değiştir. Doğrulama adresi düz metin döndürür: oyuncu son 24 saat içinde sunucuna oy bağlantısıyla oy verdiyse 1, vermediyse 0.

Adım adım kurulum

  • Bağlantıyı oyuncuya özel üret: Hesap numarasını oyuncuya elle yazdırma. Sitendeki kullanıcı panelinde ya da oyun içindeki oy düğmesinde, giriş yapmış hesabın numarasını bağlantıya otomatik ekle. Böylece ödül doğru hesaba gider.
  • "Ödülümü al" düğmesi koy: Oyuncu oy verdikten sonra bu düğmeye basar; doğrulama isteğini o anda senin sunucunda çalışan kod gönderir.
  • Ödülü kaydet: Doğrulama adresi, oydan sonraki 24 saat boyunca 1 döndürür. Ödül verdiğin zamanı hesap numarasıyla birlikte kendi veritabanına yaz ve 24 saat dolmadan aynı hesaba ikinci ödülü verme. Yoksa oyuncu tek oyla düğmeye defalarca basıp ödül toplar.
  • Ödülü teslim et: Nesne market bakiyesi eklemek ya da oyuncuya bir eşya göndermek gibi, sunucu dosyalarının desteklediği yöntemi kullan.

Örnek PHP kodu

Aşağıdaki kodu sitendeki, sunucu tarafında çalışan bir PHP dosyasına ekleyebilirsin:

// API anahtarını oyun istemcisine, JavaScript koduna
// ya da herkese açık bir dosyaya asla koyma.
const SUNUCU_ID    = '{sunucu_id}';    // Paneldeki sunucu numaran
const API_ANAHTARI = '{api_anahtari}'; // Paneldeki API anahtarın

function oyVerdiMi(int $hesapId): bool
{
    if ($hesapId < 1) {
        return false;
    }

    $adres = 'https://www.metin2pvpservarlar.com/api/oy/'
        . SUNUCU_ID . '/' . API_ANAHTARI . '/' . $hesapId;

    $curl = curl_init($adres);
    curl_setopt_array($curl, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_CONNECTTIMEOUT => 5,
        CURLOPT_TIMEOUT        => 10,
    ]);
    $yanit    = curl_exec($curl);
    $hataKodu = curl_errno($curl);
    $httpKodu = curl_getinfo($curl, CURLINFO_HTTP_CODE);

    // Bağlantı hatası, zaman aşımı ya da geçersiz istek: ödül verme.
    if ($yanit === false || $hataKodu !== 0 || $httpKodu !== 200) {
        return false;
    }

    return trim($yanit) === '1';
}

// $hesapId, giriş yapmış oyuncunun oturumundan gelir.
if (oyVerdiMi($hesapId)) {
    // Son 24 saatte bu hesaba ödül verilmediyse ödülü ver
    // ve ödül zamanını veritabanına kaydet.
} else {
    // Oyuncuya önce oy vermesini hatırlat.
}

Kod yalnızca yanıt tam olarak 1 olduğunda ödül verir. Anahtar ya da numara hatalıysa yanıt kısa bir hata metni olabilir; zaman aşımında hiç yanıt gelmez. Bu durumların hepsi "oy yok" sayılır.

Güvenlik ve kurallar

  • Anahtarı gizli tut: Doğrulamayı oyuncunun bilgisayarında çalışan bir kodda yaparsan oyuncu yanıtı taklit edip ödülü bedavaya alabilir; anahtarın da herkesin eline geçer. Anahtarının sızdığını düşünüyorsan iletişim sayfasından bize yaz.
  • İstek sayısını düşük tut: Doğrulamayı yalnızca oyuncu ödül istediğinde yap. Tüm hesapları belirli aralıklarla sorgulamak gereksiz yük oluşturur.
  • Kurallara uy: Oy karşılığı oyun içi ödül vermek serbesttir. Oy satın almak, oy karşılığı para ödemek ya da bot, VPN ve sahte hesaplarla oy toplamak yasaktır; hileli oylar silinebilir ve sunucu listeden çıkarılabilir.
  • Ödülü dengeli seç: Oyun ekonomisini bozan büyük ödüller yerine küçük ama düzenli ödüller ver. Her gün oy veren oyuncular, sunucunun en iyi sunucular sıralamasında yükselmesine yardım eder.

Sık karşılaşılan sorunlar

  • Hep 0 dönüyor: Oyuncu, hesap numarası içeren oy bağlantısını kullanmamış olabilir. Sitemize üye girişi yapıp sunucu sayfasından verilen oylar sıralamaya sayılır ama doğrulama adresinde görünmez. Oy bağlantısındaki ve doğrulama isteğindeki numaranın aynı olduğunu da kontrol et.
  • Oyuncu oy veremiyor: Oy bağlantısında sınır IP adresine göre de uygulandığı için aynı internet bağlantısını paylaşan oyuncular 24 saat içinde bu bağlantıyla sunucuna yalnızca bir kez oy verebilir. Bunu oyuncularına önceden anlat.
  • Yanıt gecikiyor: Oyuncuya "birkaç dakika sonra tekrar dene" mesajı göster; isteği döngü içinde art arda tekrarlama.

Oy bağlantısını nerelerde paylaşacağını sunucu tanıtım rehberimizde anlattık. Oyuncularına ödülü nasıl alacaklarını anlatmak için oy verme rehberimizi paylaşabilirsin.

Sık sorulan sorular

PHP kullanmıyorsam oy API'sini nasıl kurarım?

Mantık her dilde aynıdır: doğrulama adresine GET isteği gönder, yanıt tam olarak 1 ise ödül ver. Siten başka bir dilde yazıldıysa aynı adımları o dilde uygulayabilirsin.

Oyuncu aynı gün iki kez ödül alabilir mi?

Almamalı. Doğrulama adresi oydan sonraki 24 saat boyunca 1 döndürdüğü için ödül zamanını kaydedip tekrarını engellemek senin kodunun işidir.

ID olarak hangi numarayı kullanmalıyım?

Oyuncunun oyun hesabının numarasını. Sıfırdan büyük bir sayı olmalı ve oy bağlantısında da doğrulama isteğinde de aynı numara kullanılmalıdır.

Oylar sıfırlanınca ödül sistemi etkilenir mi?

Hayır. Oylar her cuma 20:59'da (TSİ) sıralama için sıfırlanır; 24 saatlik oy süresi bundan bağımsız işler. Oyuncu, sıfırlamadan hemen önce oy verdiyse bir sonraki oyunu yine süre dolunca verebilir.

0 Beğeni

Diğer yazılar

Yorumlar 0

Henüz yorum yapılmadı.