BAŞLANGIÇ

Kurulum

Roblox backend servislerimizi kullanmaya başlamak için modülümüzü projenize dahil etmeniz yeterli. Aşağıdaki adımları takip ederek 5 dakika içinde entegrasyonu tamamlayabilirsiniz.

MainModule.lua
local DoganWorks = require(123456789) -- Module ID
local Backend = DoganWorks.init({
    apiKey = "API_KEY_BURAYA",
    gameId = game.PlaceId
})

API anahtarınızı ServerScriptService dışındaki scriptlerde kullanmayın. Client tarafında görünmesi güvenlik riski oluşturur.

Yapılandırma

Modülü başlattıktan sonra aşağıdaki ayarları kullanarak oyununuza özel özelleştirmeler yapabilirsiniz.

AyarTipVarsayılanAçıklama
antiExploitbooleantrueOtomatik hile korumasını aktif eder.
analyticsbooleantrueOyuncu istatistiklerini toplar.
secureTradingbooleanfalseGüvenli takas API'sini aktif eder.
GÜVENLİK

Anti-Exploit

AI destekli koruma sistemimiz, bilinen exploit yöntemlerini otomatik olarak engeller ve oyuncuyu sunucudan uzaklaştırır.

Hız Koruması (Speed/Fly)

Normal yürüme hızını aşan karakterleri tespit eder ve geri sarar (rubberbanding).

Noclip Koruması

Duvarlardan geçmeye çalışan oyuncuları engeller.

Remote Spy Görmezliği

Gönderilen eventleri karmaşıklaştırarak (obfuscation) dinlemeyi zorlaştırır.

Auto-Ban

Tekrar eden ihlallerde oyuncuyu otomatik olarak banlar.

REST API REFERENCE

REST API Kullanımı

SDK kullanmadan doğrudan HTTP istekleri ile backend servislerimize erişebilirsiniz. Bu yöntem ile Discord botları, web panelleri veya harici uygulamalar geliştirebilirsiniz.

Kimlik Doğrulama

Tüm API isteklerinde x-api-key header'ı zorunludur.

HEADER
x-api-key: sk_live_123456789...

Tüm API Endpointleri

Analytics API

Oyuncu davranışlarını, harcamalarını ve tutma oranlarını takip edin. Tüm eventler otomatik olarak batch'lenir.

POST/api/v1/analytics/event

Tek bir analytics event gönderir. Session, purchase, level-up gibi eventleri takip edin.

Parameters
FieldTypeRequiredDescription
userIdstringRoblox User ID
eventNamestringEvent name (e.g. "purchase", "level_up")
propertiesobjectAdditional data (key-value)
timestampnumberUnix timestamp (ms), default: now
Request
{
  "userId": "123456789",
  "eventName": "item_purchased",
  "properties": {
    "itemId": "sword_legendary",
    "price": 500,
    "currency": "robux"
  }
}
Response (200)
{
  "success": true,
  "eventId": "evt_abc123..."
}
POST/api/v1/analytics/batch

Toplu event gönderimi. Performans için SDK tarafından otomatik kullanılır. Maksimum 100 event/istek.

Request
{
  "events": [
    {
      "userId": "123",
      "eventName": "session_start"
    },
    {
      "userId": "123",
      "eventName": "level_up",
      "properties": { "level": 5 }
    }
  ]
}
Response (200)
{
  "success": true,
  "eventIds": [
    "evt_abc123...",
    "evt_def456..."
  ]
}
Hata Yanıtı (429 - Rate Limit)
{ "error": "DAU limit exceeded", "current": 10500, "limit": 10000 }
GET/api/v1/analytics/dau

Günlük aktif kullanıcı (DAU) verilerini tarih aralığına göre döndürür.

Query Parameters
ParameterTypeExample
startDateYYYY-MM-DD2024-01-01
endDateYYYY-MM-DD2024-01-31
Response (200)
{
  "data": [
    { "date": "2024-01-01", "users": 1523 },
    { "date": "2024-01-02", "users": 1847 },
    { "date": "2024-01-03", "users": 1692 }
  ]
}
GET/api/v1/analytics/revenue

Gelir verilerini tarih aralığına göre döndürür. "item_purchased" eventlerindeki price değerlerini toplar.

Query Parameters
ParameterTypeExample
startDateYYYY-MM-DD2024-01-01
endDateYYYY-MM-DD2024-01-31
Response (200)
{
  "data": [
    { "date": "2024-01-01", "revenue": 15230 },
    { "date": "2024-01-02", "revenue": 18470 }
  ],
  "totalRevenue": 33700
}
GET/api/v1/analytics/retention

Kullanıcı tutma (retention) oranlarını hesaplar. Day 1, Day 7, Day 30 metrikleri.

Query Parameters
ParameterTypeExample
cohortDateYYYY-MM-DD2024-01-01
Response (200)
{
  "cohortSize": 1523,
  "retention": {
    "day1": 42.15,
    "day7": 18.32,
    "day30": 8.47
  }
}
POST/api/v1/analytics/funnel

Funnel analizi yapar. Adımlar arası dönüşüm oranlarını hesaplar.

Request
{
  "steps": [
    "tutorial_start",
    "tutorial_complete",
    "first_purchase"
  ],
  "startDate": "2024-01-01",
  "endDate": "2024-01-31"
}
Response (200)
{
  "steps": [
    { "name": "tutorial_start", "users": 10000 },
    { "name": "tutorial_complete", "users": 7500 },
    { "name": "first_purchase", "users": 1500 }
  ],
  "overallConversion": 15.0
}
GET/api/v1/analytics/player/:userId

Belirli bir oyuncunun tüm istatistiklerini döndürür.

Response (200)
{
  "userId": "123456789",
  "firstSeen": "2024-01-01T10:30:00Z",
  "lastSeen": "2024-01-15T18:45:00Z",
  "totalSessions": 47,
  "totalPlayTime": 12840,
  "totalSpent": 2500,
  "events": {
    "level_up": 23,
    "item_purchased": 15,
    "achievement_unlocked": 8
  }
}

Anti-Exploit API

GET/api/v1/exploits/check-ban/:userId

Kullanıcının ban durumunu sorgular.

POST/api/v1/exploits/report

Şüpheli aktivite raporlar. Otomatik tehdit puanı hesaplar.

{ "userId": "123", "type": "SPEED_HACK", "metadata": { "speed": 150 } }

Tipler: SPEED_HACK, TELEPORT, ITEM_DUPE, FLYING, NOCLIP, STAT_ABUSE

POST/api/v1/exploits/ban

Kullanıcı yasaklar.

{ "userId": "123", "duration": 3600, "reason": "Hile", "type": "TEMPORARY" }

Tipler: TEMPORARY, PERMANENT, IP, HWID, SHADOW. duration=null için kalıcı ban.

DELETE/api/v1/exploits/ban?userId=123

Kullanıcının yasağını kaldırır (unban).

GET/api/v1/exploits/reports?page=1&limit=50

Tüm exploit raporlarını listeler.

GET/api/v1/exploits/stats

Exploit istatistiklerini döndürür (toplam rapor, ban, tehdit dağılımı).

Trading API

POST/api/v1/trading/create

Yeni takas başlatır (5dk timeout).

{ "player1Id": "123", "player2Id": "456" }
POST/api/v1/trading/:tradeId/add-item

Takasa eşya ekler.

{ "playerId": "123", "items": [{ "itemId": "sword", "quantity": 1 }] }
POST/api/v1/trading/:tradeId/ready

Oyuncuyu hazır olarak işaretler.

{ "playerId": "123", "ready": true }
POST/api/v1/trading/:tradeId/complete

Her iki oyuncu hazır olduğunda takası tamamlar (atomik).

POST/api/v1/trading/:tradeId/cancel

Takası iptal eder.

{ "playerId": "123" }
POST/api/v1/trading/verify-ownership

Eşya sahipliğini doğrular.

{ "playerId": "123", "items": [{ "itemId": "sword", "quantity": 1 }] }
GET/api/v1/trading/history/:playerId?page=1&limit=20

Oyuncunun takas geçmişini döndürür.

GET/api/v1/trading/stats

Takas istatistiklerini döndürür.

Örnek Entegrasyonlar