DEVELOPER API · v1

Oyun offset'lerini tek satır kodla çek.

HTTP GET, Bearer token, JSON yanıt. Otomatik güncellenen offset veritabanımız doğrudan kodunda. CS2, Rust ve diğer aktif oyunlar için.

Hızlı başlangıç API key talep et

Tersine mühendislik senin bizim işimiz

Saatlerce IDA/Ghidra başında oturma, oyun yamasıyla offset'lerin bozulmasını izleme — biz reverse ediyoruz, sen sadece kodunu yazıyorsun.

Anında başla

3 satır C++ ile pawn / entity list / view matrix elinde. CS2, Rust, Valorant ve daha fazlası tek API'da.

Otomatik güncel

Oyun yama attı, offset'ler kaydı? Sunucumuzdaki regex parser dakikalar içinde DB'yi tazeler — bir sonraki istekte yeni değer sende.

Uygun fiyat, tek anahtar

Aylık tek API key — istediğin kadar istek, izin verilen tüm oyunlara erişim. Anahtar süresi dolmadan uzat, kesintisiz devam et.

Reverse bizden, kod senden. Keyfini çıkar — biz analizci, debugger ve regex parser'larla uğraşırken sen yazılımını yazıyor olacaksın.

Hazır C++ Static Library

DevCPP.lib — sıfır dependency, WinHTTP üzerinde, **3 fonksiyon** ile çalışır. İndir, projendeki linker'a ekle, kullanmaya başla. Sunucu adresi gömülü; geliştiriciler değiştiremez.

C++ kütüphanesi yakında — admin yükledikten sonra burada görünür.

3 satırda kullanım

// 1) Anahtarini ayarla
OsApi::SetKey("sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");

// 2) Tum offsetleri tek istekle al (ready-to-use uint64 adresler)
auto offsets = OsApi::GetOffsets("cs2");

// 3) Bir tanesini cek
std::uint64_t pawn = OsApi::GetOffset(offsets, "dwLocalPlayerPawn");
// pawn = 0x17B7BE8 — kullanmaya hazir

Public API

FonksiyonAçıklama
SetKey(string)API anahtarını ayarla (tek seferlik)
GetOffsets(game)Bir oyunun tüm offset'lerini vector<Offset> olarak al
GetOffset(vec, name)Vector içinden ada göre arama (tekrar HTTP istek atmaz)
LastError()Son çağrı boş vector döndürdüyse nedenini öğren

Linkleme

Visual Studio Console App tüketici projende:

  • C/C++ → Additional Include Directories: DevCPP.h'in olduğu klasör
  • Linker → Additional Library Directories: DevCPP.lib'in olduğu klasör
  • Linker → Input → Additional Dependencies: DevCPP.lib;winhttp.lib
  • C/C++ Language Standard: ISO C++17
  • Runtime Library (/MD veya /MT) lib ile aynı olmalı, yoksa LNK2038
Gelişmiş: Raw HTTP API (curl, Python, C#, JS) C++ kütüphanesi yetmediğinde

Kimlik doğrulama

Tüm istekler Authorization header'ı ile gönderilir:

Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Anahtarı hiçbir public repo'ya commit'leme; environment variable veya secret manager kullan.

Endpoint'ler

GET /api/dev/me Anahtar bilgisi
GET /api/dev/games Erişilebilir oyunlar
GET /api/dev/games/{name}/offsets Tüm offset'ler
GET /api/dev/games/{name}/offsets/{offsetName} Tek offset

Yanıt formatı

// GET /api/dev/games/cs2/offsets
{
  "game": "cs2",
  "count": 24,
  "updated_at": "2026-05-03T10:14:22Z",
  "offsets": [
    { "name": "dwLocalPlayerPawn", "value": "0x17B7BE8" }
  ]
}

Kod örnekleri

curl "http://oyuncusteroidi.com/api/dev/games/cs2/offsets" \
     -H "Authorization: Bearer $API_KEY"
import os, requests

API_KEY = os.environ["OS_API_KEY"]
BASE    = "http://oyuncusteroidi.com/api/dev"

r = requests.get(
    f"{BASE}/games/cs2/offsets",
    headers={"Authorization": f"Bearer {API_KEY}"}
)
r.raise_for_status()
data = r.json()
for o in data["offsets"]:
    print(f"{o['name']} = ", o["value"])
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;

var http = new HttpClient();
http.DefaultRequestHeaders.Authorization =
    new AuthenticationHeaderValue("Bearer", apiKey);

var json = await http.GetStringAsync(
    "http://oyuncusteroidi.com/api/dev/games/cs2/offsets");
var data = JsonDocument.Parse(json).RootElement;
foreach (var o in data.GetProperty("offsets").EnumerateArray())
    Console.WriteLine($"{o.GetProperty("name").GetString()} = {o.GetProperty("value").GetString()}");
const r = await fetch("http://oyuncusteroidi.com/api/dev/games/cs2/offsets", {
  headers: { Authorization: `Bearer ${process.env.OS_API_KEY}` }
});
if (!r.ok) throw new Error(`HTTP ${r.status}`);
const { offsets } = await r.json();
offsets.forEach(o => console.log(o.name, "=", o.value));

Hata kodları

Tüm hatalar standart formatta:

{ "error": { "code": "key_expired", "message": "API key suresi doldu..." } }
HTTPcodeAnlamı
401invalid_keyAuthorization header eksik veya anahtar bulunamadı
403key_inactiveAnahtar admin tarafından devre dışı bırakılmış
403key_expiredAnahtar süresi dolmuş — yenileme için iletişime geç
403game_forbiddenBu anahtar bu oyuna erişemiyor
404game_not_foundOyun adı tanımlı değil veya pasif
404offset_not_foundBelirtilen offset adı bu oyun için yok

SSS

Rate limit var mı?

Hayır, anahtarın aktifken serbestçe istek atabilirsin. Sunucu sağlığı için makul kullan.

Anahtarımın süresi nasıl uzar?

Süresi dolmadan önce destek@oyuncusteroidi.com adresine yaz, admin gün ekler. Süresi dolduktan sonra da uzatabilir, başlangıç tarihi olarak şimdiyi alır.

Birden fazla oyuna nasıl erişirim?

Admin senin anahtarının "izinli oyunlar" listesine eklemeli. /api/dev/games ile o an hangilerine erişebildiğini görebilirsin.

Offset'ler ne sıklıkta güncellenir?

Otomatik güncelleme servisi sürekli çalışır — oyun yamaları yayınlandıktan sonra dakikalar içinde DB'de güncellenir, sen de bir sonraki istekte yeni değeri alırsın.

Anahtarımı kaybettim ne yapayım?

Admin'e yaz, anahtarı yeniler. Eski anahtar otomatik geçersiz olur, yenisini sana gönderir.