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.
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.
| Ayar | Tip | Varsayılan | Açıklama |
|---|---|---|---|
| antiExploit | boolean | true | Otomatik hile korumasını aktif eder. |
| analytics | boolean | true | Oyuncu istatistiklerini toplar. |
| secureTrading | boolean | false | Güvenli takas API'sini aktif eder. |
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 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.
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.
/api/v1/analytics/eventTek bir analytics event gönderir. Session, purchase, level-up gibi eventleri takip edin.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| userId | string | ✓ | Roblox User ID |
| eventName | string | ✓ | Event name (e.g. "purchase", "level_up") |
| properties | object | – | Additional data (key-value) |
| timestamp | number | – | Unix 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..."
}/api/v1/analytics/batchToplu 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 }/api/v1/analytics/dauGünlük aktif kullanıcı (DAU) verilerini tarih aralığına göre döndürür.
Query Parameters
| Parameter | Type | Example |
|---|---|---|
| startDate | YYYY-MM-DD | 2024-01-01 |
| endDate | YYYY-MM-DD | 2024-01-31 |
Response (200)
{
"data": [
{ "date": "2024-01-01", "users": 1523 },
{ "date": "2024-01-02", "users": 1847 },
{ "date": "2024-01-03", "users": 1692 }
]
}/api/v1/analytics/revenueGelir verilerini tarih aralığına göre döndürür. "item_purchased" eventlerindeki price değerlerini toplar.
Query Parameters
| Parameter | Type | Example |
|---|---|---|
| startDate | YYYY-MM-DD | 2024-01-01 |
| endDate | YYYY-MM-DD | 2024-01-31 |
Response (200)
{
"data": [
{ "date": "2024-01-01", "revenue": 15230 },
{ "date": "2024-01-02", "revenue": 18470 }
],
"totalRevenue": 33700
}/api/v1/analytics/retentionKullanıcı tutma (retention) oranlarını hesaplar. Day 1, Day 7, Day 30 metrikleri.
Query Parameters
| Parameter | Type | Example |
|---|---|---|
| cohortDate | YYYY-MM-DD | 2024-01-01 |
Response (200)
{
"cohortSize": 1523,
"retention": {
"day1": 42.15,
"day7": 18.32,
"day30": 8.47
}
}/api/v1/analytics/funnelFunnel 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
}/api/v1/analytics/player/:userIdBelirli 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
/api/v1/exploits/check-ban/:userIdKullanıcının ban durumunu sorgular.
/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
/api/v1/exploits/banKullanıcı yasaklar.
{ "userId": "123", "duration": 3600, "reason": "Hile", "type": "TEMPORARY" }Tipler: TEMPORARY, PERMANENT, IP, HWID, SHADOW. duration=null için kalıcı ban.
/api/v1/exploits/ban?userId=123Kullanıcının yasağını kaldırır (unban).
/api/v1/exploits/reports?page=1&limit=50Tüm exploit raporlarını listeler.
/api/v1/exploits/statsExploit istatistiklerini döndürür (toplam rapor, ban, tehdit dağılımı).
Trading API
/api/v1/trading/createYeni takas başlatır (5dk timeout).
{ "player1Id": "123", "player2Id": "456" }/api/v1/trading/:tradeId/add-itemTakasa eşya ekler.
{ "playerId": "123", "items": [{ "itemId": "sword", "quantity": 1 }] }/api/v1/trading/:tradeId/readyOyuncuyu hazır olarak işaretler.
{ "playerId": "123", "ready": true }/api/v1/trading/:tradeId/completeHer iki oyuncu hazır olduğunda takası tamamlar (atomik).
/api/v1/trading/:tradeId/cancelTakası iptal eder.
{ "playerId": "123" }/api/v1/trading/verify-ownershipEşya sahipliğini doğrular.
{ "playerId": "123", "items": [{ "itemId": "sword", "quantity": 1 }] }/api/v1/trading/history/:playerId?page=1&limit=20Oyuncunun takas geçmişini döndürür.
/api/v1/trading/statsTakas istatistiklerini döndürür.