DB içinde ki dosyalar ve açıklamaları Metin2 Source Dosyası

ProAdmin

Administrator
Yönetici
Katılım
29 Haz 2020
Mesajlar
1,009
Tepkime puanı
34
Puanları
48
Metin2 pvp de source da bulunan DB içindeki dosyalar ne işe yarar bundan bahsedeceğiz. Bu dosyalar ile bazı ayarlar ve verilerin çekildiğini belirtmek isterim. İşlem yaparken kesinlikle yedek alın ve hata yapmamaya çalışın.

  • AuictionManager.cpp/h: Yapılan görevler ve işlemler yönetimi.
  • BlockCountry.cpp/h : Ülkelere göre engelleme. (Veritabanında belirtilen ip aralıklarına sahip olan yerlerden oyuna girişi yasaklar.)
  • Cache.cpp/h : Önbellekleri bulundurur. Oyunda yerden item aldığınızda veya sattığınızda bunlar anlık olarak veritabanına yazılmaz. Hafıza da tutulur ve belli süre aralıklarla kayıt yapılır. Bu yüzden oyunu reboot attığınızda item kaybı varsa oyunu kapatırken yanlış işlem yaptığınız içindir.
  • ClientManager.h: Bu header birden fazla cpp dosyası içindir. Bunlar sırayla;
    • ClientManager.cpp : Burayı db çekirdeğinin kalbi diyebiliriz. game'den gelen verileri burada işler.
    • ClientManagerBoot.cpp : Oyun açılırken veritabanında ki verileri çeker. (npcler de satılan eşyalar, protolar, loncalar, lonca binaları vs)
    • ClientManagerEventFlag.cpp : player.quest tablosunda dwPID değeri 0 olanları çeker ve event flag olarak oyuna tanımlar. Örnek: ay ışığı eventi, exp_rate gibi.
    • ClientManagerGuild.cpp : Loncaların oluşturulması, silinmesi, loncaya üyelerin eklenmesi gibi işlemlerin bulunduğu dosya.
    • ClientManagerHorseName.cpp : Bunu açıklamaya gerek var mı bilmiyorum ama at şekeri ile atınıza isim verdiğinizde bu dosya da çalışır.
    • ClientManagerLogin.cpp : Kullanıcı girişi yaparken, karakteri seçerken gereken bilgileri game gönderir. Game'den gelen bilgileri de veritabanına kayıt eder. Bu listede ki çoğu dosyanın görevi bu. Gelen verileri kayıt eder, veri gönderir. Bu dosya da kısaca oyuncu hesabı bilgilerini barındırır.
    • ClientManagerParty.cpp : Oyunda kurduğumuz gruplar.
    • ClientManagerPlayer.cpp : Oyuna girişte seçilen karakterin bilgilerini işler. İtemler, statüler vs.
  • Config.cpp/h : Server filesinizin db içinde CONFIG, conf.txt gibi dosyalar var. Bunlarda ki verileri alır ve işler.
  • CsvReader.cpp/h : Server filesinizde ki bulunan (item_names.txt, item_proto.txt, mob_names,txt, mob_proto.txt) dosyaların okunmasını için yardımcı dosya. Bu program her tab ile ayrılan şeyleri ayrı sütün olarak algılar. Excel programı ile de protoları açarsanız düzgün bir şekilde sütünlara ayrıldığını görebilirsiniz. (Bu dosyalar ClientManagerBoot.cpp'de okunur, işlenir ve game'ye gönderilir.)
  • DBManager.cpp/h - DBManager_mainline.cpp : Sql sorguları için yazılmış.
  • Grid.cpp/h : Envanterde bulunan kutucuklar var. Onlar için. Görevleri kısaca şu. Belirtilen kutu da item varsa bilgilerini alır. İtem olup olmama kontrolünü filan yapar. Detaylar için dosyayı inceleyebilirsiniz.
  • GuildManager.cpp/h : Loncaların işlendiği yer. Boot aşamasında tüm loncaları veritabanından alır. Oyun kapanırken kayıt yapar vs.
  • HB.cpp/h : Bilinmiyor.
  • ItemAwardManager.cpp/h : player.item_award tablosunda ki verilerin okunması için.
  • ItemIDRangeManager.cpp/h : player.item tablosunda itemlerin idsi var. Bu idlerin tanımlanması için.
  • Lock.cpp/h : Bilinmiyor.
  • LoginData.cpp/h : Giriş yapılan hesapla ilgili bazı bilgileri alır. Premium durumu vs.
  • main.cpp/h : Bunu açıklamaya gerek var mı bilmiyorum ama c++ projelerinde main dosyası bulunur. Bu da onun için. Diğer tüm dosyaların kullanımını burada tanımlanır. db açıldığında sırasıyla yapılacak işlemler burada belirtilir.
  • Marriage.cpp/h : Evlilik.
  • Monarch.cpp/h : Bu kullanılmayan bir özellik olduğu için pas.
  • MoneyLog.cpp/h : Oyuncunun yang log kayıtları.
  • NetBase.cpp/h : Bilinmiyor.
  • Peer.cpp/h : Bilinmiyor.
  • PeerBase.cpp/h : Bilinmiyor.
  • PrivManager.cpp/h : Oyunda drop açıyoruz. Bunla ilgili işlemler.
  • ProtoReader.cpp/h : Protoların okunması için gerekli.
  • QID.h : Bilinmiyor.
  • stdafx.h : Bu da c++ projelerinde bulunan header dosyası.
  • version.cpp : Versiyonla alakalı şey. Filesinizde VERSION.txt diye bir dosya vardır. Bu dosyayı oluşturup versiyonu yazdıran kodlar burada.
Bilinmeyen kısımları yazarsanız eklerim. teşekkürler.
 
Üst