Proje Hakkında
📁 Ana Modüller ve Özellikler
1. 🔐 Giriş ve Bağlantı Sistemi (index.php)
plain
Copy
Özellikler:
├── MySQL root kullanıcısı ile çoklu veritabanı erişimi
├── Host/Port/Kullanıcı/Şifre ile esnek bağlantı
├── Session tabanlı oturum yönetimi
├── Bağlantı testi ve hata raporlama
└── Güvenli giriş ekranı (modern dark tema)
2. 📊 Dashboard (dashboard.php)
Ana Kontrol Paneli:
Table
Copy
Bileşen
İşlev
Veritabanı İstatistikleri
Toplam DB sayısı, tablo sayısı, toplam boyut (MB)
Metin2 Özet
Toplam hesap, karakter, online oyuncu, guild sayısı
Hızlı Erişim
Tek tıkla hesaplar, karakterler, itemler, SQL sorgusu
Veritabanı Listesi
Tüm DB'lerin boyut ve tablo sayısı görünümü
Dinamik Sidebar
Metin2 tabloları algılandığında özel menüler açılır
3. 🗄️ Veritabanı Yöneticisi (database_manager.php)
Navicat'in Temel Özelliklerinin Tamamı:
A. Veritabanı İşlemleri
plain
Copy
├── Tüm veritabanlarını listeleme
├── DB boyut analizi (data + index ayrıntılı)
├── Tablo listesi (satır sayısı, boyut, oluşturma tarihi)
├── Tablo yapısı görüntüleme (kolonlar, tipler, indexler)
├── Tablo verilerini görüntüleme (sayfalama ile)
├── CRUD işlemleri (Create, Read, Update, Delete)
└── CSV Export/Import
B. SQL Editörü
plain
Copy
├── Renklendirilmiş syntax highlighting
├── Sorgu geçmişi otomatik kaydetme
├── Snippet kütüphanesi (hazır sorgular)
├── Çoklu sorgu desteği
├── Sonuç tablosu görünümü
└── Hata ayıklama ve raporlama
C. Gelişmiş Araçlar (?action=tools)
Table
Copy
Araç
Açıklama
Global Arama
Tüm DB'de metin arama
Global Replace
Toplu metin değiştirme (dry-run destekli)
Yedekleme
Seçili tabloları/tüm DB'yi SQL olarak yedekle
Sorgu Geçmişi
Çalıştırılan tüm SQL'lerin logu
SQL Snippets
Kaydedilmiş sorgu şablonları
Çöp Kutusu
Soft delete ile geri yükleme
D. Tablo Bakım Araçları
plain
Copy
├── OPTIMIZE TABLE - Tablo optimizasyonu
├── REPAIR TABLE - Tablo onarımı
├── ANALYZE TABLE - İndeks istatistikleri
├── CHECK TABLE - Bütünlük kontrolü
└── AUTO_INCREMENT düzeltme
E. ER Diyagram (?action=er_diagram)
Foreign key ilişkilerini görselleştirme
Tablo bağlantılarını otomatik çizme
F. Canlı Monitör (?action=monitor)
plain
Copy
├── Aktif MySQL bağlantı sayısı
├── Thread durumları (connected/running)
├── Process list (çalışan sorgular)
├── Yavaş sorgu tespiti
└── Bağlantı havuzu izleme
G. Güvenlik & Anti-Cheat (?action=security)
Table
Copy
Özellik
Detay
Anomali Tespiti
Büyük tablolar, inactive hesaplar, orphan kayıtlar
Anti-Cheat Taraması
Çoklu hesap, imkansız item, şüpheli yang
Anlık Uyarılar
Otomatik tespit edilen riskli işlemler
4. 👤 Hesap Yönetimi (accounts.php)
plain
Copy
Özellikler:
├── Tüm hesapları listeleme (arama, sayfalama)
├── Hesap detayı görüntüleme
├── Ban/Unban işlemleri (status 0/1)
├── Email ve kayıt tarihi bilgisi
├── Son giriş ve IP adresi takibi
└── Hesaba bağlı karakterleri görme
40250 Uyumlu: Status TINYINT (0=ban, 1=active)
5. ⚔️ Karakter Yönetimi (players.php)
plain
Copy
Özellikler:
├── Karakter listesi (level, job, yang, son giriş)
├── Detaylı karakter bilgisi:
│ ├── Temel bilgiler (ID, isim, hesap, level, exp)
│ ├── Job bilgisi (Warrior, Ninja, Sura, Shaman)
│ ├── Yang miktarı (0-2B arası validasyon)
│ ├── Oynama süresi (saat cinsinden)
│ ├── Son giriş ve IP
│ └── Konum bilgisi (X, Y, harita)
├── Hızlı düzenleme:
│ ├── Yang güncelleme (güvenli limit kontrolü)
│ ├── Level/EXP güncelleme (1-250 arası)
│ └── Otomatik validasyon
├── Envanter görüntüleme (son 20 item)
└── Oyuncu arama ve filtreleme
6. 🎒 Envanter & Depo Yöneticisi (inventory_manager.php)
plain
Copy
Modüller:
├── Item Arama (sunucu genelinde)
│ ├── Item adı veya VNUM ile arama
│ ├── Sahip bilgisi ve konum
│ ├── Efsun (socket) göstergeleri
│ └── Hızla envantere gitme
├── Oyuncu Envanteri
│ ├── 90 slot görsel envanter grid
│ ├── Slot numaraları ve boş/dolu durumu
│ ├── Item detay modalı (vnum, adet, socketler)
│ └── Hover efektleri
├── Depo (Safebox) Görüntüleme
│ ├── Account bazlı depo erişimi
│ ├── Item listesi tablo görünümü
│ └── Miktar ve pozisyon bilgisi
└── Değerli Itemler
├── Efsunlu itemleri otomatik tespit
├── Son eklenen nadir itemler
└── Sahip bilgisi ile listeleme
7. 🎯 Canlı Oyuncu Takip (player_tracker.php)
Gerçek Zamanlı İzleme Sistemi:
plain
Copy
Özellikler:
├── Canlı Harita Görünümü
│ ├── Grid tabanlı harita arayüzü
│ ├── Oyuncuları renkli noktalar olarak gösterme
│ ├── Mesleklere göre renk kodları:
│ │ 🔴 Warrior (Savaşçı)
│ │ 🟢 Ninja
│ │ 🟣 Sura
│ │ 🔵 Shaman
│ ├── Koordinat bazlı konumlandırma (X,Y)
│ ├── Tooltip ile detay bilgi (isim, level, HP)
│ └── Harita göstergesi (legend)
├── Liste Görünümü
│ ├── Tüm online oyuncular
│ ├── Detaylı bilgi kartları
│ ├── Level, job, HP, harita, IP, oynama süresi
│ ├── Durum badge'leri (Online/PvP/Zindan)
│ └── Hızlı işlem butonları
├── Hareket Geçmişi
│ ├── Oyuncunun konum değişimleri
│ ├── Eski/Yeni koordinat takibi
│ ├── Harita ve zaman bilgisi
│ └── Eylem tipi (hareket, savaş, vs.)
├── Zindan Geçmişi
│ ├── Giriş/çıkış zamanları
│ ├── Kalınan süre
│ └── Tamamlanma durumu
└── Parti Bilgisi
├── Parti üyeleri
└── Lider bilgisi
Harita Desteği: 40+ harita (Köyler, ormanlar, zindanlar, PvP alanı)
8. 💰 Ekonomi Monitörü (economy_monitor.php)
plain
Copy
Modüller:
├── Genel Ekonomi İstatistikleri
│ ├── Toplam yang (tüm sunucu)
│ ├── Dolaşımdaki yang (son 7 gün aktif)
│ ├── Oyuncu başına ortalama yang
│ └── Risk skoru (şüpheli işlem sayısı)
├── En Zengin Oyuncular
│ ├── Top 10 liste
│ ├── Level ve son giriş bilgisi
│ └── Online/offline durumu
├── Yang Transferleri
│ ├── Gönderen/Alan bilgisi
│ ├── Transfer miktarı ve sebep
│ ├── Zaman damgası
│ └── Şüpheli transfer vurgulama (>10M)
├── Offline Shop Satışları
│ ├── Satıcı ve alıcı bilgisi
│ ├── Item adı ve VNUM
│ ├── Satış fiyatı ve tarihi
│ └── Market aktivitesi takibi
├── Şüpheli İşlemler
│ ├── Büyük transferler (>100M)
│ ├── Aynı IP'den çoklu transfer
│ ├── Negatif/Max aşımı yang
│ └── Riskli IP adresleri
└── Enflasyon Analizi
├── Günlük yang üretimi grafiği
├── 7 günlük trend analizi
└── Ekonomik sağlık göstergeleri
Zaman Filtreleri: 1 saat, 24 saat, 7 gün, 30 gün
9. 🎁 Otomatik Etkinlik Sistemi (event_manager.php)
plain
Copy
Özellikler:
├── Etkinlik Oluşturma
│ ├── İsim ve tip seçimi (yang/item/exp/level)
│ ├── Hedef kitle belirleme:
│ │ ├── Tüm oyuncular
│ │ ├── Sadece online
│ │ ├── Level aralığı (örn: 1-50)
│ │ └── Belirli oyuncu
│ ├── Ödül yapılandırması:
│ │ ├── Yang miktarı
│ │ ├── Item (VNUM seçimi)
│ │ ├── Item adedi
│ │ └── EXP miktarı
│ ├── Zamanlama (başlangıç/bitiş)
│ └── Otomatik tablo oluşturma
├── Etkinlik Yönetimi
│ ├── Aktif/Pasif durum
│ ├── Manuel çalıştırma
│ ├── Etkinlik silme
│ └── Ödül dağıtım logu
├── Etkinlik Listesi
│ ├── Durum badge'leri (Aktif/Süresi Doldu/Pasif)
│ ├── Ödül özetleri
│ └── Son çalıştırma tarihi
└── Item Seçimi
└── Dropdown'dan item_proto listesi
10. 👑 GM (Game Master) Yönetimi (gm_manager.php)
plain
Copy
Özellikler:
├── GM Listesi
│ ├── Tüm yetkili kullanıcılar
│ ├── Yetki seviyelerine göre renklendirme:
│ │ 🔴 IMPLEMENTOR (Tam yetki)
│ │ 🟣 HIGH_WIZARD (Yüksek yetki)
│ │ 🔵 GOD (Orta yetki)
│ │ 🟢 LOW_WIZARD (Sınırlı yetki)
│ │ ⚪ PLAYER (Sadece izleme)
│ ├── Hesap ve karakter bilgisi
│ ├── Son giriş takibi
│ └── Hızla yetki değiştirme
├── Yeni GM Ekleme
│ ├── Hesap login ile arama
│ ├── GM karakter adı
│ └── Yetki seviyesi seçimi
├── Yetki Matrisi
│ ├── Her seviyenin yetki detayı
│ ├── İzin listesi görünümü
│ └── Karşılaştırma tablosu
└── İşlem Logları
├── GM eylem kayıtları
├── Tarih, hedef ve detay bilgisi
└── IP adresi takibi
Tablo: common.gmlist (standart 40250 yapısı)
11. 🛡️ Güvenlik Duvarı (security_firewall.php)
plain
Copy
Modüller:
├── Güvenlik Dashboard
│ ├── Tehdit seviyesi göstergesi (Düşük/Orta/Yüksek)
│ ├── Aktif ban sayısı
│ ├── Bugünkü banlar
│ └── Şüpheli IP sayısı
├── IP Ban Yönetimi
│ ├── IP adresi yasaklama
│ ├── Geçici veya kalıcı ban
│ ├── Süre seçimi (1 saat - 30 gün)
│ ├── Ban sebebi kaydı
│ └── Ban kaldırma
├── Ban Listesi
│ ├── Tüm yasaklı IP'ler
│ ├── Aktif/Pasif durum
│ ├── Ban tarihi ve bitiş
│ ├── Banlayan admin bilgisi
│ └── Hızlı kaldırma butonu
├── Şüpheli IP Tespiti
│ ├── Çoklu hesap tespiti (5+ hesap)
│ ├── IP başına hesap sayısı
│ └── Hızlı ban butonu
└── Bölgesel Dağılım
├── Ülke/bölge istatistikleri
├── Pasta grafik görünümü
└── IP range analizi
12. 📡 Canlı İşlem Monitörü (live_monitor.php)
MySQL Trigger Entegrasyonu:
plain
Copy
Özellikler:
├── Otomatik Yenileme (10 saniyede bir)
│ ├── Toggle ile açıp kapatma
│ ├── Canlı gösterge (yeşil nokta)
│ └── Son güncelleme zamanı
├── Yang Hareketleri
│ ├── Trigger'dan gelen loglar
│ ├── Oyuncu adı ve level
│ ├── IP adresi ve harita
│ ├── Değişim miktarı (+/-)
│ └── Şüpheli işlem vurgulama (>500M)
├── Item Hareketleri
│ ├── Alım/satım/drop işlemleri
│ ├── Item adı ve VNUM
│ ├── Eylem tipi ve hedef
│ └── Zaman damgası
├── Şüpheli İşlem Uyarıları
│ ├── Otomatik tespit
│ ├── Animasyonlu uyarı kutusu
│ └── Detaylı liste
└── İstatistik Kartları
├── Son 10dk yang işlemi
├── Son 10dk item hareketi
└── Toplam şüpheli işlem
13. 🛒 Market/Pazar Yöneticisi (market_manager.php)
plain
Copy
Modüller:
├── Fiyat Analizi
│ ├── Item bazlı fiyat geçmişi
│ ├── Ortalama, min, max fiyat
│ ├── Toplam satış sayısı
│ └── Fiyat trend göstergesi (↑↓)
├── En Çok Satan Itemler
│ ├── Satış sayısına göre sıralama
│ ├── Ortalama fiyat bilgisi
│ ├── Fiyat aralığı (min-max)
│ └── Trend yüzdesi
├── Item Detay Sayfası
│ ├── Fiyat istatistikleri (4 kart)
│ ├── Son satışlar tablosu
│ └── Tarihsel fiyat değişimi
├── Fiyat Trendleri
│ ├── 7 günlük değişim analizi
│ ├── Yükselen/düşen itemler
│ └── Yüzdelik değişimler
└── Nadir Itemler
├── Az satılan değerli itemler
└── Piyasa analizi
14. 📊 İstatistik & Raporlama (statistics.php)
Gelişmiş Analiz ve Grafikler:
plain
Copy
Özellikler:
├── Oyuncu Tutundurma (Retention)
│ ├── 1 günlük retention (%)
│ ├── 7 günlük retention (%)
│ ├── 30 günlük retention (%)
│ ├── Kayıt sayısı ve dönen oyuncu
│ └── Detaylı kart görünümü
├── Günlük Online Grafiği
│ ├── Çift eksenli grafik:
│ │ ├── Online oyuncu sayısı (mor)
│ │ └── Ortalama level (yeşil)
│ ├── Tarih seçimi (7/30/90 gün)
│ └── Chart.js entegrasyonu
├── Saatlik Online Dağılımı
│ ├── 24 saatlik bar grafik
│ ├── Pik saat tespiti
│ └── Zamanlı yoğunluk analizi
├── Meslek Dağılımı
│ ├── Pasta grafik görünümü
│ ├── Yüzde ve oyuncu sayısı
│ ├── Ortalama level (meslek bazlı)
│ └── Renkli segmentler
├── Popüler Haritalar
│ ├── Progress bar görünümü
│ ├── Oyuncu yoğunluğu
│ └── Ortalama level (harita bazlı)
└── Günlük Yeni Kayıt
├── Bar grafik görünümü
├── Kayıt trendi
└── Tarih aralığı filtresi
15. 👹 Mob Yönetimi (mobs.php)
plain
Copy
Özellikler:
├── Mob Kartları Grid
│ ├── İsim ve VNUM
│ ├── Level ve HP/SP
│ ├── Saldırı gücü (min-max)
│ ├── Savunma ve hız
│ ├── Verdiği EXP ve yang
│ └── Hover animasyonları
├── Arama ve Filtreleme
│ ├── Mob adı ile arama
│ ├── VNUM ile arama
│ └── Sonuç limiti (50 varsayılan)
└── Hızlı Bilgi
└── Tüm temel istatistikler kart üzerinde
16. ✨ Skill Yönetimi (skills.php)
plain
Copy
Özellikler:
├── Skill Protolari
│ ├── VNUM ve isim
│ ├── Meslek bazlı filtreleme
│ ├── Max level ve gereken level
│ ├── SP maliyet formülü
│ └── Passive/Active/Toggle tipi
├── Job Filtreleme
│ ├── Warrior, Ninja, Sura, Şaman, Lycan
│ ├── Buton ile hızlı filtre
│ └── Tümü görünümü
├── Arama
│ ├── Skill adı ile arama
│ └── VNUM ile arama
└── Oyuncu Skill'leri
├── Belirli oyuncunun skill'leri
├── Skill group ve level
├── Affect type ve value
└── Duration bilgisi
🔧 Yardımcı Fonksiyonlar (functions.php)
Metin2Functions Sınıfı:
Table
Copy
Kategori
Metodlar
Hesap
getAllAccounts, getAccountById, banAccount, unbanAccount
Oyuncu
getAllPlayers, getPlayerById, updatePlayerGold, updatePlayerLevel
Item
getItemProto, getPlayerItems, addItemToPlayer
Mob
getMobProto
Guild
getAllGuilds, getGuildMembers
GM
getGMList, addGM, updateGMAuthority, removeGM
İstatistik
getDashboardStats, getEconomyStats, getPlayerMovementHistory
Veritabanı
backupDatabase, restoreDatabase, globalSearch, globalReplace
Bakım
optimizeTable, repairTable, analyzeTable, checkTable
Güvenlik
detectAnomalies, antiCheatScan, softDelete, restoreFromTrash
Araçlar
exportToCSV, importFromCSV, getERDiagram, saveSnippet
ŞİMDİ BAZI ARKADAŞLAR DER BU CANLI TİCARET VS HARİTA VS KAYITLARINI NASIL KAYDECEK ATTIĞIM SQL DE PLAYER VERİTABANINA SQL LERİ OKUTACAKSIN DİĞER YANG DEĞİŞİMİ VS DİĞER ANLIK GELİŞMELERİ Trigger mantığı kısacası Sistemi entegreli olacak üzümü yiyin bağını sormayın.
SQL TARAFI
Sistem Genel Bakış
plain
Copy
┌─────────────────────────────────────────────────────────┐
│ METIN2 GELİŞMİŞ İZLEME SİSTEMİ │
├─────────────────────────────────────────────────────────┤
│ 1. Oyuncu Hareket Takibi → Konum ve harita logları │
│ 2. Ekonomi Monitörü → Yang akışı takibi │
│ 3. Market Analizi → Offline shop satışları │
│ 4. Zindan Yönetimi → Giriş/çıkış kontrolü │
│ 5. Otomatik Etkinlikler → Yang/item/exp dağıtımı │
│ 6. GM Güvenlik Sistemi → Yetki ve IP yönetimi │
│ 7. Canlı Trigger Sistemi → Anlık veri yakalama │
│ 8. Raporlama Prosedürleri → Hazır SQL sorguları │
└─────────────────────────────────────────────────────────┘
1. 🎯 OYUNCU TAKİP SİSTEMİ TABLOLARI
A. player_movement_log - Oyuncu Hareket Logu
sql
Copy
NE İŞE YARAR?
├── Oyuncuların haritadaki her hareketini kaydeder
├── Koordinat değişimlerini (X,Y) takip eder
├── Harita değişimlerini (warp) loglar
├── Ölüm, binek kullanımı gibi olayları yakalar
└── Hileci teleport tespiti için kullanılır
KULLANIM ALANLARI:
✓ Bot/hile tespiti (imkansız hızda hareket)
✓ Oyuncu yoğunluk analizi (hangi haritalar popüler)
✓ Stuck/bug report doğrulama
✓ PvP alanı aktivite takibi
Örnek Veri:
Table
Copy
player_id
old_x
old_y
new_x
new_y
map_index
action_type
created_at
12345
100
200
5000
6000
43
warp
2024-01-15 14:30:22
12345
5000
6000
5100
6100
43
move
2024-01-15 14:30:25
🚨 Şüpheli: 2 saniyede 100 birim hareket = teleport hilesi şüphesi!
B. yang_transfer_log - Yang Transfer Logu
sql
Copy
NE İŞE YARAR?
├── Tüm yang transferlerini kaydeder (trade, drop, shop)
├── Gönderen ve alan oyuncu bilgisi
├── Transfer miktarı ve sebep
├── IP adresi takibi (çoklu hesap tespiti)
└── Şüpheli ekonomik aktivite yakalama
KULLANIM ALANLARI:
✓ Real money trade (RMT) tespiti
✓ Yang satıcısı hesaplarını bulma
✓ Çalıntı yang takibi
✓ Ekonomi balans analizi
Örnek Senaryo:
plain
Copy
Oyuncu A → Oyuncu B: 500.000.000 Yang (Sebep: "Borç")
Oyuncu B → Oyuncu C: 500.000.000 Yang (Sebep: "Hediye")
Oyuncu C → Oyuncu D: 500.000.000 Yang (Sebep: "Ticaret")
🚨 TESPİT: Zincirleme transfer = Yang satışı şüphesi!
C. offline_shop_sale - Offline Shop Satış Logu
sql
Copy
NE İŞE YARAR?
├── Offline shop satışlarını kaydeder
├── Satıcı ve alıcı bilgisi
├── Item VNUM ve satış fiyatı
├── Piyasa fiyat analizi için kullanılır
└── Enflasyon/ekonomi takibi
KULLANIM ALANLARI:
✓ Item fiyat geçmişi (trend analizi)
✓ En çok satan itemler
✓ Piyasa manipülasyonu tespiti
✓ Oyuncu ticaret aktivitesi
D. dungeon_log - Zindan Logu
sql
Copy
NE İŞE YARAR?
├── Zindan giriş/çıkışlarını kaydeder
├── Kalınan süreyi hesaplar
├── Zindan tamamlama oranları
└── Boost/yardım hizmeti tespiti
KULLANIM ALANLARI:
✓ Nemere/Razador/Beran-Setaou takibi
✓ "Boost hizmeti" satanları tespit (çok hızlı çıkış)
✓ Zindan zorluk ayarı için istatistik
✓ Oyuncu ilerleme takibi
2. 🎁 ETKİNLİK SİSTEMİ (auto_events)
sql
Copy
NE İŞE YARAR?
├── Otomatik etkinlik oluşturma ve yönetme
├── Belirli kriterlere göre ödül dağıtımı
├── Zamanlanmış görevler
└── Toplu ödül operasyonları
ETKİNLİK TİPLERİ:
┌─────────────┬────────────────────────────────────────┐
│ yang │ Belirli oyunculara yang gönderme │
│ item │ Item ödülü (VNUM + adet) │
│ exp │ Deneyim puanı verme │
│ level │ Level atlama (doğrudan level ayarlama) │
└─────────────┴────────────────────────────────────────┘
HEDEF KİTLE SEÇENEKLERİ:
├── all → Tüm oyuncular
├── online → Şu an online olanlar
├── level_range → Belirli level aralığı (örn: 30-50)
└── specific → Belirli bir oyuncu (ID ile)
Örnek Kullanım:
plain
Copy
Etkinlik: "Haftasonu Yang Yağmuru"
├── Tip: yang
├── Hedef: online (şu an oyunda olanlar)
├── Ödül: 1.000.000 Yang
├── Zaman: Cumartesi 20:00 - 22:00
└── Sonuç: Otomatik olarak 150 oyuncuya 1M yang
3. 👑 GM GÜVENLİK SİSTEMİ
A. gm_action_log - GM İşlem Logu
sql
Copy
NE İŞE YARAR?
├── Tüm GM eylemlerini kaydeder
├── Yetki kötüye kullanımını önler
├── Hesap verebilirlik sağlar
└── Hukuki/sorumsuzluk koruması
LOGLANAN EYLEMLER:
├── Hesap ban/unban
├── Item/yang verme
├── Level değiştirme
├── GM ekleme/çıkarma
└── Tüm admin panel işlemleri
Örnek Log:
Table
Copy
gm_account
action_type
target
details
ip_address
created_at
1
BAN_ACCOUNT
12345
Sebep: Hile kullanımı
192.168.1.1
2024-01-15 10:30:00
1
ADD_ITEM
67890
Item: 11971 (Kılıç) x1
192.168.1.1
2024-01-15 11:15:22
B. ip_bans - IP Ban Sistemi
sql
Copy
NE İŞE YARAR?
├── IP adreslerini yasaklama
├── Geçici veya kalıcı ban
├── Ban sebebi ve tarih kaydı
└── Otomatik ban açma (süreli banlar için)
BAN TİPLERİ:
├── temporary → Süreli (1 saat - 30 gün)
└── permanent → Kalıcı (manuel açılır)
KULLANIM ALANLARI:
✓ Çoklu hesap (multi-account) banı
✓ DDoS/saldırı kaynağı engelleme
✓ Yasaklı bölge/ülke engelleme
✓ Hile/bot IP'lerini bloklama
4. ⚡ TRIGGER SİSTEMİ (Canlı Yakalama)
A. trg_player_gold_change - Yang Değişim Trigger'ı
sql
Copy
ÇALIŞMA MANTIĞI:
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Oyuncu yang │────→│ Trigger ateşle │────→│ Log tablosuna │
│ alır/verir │ │ (AFTER UPDATE) │ │ kaydet │
└─────────────────┘ └─────────────────┘ └─────────────────┘
YAKALANAN BİLGİLER:
├── Eski yang miktarı (old_gold)
├── Yeni yang miktarı (new_gold)
├── Fark (difference: + veya -)
├── IP adresi (account tablosundan)
├── Harita ve koordinat (X,Y)
└── Zaman damgası
Örnek Senaryolar:
plain
Copy
Senaryo 1: Normal Mob Kesme
├── +50.000 Yang (Mob drop)
├── Log: increase, 50000, map: 43
└── ✅ Normal aktivite
Senaryo 2: Şüpheli Transfer
├── +500.000.000 Yang (Bilinmeyen kaynak)
├── Log: increase, 500000000, map: 1 (Köy)
└── 🚨 ALARM: Anormal miktar!
B. trg_item_insert - Yeni Item Trigger'ı
sql
Copy
NE İŞE YARAR?
├── Oyuncuya yeni item eklendiğinde çalışır
├── Item kaynağını belirler (drop, GM verdi, vb.)
├── Envanter hareketlerini izler
└── Yasa dışı item tespiti
YAKALANAN BİLGİLER:
├── Item ID ve VNUM
├── Sahip (owner_id)
├── Kaynak pencere (INVENTORY, SAFEBOX, GROUND)
├── Adet ve konum
└── Harita bilgisi
C. trg_item_delete - Item Silme Trigger'ı
sql
Copy
NE İŞE YARAR?
├── Item silindiğinde çalışır (drop to ground)
├── Item kaybını loglar
├── Yanlışlıkla silme tespiti
└── Hileli item temizleme takibi
D. trg_player_login - Giriş/Çıkış Trigger'ı
sql
Copy
NE İŞE YARAR?
├── Oyuncu giriş yaptığında session başlatır
├── Çıkış yaptığında session kapatır
├── Oynama süresini hesaplar
└── Çoklu hesap tespiti (aynı IP, farklı account)
ÖZELLİKLER:
├── 5 dakika kuralı: 5dk'dan az ara = aynı session
├── IP adresi kaydı
├── Harita ve koordinat
├── Çıkış sebebi (normal, kick, ban, crash)
└── Toplam oynama süresi (saniye)
5. 📊 LOG TABLOLARI (Detaylı)
A. log_yang_changes - Detaylı Yang Logu
sql
Copy
KOLONLAR VE ANLAMLARI:
┌─────────────┬─────────────────────────────────────────┐
│ player_id │ Oyuncu ID │
│ player_name │ Oyuncu adı (JOIN yerine cache) │
│ old_gold │ Eski yang miktarı │
│ new_gold │ Yeni yang miktarı │
│ difference │ Fark (pozitif/negatif) │
│ change_type │ Otomatik: increase/decrease/unknown │
│ ip_address │ Oyuncunun IP adresi │
│ map_index │ Hangi haritada │
│ x, y │ Koordinatlar │
│ created_at │ Zaman damgası │
└─────────────┴─────────────────────────────────────────┘
INDEX'LER:
├── Hızlı oyuncu sorgusu (player_id)
├── Zaman aralığı sorgusu (created_at)
├── Tip filtresi (change_type)
└── Miktar sıralaması (difference)
B. log_item_moves - Item Hareket Logu
sql
Copy
KULLANIM ALANLARI:
├── Item ticareti takibi
├── Çalıntı item tespiti
├── Envanter yönetimi
└── Market/shop analizi
WINDOW TİPLERİ:
├── INVENTORY → Ana envanter (45 slot)
├── SAFEBOX → Depo (safebox)
├── GROUND → Yerden alma/bırakma
├── SHOP │ Offline shop veya NPC
├── TRADE → Oyuncu ticareti
└── UNKNOWN → Belirsiz kaynak
C. log_player_sessions - Oturum Logu
sql
Copy
HESAPLANAN METRİKLER:
├── Günlük aktif kullanıcı (DAU)
├── Aylık aktif kullanıcı (MAU)
├── Ortalama oynama süresi
├── Retention oranları (1g, 7g, 30g)
└── Pik saatler (en çok online olan saatler)
D. log_pvp_deaths - PvP/Ölüm Logu
sql
Copy
KULLANIM ALANLARI:
├── PvP istatistikleri
├── Intentional feeding tespiti
├── Level kasma/ düşürme tespiti
├── Harita dengesi (hangi harita ölümcül)
└── Klan/Guild savaş analizi
6. 🔧 PROSEDÜRLER (Hazır Sorgular)
A. sp_get_recent_yang_changes - Son Yang Değişimleri
sql
Copy
NE İŞE YARAR?
├── Son 5 dakikadaki tüm yang hareketlerini getirir
├── Admin panel "Canlı Monitör" için kullanılır
├── Otomatik yenileme ile anlık takip
└── Büyük miktarları öne çıkarır
KULLANIM:
CALL sp_get_recent_yang_changes();
B. sp_get_suspicious_yang - Şüpheli Yang Hareketleri
sql
Copy
NE İŞE YARAR?
├── 100M üzeri yang değişimlerini bulur
├── Son 24 saatlik zaman aralığı
├── Hile/yasa dışı ticaret tespiti
└── Otomatik alarm sistemi için
KULLANIM:
CALL sp_get_suspicious_yang();
C. sp_get_ip_yang_patterns - IP Bazlı Pattern Analizi
sql
Copy
NE İŞE YARAR?
├── Aynı IP'den çoklu işlem tespiti
├── 1 saatte 5+ işlem = şüpheli
├── Çoklu hesap + yang transferi = RMT şüphesi
└── Bot ağı tespiti
ÇIKTI KOLONLARI:
├── ip_address → Şüpheli IP
├── transaction_count → İşlem sayısı
├── unique_players → Kaç farklı oyuncu
└── total_volume → Toplam yang hacmi
7. 🎮 TÜM SİSTEMİN ÇALIŞMA AKIŞI
plain
Copy
┌─────────────────────────────────────────────────────────────┐
│ OYUNCU OYUNDA │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 1. HAREKET (X,Y değişimi) │
│ └──► player_movement_log'a kaydet │
│ │
│ 2. YANG DEĞİŞİMİ (mob kesme, trade, drop) │
│ └──► trg_player_gold_change ► log_yang_changes │
│ │
│ 3. ITEM ALMA (drop, trade, GM) │
│ └──► trg_item_insert ► log_item_moves │
│ │
│ 4. GİRİŞ/ÇIKIŞ │
│ └──► trg_player_login ► log_player_sessions │
│ │
│ 5. ZİNDAN │
│ └──► Manuel INSERT ► dungeon_log │
│ │
│ 6. SHOP SATIŞ │
│ └──► Manuel INSERT ► offline_shop_sale │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ ADMIN PANEL GÖRÜNÜMÜ │
├─────────────────────────────────────────────────────────────┤
│ 📡 Canlı Monitör → sp_get_recent_yang_changes │
│ 💰 Ekonomi → yang_transfer_log analizi │
│ 🎯 Oyuncu Takip → player_movement_log harita üzerinde │
│ 🎁 Etkinlikler → auto_events ile otomatik ödül │
│ 👑 GM Logları → gm_action_log denetim │
│ 🛡️ Güvenlik → ip_bans + şüpheli işlem alarmı │
│ 📊 İstatistikler → Tüm log tablolarının analizi │
└───────────────────────────────────
1. 🔐 Giriş ve Bağlantı Sistemi (index.php)
plain
Copy
Özellikler:
├── MySQL root kullanıcısı ile çoklu veritabanı erişimi
├── Host/Port/Kullanıcı/Şifre ile esnek bağlantı
├── Session tabanlı oturum yönetimi
├── Bağlantı testi ve hata raporlama
└── Güvenli giriş ekranı (modern dark tema)
2. 📊 Dashboard (dashboard.php)
Ana Kontrol Paneli:
Table
Copy
Bileşen
İşlev
Veritabanı İstatistikleri
Toplam DB sayısı, tablo sayısı, toplam boyut (MB)
Metin2 Özet
Toplam hesap, karakter, online oyuncu, guild sayısı
Hızlı Erişim
Tek tıkla hesaplar, karakterler, itemler, SQL sorgusu
Veritabanı Listesi
Tüm DB'lerin boyut ve tablo sayısı görünümü
Dinamik Sidebar
Metin2 tabloları algılandığında özel menüler açılır
3. 🗄️ Veritabanı Yöneticisi (database_manager.php)
Navicat'in Temel Özelliklerinin Tamamı:
A. Veritabanı İşlemleri
plain
Copy
├── Tüm veritabanlarını listeleme
├── DB boyut analizi (data + index ayrıntılı)
├── Tablo listesi (satır sayısı, boyut, oluşturma tarihi)
├── Tablo yapısı görüntüleme (kolonlar, tipler, indexler)
├── Tablo verilerini görüntüleme (sayfalama ile)
├── CRUD işlemleri (Create, Read, Update, Delete)
└── CSV Export/Import
B. SQL Editörü
plain
Copy
├── Renklendirilmiş syntax highlighting
├── Sorgu geçmişi otomatik kaydetme
├── Snippet kütüphanesi (hazır sorgular)
├── Çoklu sorgu desteği
├── Sonuç tablosu görünümü
└── Hata ayıklama ve raporlama
C. Gelişmiş Araçlar (?action=tools)
Table
Copy
Araç
Açıklama
Global Arama
Tüm DB'de metin arama
Global Replace
Toplu metin değiştirme (dry-run destekli)
Yedekleme
Seçili tabloları/tüm DB'yi SQL olarak yedekle
Sorgu Geçmişi
Çalıştırılan tüm SQL'lerin logu
SQL Snippets
Kaydedilmiş sorgu şablonları
Çöp Kutusu
Soft delete ile geri yükleme
D. Tablo Bakım Araçları
plain
Copy
├── OPTIMIZE TABLE - Tablo optimizasyonu
├── REPAIR TABLE - Tablo onarımı
├── ANALYZE TABLE - İndeks istatistikleri
├── CHECK TABLE - Bütünlük kontrolü
└── AUTO_INCREMENT düzeltme
E. ER Diyagram (?action=er_diagram)
Foreign key ilişkilerini görselleştirme
Tablo bağlantılarını otomatik çizme
F. Canlı Monitör (?action=monitor)
plain
Copy
├── Aktif MySQL bağlantı sayısı
├── Thread durumları (connected/running)
├── Process list (çalışan sorgular)
├── Yavaş sorgu tespiti
└── Bağlantı havuzu izleme
G. Güvenlik & Anti-Cheat (?action=security)
Table
Copy
Özellik
Detay
Anomali Tespiti
Büyük tablolar, inactive hesaplar, orphan kayıtlar
Anti-Cheat Taraması
Çoklu hesap, imkansız item, şüpheli yang
Anlık Uyarılar
Otomatik tespit edilen riskli işlemler
4. 👤 Hesap Yönetimi (accounts.php)
plain
Copy
Özellikler:
├── Tüm hesapları listeleme (arama, sayfalama)
├── Hesap detayı görüntüleme
├── Ban/Unban işlemleri (status 0/1)
├── Email ve kayıt tarihi bilgisi
├── Son giriş ve IP adresi takibi
└── Hesaba bağlı karakterleri görme
40250 Uyumlu: Status TINYINT (0=ban, 1=active)
5. ⚔️ Karakter Yönetimi (players.php)
plain
Copy
Özellikler:
├── Karakter listesi (level, job, yang, son giriş)
├── Detaylı karakter bilgisi:
│ ├── Temel bilgiler (ID, isim, hesap, level, exp)
│ ├── Job bilgisi (Warrior, Ninja, Sura, Shaman)
│ ├── Yang miktarı (0-2B arası validasyon)
│ ├── Oynama süresi (saat cinsinden)
│ ├── Son giriş ve IP
│ └── Konum bilgisi (X, Y, harita)
├── Hızlı düzenleme:
│ ├── Yang güncelleme (güvenli limit kontrolü)
│ ├── Level/EXP güncelleme (1-250 arası)
│ └── Otomatik validasyon
├── Envanter görüntüleme (son 20 item)
└── Oyuncu arama ve filtreleme
6. 🎒 Envanter & Depo Yöneticisi (inventory_manager.php)
plain
Copy
Modüller:
├── Item Arama (sunucu genelinde)
│ ├── Item adı veya VNUM ile arama
│ ├── Sahip bilgisi ve konum
│ ├── Efsun (socket) göstergeleri
│ └── Hızla envantere gitme
├── Oyuncu Envanteri
│ ├── 90 slot görsel envanter grid
│ ├── Slot numaraları ve boş/dolu durumu
│ ├── Item detay modalı (vnum, adet, socketler)
│ └── Hover efektleri
├── Depo (Safebox) Görüntüleme
│ ├── Account bazlı depo erişimi
│ ├── Item listesi tablo görünümü
│ └── Miktar ve pozisyon bilgisi
└── Değerli Itemler
├── Efsunlu itemleri otomatik tespit
├── Son eklenen nadir itemler
└── Sahip bilgisi ile listeleme
7. 🎯 Canlı Oyuncu Takip (player_tracker.php)
Gerçek Zamanlı İzleme Sistemi:
plain
Copy
Özellikler:
├── Canlı Harita Görünümü
│ ├── Grid tabanlı harita arayüzü
│ ├── Oyuncuları renkli noktalar olarak gösterme
│ ├── Mesleklere göre renk kodları:
│ │ 🔴 Warrior (Savaşçı)
│ │ 🟢 Ninja
│ │ 🟣 Sura
│ │ 🔵 Shaman
│ ├── Koordinat bazlı konumlandırma (X,Y)
│ ├── Tooltip ile detay bilgi (isim, level, HP)
│ └── Harita göstergesi (legend)
├── Liste Görünümü
│ ├── Tüm online oyuncular
│ ├── Detaylı bilgi kartları
│ ├── Level, job, HP, harita, IP, oynama süresi
│ ├── Durum badge'leri (Online/PvP/Zindan)
│ └── Hızlı işlem butonları
├── Hareket Geçmişi
│ ├── Oyuncunun konum değişimleri
│ ├── Eski/Yeni koordinat takibi
│ ├── Harita ve zaman bilgisi
│ └── Eylem tipi (hareket, savaş, vs.)
├── Zindan Geçmişi
│ ├── Giriş/çıkış zamanları
│ ├── Kalınan süre
│ └── Tamamlanma durumu
└── Parti Bilgisi
├── Parti üyeleri
└── Lider bilgisi
Harita Desteği: 40+ harita (Köyler, ormanlar, zindanlar, PvP alanı)
8. 💰 Ekonomi Monitörü (economy_monitor.php)
plain
Copy
Modüller:
├── Genel Ekonomi İstatistikleri
│ ├── Toplam yang (tüm sunucu)
│ ├── Dolaşımdaki yang (son 7 gün aktif)
│ ├── Oyuncu başına ortalama yang
│ └── Risk skoru (şüpheli işlem sayısı)
├── En Zengin Oyuncular
│ ├── Top 10 liste
│ ├── Level ve son giriş bilgisi
│ └── Online/offline durumu
├── Yang Transferleri
│ ├── Gönderen/Alan bilgisi
│ ├── Transfer miktarı ve sebep
│ ├── Zaman damgası
│ └── Şüpheli transfer vurgulama (>10M)
├── Offline Shop Satışları
│ ├── Satıcı ve alıcı bilgisi
│ ├── Item adı ve VNUM
│ ├── Satış fiyatı ve tarihi
│ └── Market aktivitesi takibi
├── Şüpheli İşlemler
│ ├── Büyük transferler (>100M)
│ ├── Aynı IP'den çoklu transfer
│ ├── Negatif/Max aşımı yang
│ └── Riskli IP adresleri
└── Enflasyon Analizi
├── Günlük yang üretimi grafiği
├── 7 günlük trend analizi
└── Ekonomik sağlık göstergeleri
Zaman Filtreleri: 1 saat, 24 saat, 7 gün, 30 gün
9. 🎁 Otomatik Etkinlik Sistemi (event_manager.php)
plain
Copy
Özellikler:
├── Etkinlik Oluşturma
│ ├── İsim ve tip seçimi (yang/item/exp/level)
│ ├── Hedef kitle belirleme:
│ │ ├── Tüm oyuncular
│ │ ├── Sadece online
│ │ ├── Level aralığı (örn: 1-50)
│ │ └── Belirli oyuncu
│ ├── Ödül yapılandırması:
│ │ ├── Yang miktarı
│ │ ├── Item (VNUM seçimi)
│ │ ├── Item adedi
│ │ └── EXP miktarı
│ ├── Zamanlama (başlangıç/bitiş)
│ └── Otomatik tablo oluşturma
├── Etkinlik Yönetimi
│ ├── Aktif/Pasif durum
│ ├── Manuel çalıştırma
│ ├── Etkinlik silme
│ └── Ödül dağıtım logu
├── Etkinlik Listesi
│ ├── Durum badge'leri (Aktif/Süresi Doldu/Pasif)
│ ├── Ödül özetleri
│ └── Son çalıştırma tarihi
└── Item Seçimi
└── Dropdown'dan item_proto listesi
10. 👑 GM (Game Master) Yönetimi (gm_manager.php)
plain
Copy
Özellikler:
├── GM Listesi
│ ├── Tüm yetkili kullanıcılar
│ ├── Yetki seviyelerine göre renklendirme:
│ │ 🔴 IMPLEMENTOR (Tam yetki)
│ │ 🟣 HIGH_WIZARD (Yüksek yetki)
│ │ 🔵 GOD (Orta yetki)
│ │ 🟢 LOW_WIZARD (Sınırlı yetki)
│ │ ⚪ PLAYER (Sadece izleme)
│ ├── Hesap ve karakter bilgisi
│ ├── Son giriş takibi
│ └── Hızla yetki değiştirme
├── Yeni GM Ekleme
│ ├── Hesap login ile arama
│ ├── GM karakter adı
│ └── Yetki seviyesi seçimi
├── Yetki Matrisi
│ ├── Her seviyenin yetki detayı
│ ├── İzin listesi görünümü
│ └── Karşılaştırma tablosu
└── İşlem Logları
├── GM eylem kayıtları
├── Tarih, hedef ve detay bilgisi
└── IP adresi takibi
Tablo: common.gmlist (standart 40250 yapısı)
11. 🛡️ Güvenlik Duvarı (security_firewall.php)
plain
Copy
Modüller:
├── Güvenlik Dashboard
│ ├── Tehdit seviyesi göstergesi (Düşük/Orta/Yüksek)
│ ├── Aktif ban sayısı
│ ├── Bugünkü banlar
│ └── Şüpheli IP sayısı
├── IP Ban Yönetimi
│ ├── IP adresi yasaklama
│ ├── Geçici veya kalıcı ban
│ ├── Süre seçimi (1 saat - 30 gün)
│ ├── Ban sebebi kaydı
│ └── Ban kaldırma
├── Ban Listesi
│ ├── Tüm yasaklı IP'ler
│ ├── Aktif/Pasif durum
│ ├── Ban tarihi ve bitiş
│ ├── Banlayan admin bilgisi
│ └── Hızlı kaldırma butonu
├── Şüpheli IP Tespiti
│ ├── Çoklu hesap tespiti (5+ hesap)
│ ├── IP başına hesap sayısı
│ └── Hızlı ban butonu
└── Bölgesel Dağılım
├── Ülke/bölge istatistikleri
├── Pasta grafik görünümü
└── IP range analizi
12. 📡 Canlı İşlem Monitörü (live_monitor.php)
MySQL Trigger Entegrasyonu:
plain
Copy
Özellikler:
├── Otomatik Yenileme (10 saniyede bir)
│ ├── Toggle ile açıp kapatma
│ ├── Canlı gösterge (yeşil nokta)
│ └── Son güncelleme zamanı
├── Yang Hareketleri
│ ├── Trigger'dan gelen loglar
│ ├── Oyuncu adı ve level
│ ├── IP adresi ve harita
│ ├── Değişim miktarı (+/-)
│ └── Şüpheli işlem vurgulama (>500M)
├── Item Hareketleri
│ ├── Alım/satım/drop işlemleri
│ ├── Item adı ve VNUM
│ ├── Eylem tipi ve hedef
│ └── Zaman damgası
├── Şüpheli İşlem Uyarıları
│ ├── Otomatik tespit
│ ├── Animasyonlu uyarı kutusu
│ └── Detaylı liste
└── İstatistik Kartları
├── Son 10dk yang işlemi
├── Son 10dk item hareketi
└── Toplam şüpheli işlem
13. 🛒 Market/Pazar Yöneticisi (market_manager.php)
plain
Copy
Modüller:
├── Fiyat Analizi
│ ├── Item bazlı fiyat geçmişi
│ ├── Ortalama, min, max fiyat
│ ├── Toplam satış sayısı
│ └── Fiyat trend göstergesi (↑↓)
├── En Çok Satan Itemler
│ ├── Satış sayısına göre sıralama
│ ├── Ortalama fiyat bilgisi
│ ├── Fiyat aralığı (min-max)
│ └── Trend yüzdesi
├── Item Detay Sayfası
│ ├── Fiyat istatistikleri (4 kart)
│ ├── Son satışlar tablosu
│ └── Tarihsel fiyat değişimi
├── Fiyat Trendleri
│ ├── 7 günlük değişim analizi
│ ├── Yükselen/düşen itemler
│ └── Yüzdelik değişimler
└── Nadir Itemler
├── Az satılan değerli itemler
└── Piyasa analizi
14. 📊 İstatistik & Raporlama (statistics.php)
Gelişmiş Analiz ve Grafikler:
plain
Copy
Özellikler:
├── Oyuncu Tutundurma (Retention)
│ ├── 1 günlük retention (%)
│ ├── 7 günlük retention (%)
│ ├── 30 günlük retention (%)
│ ├── Kayıt sayısı ve dönen oyuncu
│ └── Detaylı kart görünümü
├── Günlük Online Grafiği
│ ├── Çift eksenli grafik:
│ │ ├── Online oyuncu sayısı (mor)
│ │ └── Ortalama level (yeşil)
│ ├── Tarih seçimi (7/30/90 gün)
│ └── Chart.js entegrasyonu
├── Saatlik Online Dağılımı
│ ├── 24 saatlik bar grafik
│ ├── Pik saat tespiti
│ └── Zamanlı yoğunluk analizi
├── Meslek Dağılımı
│ ├── Pasta grafik görünümü
│ ├── Yüzde ve oyuncu sayısı
│ ├── Ortalama level (meslek bazlı)
│ └── Renkli segmentler
├── Popüler Haritalar
│ ├── Progress bar görünümü
│ ├── Oyuncu yoğunluğu
│ └── Ortalama level (harita bazlı)
└── Günlük Yeni Kayıt
├── Bar grafik görünümü
├── Kayıt trendi
└── Tarih aralığı filtresi
15. 👹 Mob Yönetimi (mobs.php)
plain
Copy
Özellikler:
├── Mob Kartları Grid
│ ├── İsim ve VNUM
│ ├── Level ve HP/SP
│ ├── Saldırı gücü (min-max)
│ ├── Savunma ve hız
│ ├── Verdiği EXP ve yang
│ └── Hover animasyonları
├── Arama ve Filtreleme
│ ├── Mob adı ile arama
│ ├── VNUM ile arama
│ └── Sonuç limiti (50 varsayılan)
└── Hızlı Bilgi
└── Tüm temel istatistikler kart üzerinde
16. ✨ Skill Yönetimi (skills.php)
plain
Copy
Özellikler:
├── Skill Protolari
│ ├── VNUM ve isim
│ ├── Meslek bazlı filtreleme
│ ├── Max level ve gereken level
│ ├── SP maliyet formülü
│ └── Passive/Active/Toggle tipi
├── Job Filtreleme
│ ├── Warrior, Ninja, Sura, Şaman, Lycan
│ ├── Buton ile hızlı filtre
│ └── Tümü görünümü
├── Arama
│ ├── Skill adı ile arama
│ └── VNUM ile arama
└── Oyuncu Skill'leri
├── Belirli oyuncunun skill'leri
├── Skill group ve level
├── Affect type ve value
└── Duration bilgisi
🔧 Yardımcı Fonksiyonlar (functions.php)
Metin2Functions Sınıfı:
Table
Copy
Kategori
Metodlar
Hesap
getAllAccounts, getAccountById, banAccount, unbanAccount
Oyuncu
getAllPlayers, getPlayerById, updatePlayerGold, updatePlayerLevel
Item
getItemProto, getPlayerItems, addItemToPlayer
Mob
getMobProto
Guild
getAllGuilds, getGuildMembers
GM
getGMList, addGM, updateGMAuthority, removeGM
İstatistik
getDashboardStats, getEconomyStats, getPlayerMovementHistory
Veritabanı
backupDatabase, restoreDatabase, globalSearch, globalReplace
Bakım
optimizeTable, repairTable, analyzeTable, checkTable
Güvenlik
detectAnomalies, antiCheatScan, softDelete, restoreFromTrash
Araçlar
exportToCSV, importFromCSV, getERDiagram, saveSnippet
ŞİMDİ BAZI ARKADAŞLAR DER BU CANLI TİCARET VS HARİTA VS KAYITLARINI NASIL KAYDECEK ATTIĞIM SQL DE PLAYER VERİTABANINA SQL LERİ OKUTACAKSIN DİĞER YANG DEĞİŞİMİ VS DİĞER ANLIK GELİŞMELERİ Trigger mantığı kısacası Sistemi entegreli olacak üzümü yiyin bağını sormayın.
SQL TARAFI
Sistem Genel Bakış
plain
Copy
┌─────────────────────────────────────────────────────────┐
│ METIN2 GELİŞMİŞ İZLEME SİSTEMİ │
├─────────────────────────────────────────────────────────┤
│ 1. Oyuncu Hareket Takibi → Konum ve harita logları │
│ 2. Ekonomi Monitörü → Yang akışı takibi │
│ 3. Market Analizi → Offline shop satışları │
│ 4. Zindan Yönetimi → Giriş/çıkış kontrolü │
│ 5. Otomatik Etkinlikler → Yang/item/exp dağıtımı │
│ 6. GM Güvenlik Sistemi → Yetki ve IP yönetimi │
│ 7. Canlı Trigger Sistemi → Anlık veri yakalama │
│ 8. Raporlama Prosedürleri → Hazır SQL sorguları │
└─────────────────────────────────────────────────────────┘
1. 🎯 OYUNCU TAKİP SİSTEMİ TABLOLARI
A. player_movement_log - Oyuncu Hareket Logu
sql
Copy
NE İŞE YARAR?
├── Oyuncuların haritadaki her hareketini kaydeder
├── Koordinat değişimlerini (X,Y) takip eder
├── Harita değişimlerini (warp) loglar
├── Ölüm, binek kullanımı gibi olayları yakalar
└── Hileci teleport tespiti için kullanılır
KULLANIM ALANLARI:
✓ Bot/hile tespiti (imkansız hızda hareket)
✓ Oyuncu yoğunluk analizi (hangi haritalar popüler)
✓ Stuck/bug report doğrulama
✓ PvP alanı aktivite takibi
Örnek Veri:
Table
Copy
player_id
old_x
old_y
new_x
new_y
map_index
action_type
created_at
12345
100
200
5000
6000
43
warp
2024-01-15 14:30:22
12345
5000
6000
5100
6100
43
move
2024-01-15 14:30:25
🚨 Şüpheli: 2 saniyede 100 birim hareket = teleport hilesi şüphesi!
B. yang_transfer_log - Yang Transfer Logu
sql
Copy
NE İŞE YARAR?
├── Tüm yang transferlerini kaydeder (trade, drop, shop)
├── Gönderen ve alan oyuncu bilgisi
├── Transfer miktarı ve sebep
├── IP adresi takibi (çoklu hesap tespiti)
└── Şüpheli ekonomik aktivite yakalama
KULLANIM ALANLARI:
✓ Real money trade (RMT) tespiti
✓ Yang satıcısı hesaplarını bulma
✓ Çalıntı yang takibi
✓ Ekonomi balans analizi
Örnek Senaryo:
plain
Copy
Oyuncu A → Oyuncu B: 500.000.000 Yang (Sebep: "Borç")
Oyuncu B → Oyuncu C: 500.000.000 Yang (Sebep: "Hediye")
Oyuncu C → Oyuncu D: 500.000.000 Yang (Sebep: "Ticaret")
🚨 TESPİT: Zincirleme transfer = Yang satışı şüphesi!
C. offline_shop_sale - Offline Shop Satış Logu
sql
Copy
NE İŞE YARAR?
├── Offline shop satışlarını kaydeder
├── Satıcı ve alıcı bilgisi
├── Item VNUM ve satış fiyatı
├── Piyasa fiyat analizi için kullanılır
└── Enflasyon/ekonomi takibi
KULLANIM ALANLARI:
✓ Item fiyat geçmişi (trend analizi)
✓ En çok satan itemler
✓ Piyasa manipülasyonu tespiti
✓ Oyuncu ticaret aktivitesi
D. dungeon_log - Zindan Logu
sql
Copy
NE İŞE YARAR?
├── Zindan giriş/çıkışlarını kaydeder
├── Kalınan süreyi hesaplar
├── Zindan tamamlama oranları
└── Boost/yardım hizmeti tespiti
KULLANIM ALANLARI:
✓ Nemere/Razador/Beran-Setaou takibi
✓ "Boost hizmeti" satanları tespit (çok hızlı çıkış)
✓ Zindan zorluk ayarı için istatistik
✓ Oyuncu ilerleme takibi
2. 🎁 ETKİNLİK SİSTEMİ (auto_events)
sql
Copy
NE İŞE YARAR?
├── Otomatik etkinlik oluşturma ve yönetme
├── Belirli kriterlere göre ödül dağıtımı
├── Zamanlanmış görevler
└── Toplu ödül operasyonları
ETKİNLİK TİPLERİ:
┌─────────────┬────────────────────────────────────────┐
│ yang │ Belirli oyunculara yang gönderme │
│ item │ Item ödülü (VNUM + adet) │
│ exp │ Deneyim puanı verme │
│ level │ Level atlama (doğrudan level ayarlama) │
└─────────────┴────────────────────────────────────────┘
HEDEF KİTLE SEÇENEKLERİ:
├── all → Tüm oyuncular
├── online → Şu an online olanlar
├── level_range → Belirli level aralığı (örn: 30-50)
└── specific → Belirli bir oyuncu (ID ile)
Örnek Kullanım:
plain
Copy
Etkinlik: "Haftasonu Yang Yağmuru"
├── Tip: yang
├── Hedef: online (şu an oyunda olanlar)
├── Ödül: 1.000.000 Yang
├── Zaman: Cumartesi 20:00 - 22:00
└── Sonuç: Otomatik olarak 150 oyuncuya 1M yang
3. 👑 GM GÜVENLİK SİSTEMİ
A. gm_action_log - GM İşlem Logu
sql
Copy
NE İŞE YARAR?
├── Tüm GM eylemlerini kaydeder
├── Yetki kötüye kullanımını önler
├── Hesap verebilirlik sağlar
└── Hukuki/sorumsuzluk koruması
LOGLANAN EYLEMLER:
├── Hesap ban/unban
├── Item/yang verme
├── Level değiştirme
├── GM ekleme/çıkarma
└── Tüm admin panel işlemleri
Örnek Log:
Table
Copy
gm_account
action_type
target
details
ip_address
created_at
1
BAN_ACCOUNT
12345
Sebep: Hile kullanımı
192.168.1.1
2024-01-15 10:30:00
1
ADD_ITEM
67890
Item: 11971 (Kılıç) x1
192.168.1.1
2024-01-15 11:15:22
B. ip_bans - IP Ban Sistemi
sql
Copy
NE İŞE YARAR?
├── IP adreslerini yasaklama
├── Geçici veya kalıcı ban
├── Ban sebebi ve tarih kaydı
└── Otomatik ban açma (süreli banlar için)
BAN TİPLERİ:
├── temporary → Süreli (1 saat - 30 gün)
└── permanent → Kalıcı (manuel açılır)
KULLANIM ALANLARI:
✓ Çoklu hesap (multi-account) banı
✓ DDoS/saldırı kaynağı engelleme
✓ Yasaklı bölge/ülke engelleme
✓ Hile/bot IP'lerini bloklama
4. ⚡ TRIGGER SİSTEMİ (Canlı Yakalama)
A. trg_player_gold_change - Yang Değişim Trigger'ı
sql
Copy
ÇALIŞMA MANTIĞI:
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Oyuncu yang │────→│ Trigger ateşle │────→│ Log tablosuna │
│ alır/verir │ │ (AFTER UPDATE) │ │ kaydet │
└─────────────────┘ └─────────────────┘ └─────────────────┘
YAKALANAN BİLGİLER:
├── Eski yang miktarı (old_gold)
├── Yeni yang miktarı (new_gold)
├── Fark (difference: + veya -)
├── IP adresi (account tablosundan)
├── Harita ve koordinat (X,Y)
└── Zaman damgası
Örnek Senaryolar:
plain
Copy
Senaryo 1: Normal Mob Kesme
├── +50.000 Yang (Mob drop)
├── Log: increase, 50000, map: 43
└── ✅ Normal aktivite
Senaryo 2: Şüpheli Transfer
├── +500.000.000 Yang (Bilinmeyen kaynak)
├── Log: increase, 500000000, map: 1 (Köy)
└── 🚨 ALARM: Anormal miktar!
B. trg_item_insert - Yeni Item Trigger'ı
sql
Copy
NE İŞE YARAR?
├── Oyuncuya yeni item eklendiğinde çalışır
├── Item kaynağını belirler (drop, GM verdi, vb.)
├── Envanter hareketlerini izler
└── Yasa dışı item tespiti
YAKALANAN BİLGİLER:
├── Item ID ve VNUM
├── Sahip (owner_id)
├── Kaynak pencere (INVENTORY, SAFEBOX, GROUND)
├── Adet ve konum
└── Harita bilgisi
C. trg_item_delete - Item Silme Trigger'ı
sql
Copy
NE İŞE YARAR?
├── Item silindiğinde çalışır (drop to ground)
├── Item kaybını loglar
├── Yanlışlıkla silme tespiti
└── Hileli item temizleme takibi
D. trg_player_login - Giriş/Çıkış Trigger'ı
sql
Copy
NE İŞE YARAR?
├── Oyuncu giriş yaptığında session başlatır
├── Çıkış yaptığında session kapatır
├── Oynama süresini hesaplar
└── Çoklu hesap tespiti (aynı IP, farklı account)
ÖZELLİKLER:
├── 5 dakika kuralı: 5dk'dan az ara = aynı session
├── IP adresi kaydı
├── Harita ve koordinat
├── Çıkış sebebi (normal, kick, ban, crash)
└── Toplam oynama süresi (saniye)
5. 📊 LOG TABLOLARI (Detaylı)
A. log_yang_changes - Detaylı Yang Logu
sql
Copy
KOLONLAR VE ANLAMLARI:
┌─────────────┬─────────────────────────────────────────┐
│ player_id │ Oyuncu ID │
│ player_name │ Oyuncu adı (JOIN yerine cache) │
│ old_gold │ Eski yang miktarı │
│ new_gold │ Yeni yang miktarı │
│ difference │ Fark (pozitif/negatif) │
│ change_type │ Otomatik: increase/decrease/unknown │
│ ip_address │ Oyuncunun IP adresi │
│ map_index │ Hangi haritada │
│ x, y │ Koordinatlar │
│ created_at │ Zaman damgası │
└─────────────┴─────────────────────────────────────────┘
INDEX'LER:
├── Hızlı oyuncu sorgusu (player_id)
├── Zaman aralığı sorgusu (created_at)
├── Tip filtresi (change_type)
└── Miktar sıralaması (difference)
B. log_item_moves - Item Hareket Logu
sql
Copy
KULLANIM ALANLARI:
├── Item ticareti takibi
├── Çalıntı item tespiti
├── Envanter yönetimi
└── Market/shop analizi
WINDOW TİPLERİ:
├── INVENTORY → Ana envanter (45 slot)
├── SAFEBOX → Depo (safebox)
├── GROUND → Yerden alma/bırakma
├── SHOP │ Offline shop veya NPC
├── TRADE → Oyuncu ticareti
└── UNKNOWN → Belirsiz kaynak
C. log_player_sessions - Oturum Logu
sql
Copy
HESAPLANAN METRİKLER:
├── Günlük aktif kullanıcı (DAU)
├── Aylık aktif kullanıcı (MAU)
├── Ortalama oynama süresi
├── Retention oranları (1g, 7g, 30g)
└── Pik saatler (en çok online olan saatler)
D. log_pvp_deaths - PvP/Ölüm Logu
sql
Copy
KULLANIM ALANLARI:
├── PvP istatistikleri
├── Intentional feeding tespiti
├── Level kasma/ düşürme tespiti
├── Harita dengesi (hangi harita ölümcül)
└── Klan/Guild savaş analizi
6. 🔧 PROSEDÜRLER (Hazır Sorgular)
A. sp_get_recent_yang_changes - Son Yang Değişimleri
sql
Copy
NE İŞE YARAR?
├── Son 5 dakikadaki tüm yang hareketlerini getirir
├── Admin panel "Canlı Monitör" için kullanılır
├── Otomatik yenileme ile anlık takip
└── Büyük miktarları öne çıkarır
KULLANIM:
CALL sp_get_recent_yang_changes();
B. sp_get_suspicious_yang - Şüpheli Yang Hareketleri
sql
Copy
NE İŞE YARAR?
├── 100M üzeri yang değişimlerini bulur
├── Son 24 saatlik zaman aralığı
├── Hile/yasa dışı ticaret tespiti
└── Otomatik alarm sistemi için
KULLANIM:
CALL sp_get_suspicious_yang();
C. sp_get_ip_yang_patterns - IP Bazlı Pattern Analizi
sql
Copy
NE İŞE YARAR?
├── Aynı IP'den çoklu işlem tespiti
├── 1 saatte 5+ işlem = şüpheli
├── Çoklu hesap + yang transferi = RMT şüphesi
└── Bot ağı tespiti
ÇIKTI KOLONLARI:
├── ip_address → Şüpheli IP
├── transaction_count → İşlem sayısı
├── unique_players → Kaç farklı oyuncu
└── total_volume → Toplam yang hacmi
7. 🎮 TÜM SİSTEMİN ÇALIŞMA AKIŞI
plain
Copy
┌─────────────────────────────────────────────────────────────┐
│ OYUNCU OYUNDA │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 1. HAREKET (X,Y değişimi) │
│ └──► player_movement_log'a kaydet │
│ │
│ 2. YANG DEĞİŞİMİ (mob kesme, trade, drop) │
│ └──► trg_player_gold_change ► log_yang_changes │
│ │
│ 3. ITEM ALMA (drop, trade, GM) │
│ └──► trg_item_insert ► log_item_moves │
│ │
│ 4. GİRİŞ/ÇIKIŞ │
│ └──► trg_player_login ► log_player_sessions │
│ │
│ 5. ZİNDAN │
│ └──► Manuel INSERT ► dungeon_log │
│ │
│ 6. SHOP SATIŞ │
│ └──► Manuel INSERT ► offline_shop_sale │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ ADMIN PANEL GÖRÜNÜMÜ │
├─────────────────────────────────────────────────────────────┤
│ 📡 Canlı Monitör → sp_get_recent_yang_changes │
│ 💰 Ekonomi → yang_transfer_log analizi │
│ 🎯 Oyuncu Takip → player_movement_log harita üzerinde │
│ 🎁 Etkinlikler → auto_events ile otomatik ödül │
│ 👑 GM Logları → gm_action_log denetim │
│ 🛡️ Güvenlik → ip_bans + şüpheli işlem alarmı │
│ 📊 İstatistikler → Tüm log tablolarının analizi │
└───────────────────────────────────
Benzer Projeler