- Moderatör
- #1
- Kayıtlı
- 1 Yıl 9 Ay 14 Gün
- Katılım
- 10 Ocak 2025
- Konular
- 50
- Mesajlar
- 140
- Tepkime puanı
- 21
- Online süresi
- 7h 23m
- Puan
- 43
- Konum
- Türkiye
- Web sitesi
- www.zyncra.shop
Konu İçeriği — Hızlı Bakış
01. Önce karakteri ve hesabı bul
02. Sunucu açıkken: item_award
03. Yang verme
04. Metin2 ban atma ve kaldırma
05. Seviye yükseltme
06. GM yetkisi
- Önce karakteri ve hesabı bul
- MySQL ile eşya verme
Sunucu açıkken: item_award- Sunucu kapalıyken: efsunlu eşyayı envantere yazmak
Metin2'de eşya vermek, ban atmak, seviye yükseltmek ya da GM eklemek MySQL'de tek satırlık sorgulardır; sonucu belirleyen, hangi tabloya ve ne zaman yazıldığıdır.
[01] Önce karakteri ve hesabı bul
Sorguların çoğu karakter numarasını (player.id) ya da hesap adını (account.login) ister:
SQL:SELECT id, account_id, name, level, map_index FROM player.player WHERE name = 'KarakterAdi'; SELECT p.id, p.name, p.level FROM player.player AS p JOIN account.account AS a ON a.id = p.account_id WHERE a.login = 'hesapadi';
Oyununmt2kullanıcısı beş veritabanının hepsinde okuma ve yazma yetkisine sahip olduğu için veritabanları arası JOIN bu kullanıcıyla da çalışır.
Sunucu açıkken: item_award
item_award'a eklenen satırı db 5 saniyede bir okur; bu yenilemeyiENABLE_ITEMAWARD_REFRESHtanımı açar, tanım kapalıysa yeni satırlar db'ye ulaşmaz. Eşya, oyuncu depoyu (mall0) ya da Nesne Marketi Deposu'nu (mall1) açtığında ilk boş kutuya yerleşir; db satırıntaken_timeveitem_idsütunlarını doldurur.
SQL:INSERT INTO player.item_award (login, vnum, count, given_time, why, mall, socket0) VALUES ('hesapadi', 50300, 1, NOW(), 'destek', 0, 4);
[02] Yang verme
LEASTYang'ın oyunun sınırını aşmasını engeller; 2.000.000.000'a ulaşan bir karakter artık Yang kazanamaz. Oyuncu oyundaysa SQL yerine IMPLEMENTOR yetkili bir GM, oyuncuyla aynı çekirdekteyken/set KarakterAdi gold 1000000yazar; komut değeri eskisinin üstüne ekler, eksi değer düşer.
[03] Metin2 ban atma ve kaldırma
Ban hesaba işler ve girişte denetlenir; oyundaki oyuncuyu düşürmek için aynı çekirdekteki bir GM/dc KarakterAdiyazar. Birden çok tabloyu birleştiren UPDATE'te MySQLLIMITkabul etmez, bu yüzden üçüncü sorgudan önce aynı JOIN ile SELECT çalıştırıp tek satır döndüğünü görmek gerekir.
[04] Seviye yükseltme
Sağlıklı yol oyuncu oyundayken tecrübe vermektir: IMPLEMENTOR yetkili bir GM, oyuncuyla aynı çekirdekteyken/set KarakterAdi exp 50000000yazar. Oyun seviye atlamalarını kendisi yapar; statü ve beceri puanları ile rastgele HP artışı her seviyede normal yoldan gelir, seviye CONFIG'deki MAX_LEVEL'ı geçmez.
[05] GM yetkisi
Değişiklik sunucu yeniden başlatılınca ya da IMPLEMENTOR bir GM oyunda/reload ayazınca geçerli olur.
[06] Sıkışan karakteri köye almak
Karakterin krallığıplayer_index.empiresütunundadır (1 Shinsoo, 2 Chunjo, 3 Jinno).
[07] Uygunsuz karakter adını değiştirtmek
Oyuncu bu karakterle girmeden önce karakter seçim ekranında yeni bir ad seçmek zorunda kalır. Oyun yeni adı kendi kurallarıyla ve başka bir karakterde kullanılıp kullanılmadığına bakarak denetler; adı doğrudannamesütununa yazmak bu denetimleri atlar.
[08] Depo şifresini sıfırlamak
Depo şifresi her depo açılışında MySQL'den okunduğu için bu işlem sunucu açıkken de yapılabilir.
[09] İşlemden sonra
Aynı SELECT'i yeniden çalıştırıp sonucu gör. SQL ile yapılan değişiklikler oyunun günlüklerine düşmez; kimin, ne zaman, hangi sebeple eşya ya da ban aldığını kendi kaydında tut.
[10] İlgili sayfalar- Metin2 GM Komutları: En Çok Kullanılan Komutlar ve Yetki Seviyeleri (Server kurma)
- Metin2 GM Nasıl Yapılır? gmlist Tablosu ve GM Yetki Seviyeleri (Server kurma)
- Metin2 account Tablosu: Hesap Durumu, Ban ve Diğer Alanlar (Server kurma)
Sıkça Sorulan Sorular (SSS)
Soru 1: Metin2 MySQL ile Sık Yapılan İşlemler: Eşya Verme, Ban, Seviye, GM rehberindeki ayarlar tüm sunucu yapılarında geçerli mi?
Evet, rehberde paylaşılan temel mekanikler hem emek (zor) hem de orta/vs'lik sunucu kurgularında doğrudan uygulanabilir; sunucu oranlarına göre küçük ince ayarlar yapılabilir.
Soru 2: En yüksek verim için hangi sıralama takip edilmeli?
Öncelikle karakter/sistem temel gereksinimlerini tamamlayıp ardından konu içerisindeki adım adım dizilim ve optimizasyon tavsiyelerini sırasıyla uygulamanız en yüksek performansı sağlar.
Son düzenleme:

