MT2Dev Work - Geliştirme Günlüğü

Kaynak kodlarından gözüme çarpan (veya okurken kendi kendime söylenip hatta yanına foruma yazamayacağım tarzda yorum satırları ekleyip sonra sildiğim :ROFLMAO: ) saçmalıklar;

Özellikle cmd dosyalarında inanılmaz amatör bir veri kullanım şekli var, adam MINMAX ile sadece 0 ve 3 arasında seçilebilecek bir str_to_number fonksiyonu yazmış mesela ama countu int ile tanımlamış ? Ya arkadaş, bu kadar kısa bir aralığı kapsayan şeyi int ile tutmanın manası nedir ? Bu tek başına bir tüketime yol açmaz belki ama src komple bunlarla dolu, hepsini alt alta koyduğun da illaki bellek tüketimine olumsuz etki eder.

Cmd_general içindeki shutdown komutunun fonksiyonunda, CH'nin NULL olup olmadığını kontrol ediyor eğer NULL ise sys_err yazdırıyor ama sys_err içinde ch->GetName kullanmış ? CH nullsa adını nasıl alacaksın sevgili Koreli abi, kimse bunu görüp ya biz napıyoruz demedi mi ?

new xxx ile yeni tanımlama yaptığınız fonksiyonların sonunda delete ile bunu silmek çok mu zordu ? Şuan smart pointerlar bu işi halleder ama siz bunlar olmadan (o yıllarda yoktu) fonksiyonu yazmışsınız kimse de iş bittikten sonra biz bunu silmiyoruz acaba memory leak yaratır mıyız dememiş.

Örnek olarak bonus;



C++:
        int iSocketCount = 0; // neden int ?????
        str_to_number (iSocketCount, arg2);

        if (!iSocketCount || iSocketCount >= ITEM_SOCKET_MAX_NUM)
        {
            iSocketCount = 3; // bir üst satırda ITEM_SOCKET_MAX_NUM kullanmışsın burda niye sabit kodladın hasta mısınız siz kafayı yememe az kaldı
        }


 
Hocam ben de merak saldım güzel bir altyapı hazırlamaya ancak mainline mı novaline mı kullanmalıyım emin olamadım, sizin düşünceleriniz nedir bu konuda?
 
Hocam ben de merak saldım güzel bir altyapı hazırlamaya ancak mainline mı novaline mı kullanmalıyım emin olamadım, sizin düşünceleriniz nedir bu konuda?
Kraizy içerisinde olan projelerin içinde ana hattı oluşturan proje mainline, mainline_released ise sızdırılan dosyalarda en güncel proje ve SG için kullanılan son dosyalar (2013), novaline ise kaynak kodunu ilk ele geçirenlerden biri olan Nova isimli bir arkadaşın kendi düzenlediği mainline versiyonu, içerisinde bir iki güzel fix ve çeşitli yeni config seçenekleri gibi detaylar var, ben hem ana proje olduğu için hem de en güncel el değmemiş dosyalar olduğu için mainline_released tercih ettim, direkt mainline kullanırsan released içinde olan bir iki düzenlemeyi de geçirmen lazım, bazı şeyler released versiyonunda fixli fakat mainline daha eski orada aynı işlemlerin yapılmadığı dosyalar var, WinMerge tarzı bir programla ikisini karşılaştırıp inceleyebilirsin, tavsiyem mainline_released.
 
Öncelikle elinize emeğinize sağlık. eski vasat bir stile sahip, oyunu ağır derecede yavaşlatan IPE'yı kaldırıp yerine pong gibi sade bir denetleme eklentisi yapar, kilitlemeyi, sıkıştırmayı iyileştirirseniz(protobuff gibi alternatifler var) kendimin oyun deneyimlerinde aldığım tecrübelerle sabit olduğunu hata almayacağınızı belirtmek isterim. Ek olarak tavsiyem oyunun altyapısının daha güçlenmesini, bazı spesifik sistemlerin uygulanabilirliğini arttırmak için profobuff gibi paketleri sıkıştırma ve katmanlama gibi şeyleri kullanmanı veya asio gibi daha uygun network'e geçebilme şansın var ise denemeni tavsiye ederim. Ha unutmadan bir de hem game hem de client'i x64 geçirip stabilite ve güvenilirlik açısından Windows platformunda çalıştırman daha iyi olacaktır. Game-Client x64 yapma niyetin olursa kütüphane desteği konusunda bana ulaşırsan belki yardımım olur çorbada tuzum olur :D Windows konusunda da bilhassa öyle. En azından Game-Client x64 yapıp varolan network ile bile çok daha iyi bir kazanım sergilenebilir. Bu yazdıklarım tamamen böyle açık açık geliştirme günlüğü paylaşan bir geliştirici arkadaşıma destek ve fiklir vermek amacıyladır, yanlış anlaşılmasın lütfen.
 
Son düzenleme:
Öncelikle elinize emeğinize sağlık. eski vasat bir stile sahip, oyunu ağır derecede yavaşlatan IPE'yı kaldırıp yerine pong gibi sade bir denetleme eklentisi yapar, kilitlemeyi, sıkıştırmayı iyileştirirseniz(protobuff gibi alternatifler var) kendimin oyun deneyimlerinde aldığım tecrübelerle sabit olduğunu hata almayacağınızı belirtmek isterim. Ek olarak tavsiyem oyunun altyapısının daha güçlenmesini, bazı spesifik sistemlerin uygulanabilirliğini arttırmak için profobuff gibi paketleri sıkıştırma ve katmanlama gibi şeyleri kullanmanı veya asio gibi daha uygun network'e geçebilme şansın var ise denemeni tavsiye ederim. Ha unutmadan bir de hem game hem de client'i x64 geçirip stabilite ve güvenilirlik açısından Windows platformunda çalıştırman daha iyi olacaktır. Game-Client x64 yapma niyetin olursa kütüphane desteği konusunda bana ulaşırsan belki yardımım olur çorbada tuzum olur :D Windows konusunda da bilhassa öyle. En azından Game-Client x64 yapıp varolan network ile bile çok daha iyi bir kazanım sergilenebilir. Bu yazdıklarım tamamen böyle açık açık geliştirme günlüğü paylaşan bir geliştirici arkadaşıma destek ve fiklir vermek amacıyladır, yanlış anlaşılmasın lütfen.
Şahane yorumun için teşekkür ederim, protobuf kesinlikle aklımda ilk sıralarda özellikle Aeldra'nın eski dosyaları warez olduktan sonra daha da cezbetmeye başladı, bu Koreli arkadaşların tırnak içinde ev yapımı tcp paket sistemi canımı çok sıkıyor, bunalmış vaziyetteyim. :LOL: IPE konusunda ponga dönmek yerine IPE'yi değiştirip farklı bir şifreleme ile kullanmayı düşündüm açıkçası (şuanki hali performans için fiyasko zaten define kapatınca bile oyundaki hızlanma gözle görülür, daha güncel methodlarla deneyeceğim), paket şifrelemesi bence önemli, güvenlik konusunda biraz takıntılıyım. :LOL: Tüm kodları warez olan bir oyunun paketlerini korumak neden önemli olsun diyenlerde çok tabii saygı duyuyorum ama ben biraz daha yavaş ama paketlerin koklanamadığı (yani en azından çoğunluk tarafından) bir yapıyı tercih edeceğim sanırım. x64 tabi ki düşünüyorum ama acele etmedim, yani en azından her şeyin stabil olduğu, tüm eklemeleri yaptığım aşamadan sonra geçirmeyi düşünüyorum, server tarafının Windows kısmını düşünmüyorum diye kaldırdım ama VS'nin sunduğu çok fazla optimizasyon eklentisi var sanırım onlardan faydalanmak için bir destek eklenebilir. Hem benim hem konuyu okuyanların ufkunu genişletecek bu yorum ve destek için teşekkür ediyorum, böyle yorumlar ve yapılan işe ilgi gösterilmesi insanı en çok motive eden şey. 🙏
 
Kraizy içerisinde olan projelerin içinde ana hattı oluşturan proje mainline, mainline_released ise sızdırılan dosyalarda en güncel proje ve SG için kullanılan son dosyalar (2013), novaline ise kaynak kodunu ilk ele geçirenlerden biri olan Nova isimli bir arkadaşın kendi düzenlediği mainline versiyonu, içerisinde bir iki güzel fix ve çeşitli yeni config seçenekleri gibi detaylar var, ben hem ana proje olduğu için hem de en güncel el değmemiş dosyalar olduğu için mainline_released tercih ettim, direkt mainline kullanırsan released içinde olan bir iki düzenlemeyi de geçirmen lazım, bazı şeyler released versiyonunda fixli fakat mainline daha eski orada aynı işlemlerin yapılmadığı dosyalar var, WinMerge tarzı bir programla ikisini karşılaştırıp inceleyebilirsin, tavsiyem mainline_released.
Hocam ben mmotutkunlarının youtube serisindeki novaline kısmı üzerinden ilerlemiştim bundan önce ancak bu sefer sizin dediğiniz gibi mainline released'i kullanmak istiyorum ancak novaline arasında bazı farklılıklar var örneğin mainline libdevil içerisinde .a uzantılı dosyalar bulunmuyor novalineda bulunuyorken. Bu sebeple eğitim videosundaki şeylerin birebir aynısını yaparsam hatalarla karşılaşma ihtimalim yüksek. Bana biraz tavsiyede bulunabilir misiniz acaba nası ilerlemem gerektiğiyle ilgili?
 
Hocam ben mmotutkunlarının youtube serisindeki novaline kısmı üzerinden ilerlemiştim bundan önce ancak bu sefer sizin dediğiniz gibi mainline released'i kullanmak istiyorum ancak novaline arasında bazı farklılıklar var örneğin mainline libdevil içerisinde .a uzantılı dosyalar bulunmuyor novalineda bulunuyorken. Bu sebeple eğitim videosundaki şeylerin birebir aynısını yaparsam hatalarla karşılaşma ihtimalim yüksek. Bana biraz tavsiyede bulunabilir misiniz acaba nası ilerlemem gerektiğiyle ilgili?
bulunan lib dosyaları freebsdnize devil kurduğunuzda otomatik olarak gelecektir muhtemel konumu /usr/local/include/IL libleri içinde /usr/local/lib şeklindeydi yanlış hatırlamıyorsam bunu makefilenize uyarlıyorsunuz
 
bulunan lib dosyaları freebsdnize devil kurduğunuzda otomatik olarak gelecektir muhtemel konumu /usr/local/include/IL libleri içinde /usr/local/lib şeklindeydi yanlış hatırlamıyorsam bunu makefilenize uyarlıyorsunuz
Çok teşekkürler hocam, bilmem gereken başka bir şey aklınıza gelirse bilgilendirirseniz çok sevinirim.
 
Hocam ben mmotutkunlarının youtube serisindeki novaline kısmı üzerinden ilerlemiştim bundan önce ancak bu sefer sizin dediğiniz gibi mainline released'i kullanmak istiyorum ancak novaline arasında bazı farklılıklar var örneğin mainline libdevil içerisinde .a uzantılı dosyalar bulunmuyor novalineda bulunuyorken. Bu sebeple eğitim videosundaki şeylerin birebir aynısını yaparsam hatalarla karşılaşma ihtimalim yüksek. Bana biraz tavsiyede bulunabilir misiniz acaba nası ilerlemem gerektiğiyle ilgili?
Aslında altyapıların hepsi benzer aralarında çok minimal farklar var yani novaline yerine mainline veya mainline_released ile de seriyi takip etseniz bir sorun yaşamazsınız muhtemelen, .a dosyaları kütüphanelerin derlendikten sonra oluşturduğu dosyalar yani onların olup olmaması bir anlam ifade etmiyor derlenince zaten oluşacaktır.
 
Aslında altyapıların hepsi benzer aralarında çok minimal farklar var yani novaline yerine mainline veya mainline_released ile de seriyi takip etseniz bir sorun yaşamazsınız muhtemelen, .a dosyaları kütüphanelerin derlendikten sonra oluşturduğu dosyalar yani onların olup olmaması bir anlam ifade etmiyor derlenince zaten oluşacaktır.
Çok sağ ol hocam.
 
Uzun süre boyunca güncelleme veremedim fakat daha önce söylediğim gibi dosyaları tek tek baştan sona okuyorum aralarda gerekli gördüğüm yerlere fixler ekliyorum, paranoya derecesinde kontrol ekleme hastalığına yakalandım yakında oyuncular oyunda yürürken bile bir kontrole takılacak diye korkuyorum.. İnsan sonunda en nefret ettiği kişiye dönüşürmüş sanırım ben GF oluyorum. :ROFLMAO: Aslında bu kontrol ve fix hastalığının sebebi bu oyunun kitlesinin kötü niyeti ve her açığı kullanma potansiyeli şuan official sunucuda item alıp satarken bile süre sınırı var her şeye süre sınırı getirdiler, olabilecek buglardan korktukları için, bende benzer şekilde eklemeler yapınca fark ettim ki GF bu konuda haksız değil, oyunculara güvenemeyince sürekli kontrol ekleyesin geliyor. :LOL:

Şuna hala server tarafındayım bütün klasörler bitti şuan game klasöründeyim, marriage.cpp dosyasına kadar olanları hallettim aşağısı kaldı, güncel yama notlarını ve klasör düzenini paylaşayım;

1.png
2.png
3.png


Güncel yama notlarının son hali (Bazı fixleri kaldırıp yerine farklı fixler ekledim, mesela 50, 72 ve 88 şuan aklıma gelenler);

Serverside_Info.h:
/*##############################################################################################################*/
/*#####################################*/   GAME & DB Version; 40070   /*#######################################*/
/*##############################################################################################################*/
/*--------------------------------------------------------------------------------------------------------------*/
/*##############################################################################################################*/
/*######################################*/     "MT2Dev - Fixler"     /*#########################################*/
/*##############################################################################################################*/

/*FIX ISMI                           DUZELTILEN SORUNUN ACIKLAMASI                                ISLEM YAPILAN DOSYA*/
- DevFix 1   = Internal IP sorunu duzeltildi.                                                        (config.cpp)
- DevFix 2   = NPC'den 0 yanga item alamama sorunu duzeltildi.                                        (shop.cpp)
- DevFix 3   = Artik item yansitirken icgoru kuresi istemiyor.                                        (input_main.cpp)
- DevFix 4   = Dice komutu deaktif edildi, kullanmayacagim icin kapatmayi tercih ettim.                (cmd_general.cpp)
- DevFix 5   = Yere yang atma ozelligi deaktif edildi.                                                (char_item.cpp)
- DevFix 6   = Duygu maskesi olmadan duygu kullanimi aktif edildi.                                    (cmd_emotion.cpp)
- DevFix 7   = War -111 Crash sorunu duzeltildi eger sayi 0'dan dusukse (-) komut calismaz.            (cmd_general.cpp)
- DevFix 8   = Karakterin giydigi iteme efsun ekleme&degistirme acigi duzeltildi.                    (char_item.cpp)
- DevFix 9   = Lonca exploit acigi duzeltildi, gerekli kontroller eklendi.                            (input_main.cpp)
- DevFix 10  = Sersemlik islememe sorunu duzeltildi, kod bloklarinda detayli bilgi mevcut.            (item.cpp&item.h)
- DevFix 11  = Yesil efsun ve arttirma artik 40 Level alti tum itemlerde kullanilabilir.            (char_item.cpp)
- DevFix 12  = Cube r_Info core crash sorunu duzeltildi.                                            (cube.cpp)
- DevFix 13  = Nadir olarak tetiklenen onemli bir CoreDowner duzeltildi.                            (questlua_npc.cpp)
- DevFix 14  = Lonca ve Grup CoreDowner duzeltildi.                                                    (input_main.cpp)
- DevFix 15  = Dungeon Count Monster duzeltildi, artik sadece metin yada canavarsa sayilacak.        (dungeon.cpp)
- DevFix 16  = Dungeon Memory Leak duzeltildi.                                                        (dungeon.cpp)
- DevFix 17  = Nadir tetiklenen bir Cube CoreDowner duzeltildi.                                        (cube.cpp)
- DevFix 18  = Binek veya At uzerinde evlilik itemi giyme engeli eklendi.                            (char_item.cpp&char_horse.cpp)
- DevFix 19  = Clear_Server_Timer fonksiyonu detaylandirildi.                                        (questlua_global.cpp)
- DevFix 20  = Char_Log fonksiyonu detaylandirildi.                                                    (questlua_global.cpp)
- DevFix 21  = Dungeon Core Downer duzeltildi.                                                        (char.cpp)
- DevFix 22  = CancelServerTimers fonksiyonu degistirildi.                                            (questmanager.cpp)
- DevFix 23  = Yuksek HP&SP oranlarinda degerlerin eksiye dusmesi duzeltildi.                        (Packets.h)
- DevFix 24  = CArena::SendPacketToObserver fonksiyonu komple yenilendi.                            (arena.cpp)
- DevFix 25  = CArena::SendChatPacketToObserver fonksiyonu komple yenilendi.                        (arena.cpp)
- DevFix 26  = CArenaManager::IsLimitedItem fonksiyonu komple yenilendi, ekstralar eklendi.            (arena.cpp)
- DevFix 27  = Gerekli bazi ekstra kontroller eklendi.                                                (Lot of files have this one)
- DevFix 28  = ComputePoints cagirildiginda devreye giren HP/SP duzenlemesi.                        (char.cpp)
- DevFix 29  = Sync fonksiyonu duzenlendi, binege binince oyundan atma duzeltildi.                    (char.cpp)
- DevFix 30  = Sync fonksiyonu duzenlendi, IsNPC icerisindeki syslog detaylandirildi.                (char.cpp)
- DevFix 31  = Statuler artik son levele kadar gelmeye devam eder, normalde 90'da bitiyordu.        (char.cpp)
- DevFix 32  = APPLY_MAX_HP & APPLY_MAX_SP ve HP/SP pct ayrica affectleri duzenlendi.                (char.cpp)
- DevFix 33  = Madencilik hile engeli, mesafe kontrolu sayesinde uzaktan kazilamaz.                    (char.cpp)
- DevFix 34  = CHARACTER::IsNearWater fonksiyonu eklendi, balikcilik icin yeni bir kontrol.            (char.cpp)
- DevFix 35  = CHARACTER::SetSyncOwner fonksiyonuna ekstra kontrol eklendi.                            (char.cpp)
- DevFix 36  = - HP icin bir kontrol yoktu, olasi crash'i engellemek icin kontrol eklendi.            (char.cpp&char_battle.cpp&char_state.cpp)
- DevFix 37  = CHARACTER::Get&SetQuestFlag icerisine null pointer kontrolu eklendi.                    (char.cpp)
- DevFix 38  = CHARACTER::MountVnum icerisine ekstra kontrol eklendi.                                (char.cpp)
- DevFix 39  = Affect icin 3 yeni fonksiyon eklendi, affectleri yenilemek icin kullanilacak.        (char.h&char_affect.cpp&char_item.cpp)
- DevFix 40  = Eski tarz ve modern stilden uzak bir kod blogu duzenlendi.                            (char_battle.cpp)
- DevFix 41  = Duz vuruslardaki delici patlama efekti aktif edildi.                                    (char_battle.cpp)
- DevFix 42  = Bayrak degisimi esnasinda yasanabilecek buglarin onune gecildi.                        (char_change_empire.cpp)
- DevFix 43  = Arena mapinde ata binme engeli eklendi.                                                (char_horse.cpp)
- DevFix 44  = Mor veya Yesil pot kullanildigi zamanlarda cikacak pot icme efekti eklendi.            (char_item.cpp)
- DevFix 45  = 6-7 Efsunlarin kostumlere eklenmesi engellendi.                                        (char_item.cpp)
- DevFix 46  = Izgara levrek basinca kotu afectlerin gitmesi saglandi, orijinalindeki gibi.            (char_item.cpp)
- DevFix 47  = Evlilik esyalarina efsun ekleme bugu engellendi.                                        (char_item.cpp)
- DevFix 48  = Artik size dusmeyen(owner) bir itemi yerden alamazsiniz.                                (char_item.cpp)
- DevFix 49  = Statu dagitimi esnasinda tek kontrol donusum icindi, ekstra kontrol eklendi.            (cmd_general.cpp&cmd_gm.cpp)
- DevFix 50  = Ata, binege inip binerken spamin onune gecmek icin 1 saniyelik bir kontrol eklendi.    (cmd_general.cpp&questlua_pc.cpp)
- DevFix 51  = Komutlardan do_state icerisinde duzenleme yapildi, fonksiyon detaylandirildi.        (cmd_gm.cpp)
- DevFix 52  = Set komutları icinde race ve cinsiyet aktif degildi, onlar aktif edildi.                (cmd_gm.cpp)
- DevFix 53  = GM "/level" ve "/a" kodlari duzenlendi, gerekli kontroller ve mesajlar eklendi.        (cmd_gm.cpp)
- DevFix 54  = Full_Set komutu komple degistirildi, verdigi itemler ve efsunlari duzenlendi.        (cmd_gm.cpp)
- DevFix 55  = Lisani olmayan karakterlerin gorecegi metinler duzenlendi ve sadelestirildi.            (empire_text_convert.cpp)
- DevFix 56  = Loncaya alma fonksiyonuna ekstra bir kontrol eklendi.                                (guild.cpp)
- DevFix 57  = "struct FGuildCompare" modern C++ standartlarindan yardim alarak yeniden yazildi.    (guild_manager.cpp)
- DevFix 58  = Lonca para yatirma ve cekme fonksiyonlarina kontrol eklendi.                            (guild.cpp)
- DevFix 59  = Lonca daveti (invite) fonksiyonuna onemli bir kontrol eklendi.                        (guild.cpp)
- DevFix 60  = Lonca savasi esnasindaki kill fonksiyonuna izleyiciler icin kontrol eklendi.            (guild_manager.cpp)
- DevFix 61  = Handshake does not handle syserri daha detayli analiz icin gelistirildi.                (input.cpp)
- DevFix 62  = Karakter isminin 12 karakterden fazla olmamasi icin kontrol eklendi.                    (input_login.cpp)
- DevFix 63  = Header 100 syserri icin duzenleme yapildi.                                            (input_login.cpp)
- DevFix 64  = Fisilti fonksiyonu icerisine hedef kisi bilgilerini almak icin ekleme yapildi.        (input_main.cpp)
- DevFix 65  = GM karakterlerin bagirmadan yazmak icin 15 saniye bekleme sarti kaldirildi.            (input_main.cpp)
- DevFix 66  = Depodan direkt olarak kemer slotuna item koymak mumkundu, kontrol eklendi.            (input_main.cpp)
- DevFix 67  = Yeni binek sisteminde, suresi biten binekler icin bir duzenleme eklendi.                (item.cpp)
- DevFix 68  = Kontrol icin kullanilan bir sorgu, daha saglikli olacak sekilde duzenlendi.            (item.cpp)
- DevFix 69  = Create Item fonksiyonu icerisinde, AlterToMagicItem icin duzenleme yapildi.            (item_manager.cpp)
- DevFix 70  = Karakterlerin olumu oncesi kullanilan Stun efektinin suresi dusuruldu.                (char_battle.cpp)
- DevFix 71  = Yerine donen coward moblarin dusuk bir ihtimalle kacmasi engellendi, cunku gereksiz.    (char_state.cpp)
- DevFix 72  = Depo sifresi degistirme isleminde yeni sifrenin sadece rakamlardan olusmasi saglandi.(cmd_general.cpp)
- DevFix 73  = Hata tespiti icin gerekli olabilecek bir kac syserr eklendi.                            (item_manager_read_tables.cpp&regen.cpp)
- DevFix 74  = Artik oyuncu cesitli aktivitelerde bulundugunda oyundan cikma iptal edilir.            (input_main.cpp)
- DevFix 75  = Evlilik sistemindeki lovepoints overflow sorunu duzeltildi.                            (marriage.cpp)
- DevFix 76  = Messenger_Auth ile yapilan flood saldirisi icin gerekli onlemler eklendi.            (messenger_manager.cpp)
- DevFix 77  = OX girisinde eventin acik olup olmadigini sorgulayan bir kontrol eklendi.            (OXEvent.cpp)
- DevFix 78  = Gerekli kodlara "== 0" yerine daha saglikli olan ".empty" yontemi eklendi.            (Lot of files have this one)
- DevFix 79  = IsPartyInDungeon fonksiyonu eklendi, grup icin gerekli kontrolleri iceriyor.            (party.cpp&h)
- DevFix 80  = Karakter olunce petin gonderilmesi kapatildi ve gerekli bir kontrol eklendi.            (PetSystem.cpp)
- DevFix 81  = Belirli maplerde ozel bufflar veren petler icin duzenleme yapildi.                    (PetSystem.cpp)
- DevFix 82  = CPVPManager::HasDuel fonksiyonu eklendi, PvP sistemi icin yeni bir eklenti.            (pvp.cpp)
- DevFix 83  = Quest fonksiyonlarinda gerekli yerlere null pointer kontrolu eklendi.                (quest.h&questlua.cpp)
- DevFix 84  = Quest fonksiyonu "_get_special_item_group" eklendi, bazi kontroller de iceriyor.        (questlua_global.cpp)
- DevFix 85  = Gerekli bazi quest fonksiyonlarinin icerisine ekstra bir update kontrolu eklendi.    (questlua_item.cpp)
- DevFix 86  = Kullanisli olabilecek 3 yeni npc quest fonksiyonu eklendi.                            (questlua_npc.cpp)
- DevFix 87  = Olusabilecek tum SQL Injection aciklari kapatildi, gerekli kontroller eklendi.        (Lot of files have this one)
- DevFix 88  = Ticaret esnasinda herhangi bir itemi kullanma/hareket ettirme/yere atma engellendi.    (char_item.cpp)
- DevFix 89  = Binek bonus fonksiyonunun icine gerekli bir kontrol eklendi.                            (questlua_pc.cpp)
- DevFix 90  = "/quit" islevinin icerisine ekstra bir kontrol ve komut eklendi.                        (cmd_general.cpp)
- DevFix 91  = Belirli sartlarda iki kez tetiklenen (when kill begin) quest kosulu duzenlendi.        (questmanager.cpp)
- DevFix 92  = ServerTimer fonksiyonunun syslogu detaylandirildi.                                    (questmanager.cpp)
- DevFix 93  = 4 adet NPC:: fonksiyonu yeniden duzenlendi.                                            (questnpc.cpp)
- DevFix 94  = QuestPC "EndRunning" fonksiyonuna kontrol eklendi, olasi dupelerin onune gecildi.    (questpc.cpp)
- DevFix 95  = "SECTREE_MAP::Build" fonksiyonu duzenlendi, gereksiz kodlar temizlendi.                (sectree_manager.cpp)
- DevFix 96  = Bir pazardaki itemi iki oyuncu ayni anda alinca ortaya cikan crash duzeltildi.        (shop.cpp)
- DevFix 97  = Fonksiyonlar icerisinde kullanmak icin three_arguments (arg3) destegi eklendi.        (utils.cpp&utils.h)
- DevFix 98  = "CHARACTER_MANAGER::Update" fonksiyonu modern C++'ya uygun sekilde yeniden yazildi.    (char_manager.cpp)
- DevFix 99  = CGuild icerisinde bazi fonksiyonlar yeni C++ ozellikleri kullanilarak guncellendi.    (guild.cpp&guild_manager.cpp)
- DevFix 100 = Atin saglik degeri max seviyeye gelmesine ragmen beslemeye devam edebilme engellendi.(horse_rider.cpp&cmd_general.cpp)
- DevFix 101 = Test server modunda GM logosu aktif degildi, degistirilip aktif hale getirildi.        (char.cpp)
- DevFix 102 = Test server modunda beklememek icin lonca savasi baslangic suresi degistirildi.        (GuildManager.cpp)
- DevFix 103 = Test server modunda tum GM'lar Implementor olarak ayarlaniyordu, deaktif edildi.        (char.cpp&gm.cpp)
- DevFix 104 = "GUILD_SUBHEADER_CG_DEPOSIT/WITHDRAW_MONEY" fonksiyonlari duzenlendi.                (input_main.cpp)
- DevFix 105 = Ymir'in es gectigi nullptr kontrolleri gerekli yerlere eklendi.                        (char_manager.cpp&item_manager.cpp)
- DevFix 106 = Hava Kilici ve Buyulu Silahin silahsiz kullanilmamasi icin kontrol eklendi.            (char_skill.cpp)
- DevFix 107 = Ymir in ekleyip aktif etmedigi ise yarar "sys_log" lar test_server icin aktif edildi.(Lot of files have this one)   --->   (/* BILGI: Normal olarak eklenen ama sadece test_server modunda ise yarayacak olanlar da, sadece test_server modunda aktif olacak sekilde duzenlendi. */)
- DevFix 108 = Paket istismarini onlemek ve floodlari kontrol etmek icin duzenlemeler yapildi.        (input.cpp)
- DevFix 109 = Ymir in her zaman ki gibi es gectigi olasi bir "Memory Leak" onlendi.                (ClientManager.cpp&safebox.cpp)
- DevFix 110 = "CHARACTER::ExchangeStart" fonksiyonu yenilendi ve ekstra kontroller eklendi.        (exchange.cpp)
- DevFix 111 = Gerekli ve hatta gereksiz(garanticiyim) yerlere nullptr kontrolu eklendi.            (Lot of files have this one)
- DevFix 112 = Oyuncu nicki aratilirken gereken buyuk/kucuk harf duyarliligi kaldirildi.            (p2p.cpp)   --->   (/* BILGI: Bazi GM kodlari ve fisilti sisteminde bir oyuncu adini yazarken buyuk/kucuk harflere uyarak nicki tam olarak yazmasaniz bile aradiginiz oyuncu bulunacaktir. Ozel semboller veya harfler kullanilarak nick alinabilen sunucularda KESINLIKLE KULLANILMAMALIDIR !!!*/)
- DevFix 113 = Karakterler yaratilirken verilen random statlar sabit hale getirildi.                (constants.cpp)
- DevFix 114 = Eksik bir bolume gerekli "sys_log" blogu eklendi, bilgi onemli.                        (ClientManager.cpp&input_db.cpp)
- DevFix 115 = Ata veya binege belirli maplerde binilmemesi icin kontrol eklendi.                    (char_item.cpp&cmd_general.cpp)
- DevFix 116 = "CHARACTER::BuffOnAttr_ValueChange" fonksiyonu modern tarzda yenilendi.                (char_item.cpp)
- DevFix 117 = Eger oyuncu son seviyeye ulasirsa, beceri kitabi okumasi icin EXP gerekmeyecektir.    (char_skill.cpp)
- DevFix 118 = Game Masterlar artik aninda "Burada Basla" veya "Sehirde Basla" ile dirilebilirler.    (cmd_general.cpp)
- DevFix 119 = Sadece GMlerin kullanmasina izin verilen komutlara ekstra kontroller eklendi.        (cmd_general.cpp&cmd_gm.cpp)
- DevFix 120 = "Cube_make" icerisine gerekli bir -yang kontrolu eklendi.                            (cube.cpp)
- DevFix 121 = Bazi GM veya Player komutlarinda negatif(-) arg kullanimi engellendi.                (cmd_gm.cpp&cmd_general.cpp)
- DevFix 122 = Gereksiz buyuk veri tipi kullanan yerler, bellek tuketimini azaltmak icin duzenlendi.(Lot of files have this one)
- DevFix 123 = "/do_set" komutu komple yenilendi, eksik kontroller eklendi.                            (cmd_gm.cpp)
- DevFix 124 = Razador, Nemere gibi zindanlarda grup bozulmamasi icin kontrol eklendi.                (input_main.cpp)

/*###################################################################################################*/
/*#############*/     "MT2Dev - Kaldirilan Sistemler, Silinen Fonksiyonlar vs."      /*##############*/
/*###################################################################################################*/

** - Listede ekli olmayan, Ymir'in test amacli ekledigi veya ekleyip hicbir yerde kullanmadigi tum kodlar temizlendi.
1   - XTrap
2   - HackShield
3   - Metin2Server_IsInvalid
4   - Metin2Server_Check
5   - Limit_time
6   - Libserverkey
7   - FileMonitor_FreeBSD
8   - Auction
9   - Monarch
10  - PC_Bang
11  - Traffic Profiler
12  - IP_Ban
13  - dev_log
14  - HotBackup
15  - China Event Server
16  - Distribution Test Server
17  - GTest
//18 - Sequence - 0.60V Surumunde sadece debugging kullanimi icin tekrar aktif edildi.
19  - Over9Refine
20  - Roulette
21  - Lotto
22  - SpeedServer
23  - Mobile
24  - SMS
25  - g_GoldDropTimeLimitValue
26  - Spam Event (/*IFDEF ILE GERI EKLENEBILIR... - 2024/EKLENMELI CUNKU ISE YARAYABILIR*/)
27  - GreetMessage
28  - VCard
29  - Teen
30  - NetMarble
31  - Three Way
32  - Forked
33  - Block Exception
34  - Block Country
35  - OpenID  (/*Login4*/)
36  - Passpod (/*Login5*/)
37  - Auth Brazil
38  - Auth Japan
39  - Gereksiz butun locale kodlari (/*LC_Isxxx kodlarinin tamami*/)
40  - DBString
41  - Billing (/*IFDEF ILE GERI EKLENEBILIR... EGER IFDEF ILE GERI EKLERSEN LOGIN_SIM VE RemainSecs SISTEMINI DE BUNA BAGLA!!*/)
42  - Matrix Card (/*Runup,China,SecurityCode vs. her turlusu*/)
43  - Castle
44  - Ymir'in ekledigi hicbir ise yaramayan hile/hack kontrolleri
45  - ClientPackageCryptInfo
46  - Panama
47  - Over_Time
48  - CRC (/*Ornek; Reload_crc, CRCMagicCube vs.*/)
49  - Revive_invisible
50  - Header_Version2
51  - ShopEX
52  - do_mount
53  - do_siege
54  - do_frog
55  - do_dice
56  - valid_ip
57  - exp_table_euckr
58  - exp_table_newcibn
59  - g_iUseLocale
60  - SUseTime
61  - HammerOfThor
62  - ItemDrop2
63  - Input_UDP
64  - FN_is_battle_zone
65  - NewPlayerTable2
66  - M2_USE_POOL
67  - DEBUG_ALLOC (/*Ve diger tum alloc/ALLOCATOR dosyalari*/)
68  - is_twobyte_sjis
69  - check_name_sjis
70  - sjis_is_disable_name_char (/*Ve sjis ile alakali tum diger kodlar*/)
71  - CLoginData::Set/GetRemainSecs (/*IFDEF ILE GERI EKLENEBILIR...*/)
72  - Noncopyable
73  - __UNITTEST__
74  - HybridCrypt
75  - Kullanilmayan tum paket kodlari
76  - Windows build icin eklenen tum kodlar (/*Sadece FreeBSD ile derleyecegim icin(SIMDILIK)*/)
77  - AdminPage sistemi (/*Komple*/)
78  - AdminMode
79  - HEADER_CG_TEXT (/*Web site P2P soket baglantisi, kullanmayi dusunenler tekrar eklemeli*/)
80  - Oyun sunucusundaki CMD dosyasi
81  - FuncDoNothing
82  - _20050304Myevan
83  - USE_DEBUG_PTR
84  - pt_log (/*PTS*/)
85  - __FISHING_MAIN__
86  - Safebox Money
87  - ComboSequence
88  - mob_proto_test/item_proto_test
89  - do_console
90  - do_vote_block_chat
91  - do_change_attr
92  - do_add_attr
93  - do_add_socket
94  - do_change_rare_attr
95  - do_add_rare_attr
96  - GOST_Encrypt
97  - GOST_Decrypt
98  - DES_Encrypt
99  - DES_Decrypt
100 - KStbl
101 - hangul
102 - _under_han
103 - __USE_SELECT__
104 - _TEST
105 - isNameFile
106 - QuestItemTable
107 - LogToFile
108 - DB icindeki "grid.cpp/h" dosyalari (/*Zaten libgame icinde birebir aynisi mevcut*/)
109 - DB icindeki "Lock.cpp/h" dosyalari
110 - __DUMP_PROTO__
111 - _ani_cpp_
112 - if 0 (/*BILGI: Bu if blogu C++'da ilgili kod blogunun devre disi birakilmasini saglar, comment satirina donusturmekle ayni isleve sahiptir*/)
113 - _blend_item_cpp_
114 - GiveAllAttributes
115 - == true veya true == (/*BILGI: Modern C++'da bir if blogu zaten true olup olmadigini sorgular (Ornek; if (p) eger p == true ise devam eder), true ise bunu dondurecektir ayrıca eger deger NULL yani 0 ise, bu uygulama yanlis bir sonuca yol acabilir, bu C dilinden kalan kotu bir aliskanliktir ve günümüz C++'ında gereksizdir dolayisiyla tercih edilmemelidir!*/)
116 - != NULL veya NULL != (/*BILGI: Modern C++'da derleyiciler pointerlarin dogrudan kullanimini destekler, if (p) yazmak if (p != NULL) ile tamamen ayni kontrolleri saglar, bu eklenti guvenlik saglamadigi gibi, bazi ekstrem durumlarda problem bile yaratabilir ve günümüz C++'ında tercih edilmemelidir!*/)
117 - IS_MONKEY_DUNGEON
118 - IS_BOTARYABLE_ZONE
119 - hyuniron_prob_euckr
120 - yagong_prob_euckr
121 - WEAR_RING1/WEAR_RING2
122 - LuckyBagInfo b2
123 - prob_table_euckr
124 - ItemAttrCycle/ItemAttrFlag
125 - Tanimlanip hicbir yerde kullanılmayan #define kodlari
126 - do_b1 / do_b7 arasi tum aktif olmayan kodlar
127 - do_temp
128 - g_noticeBattleZone
129 - guild_exp_table2
130 - KOR_aiPartyBonusExpPercentByMemberCount
131 - KOR_aiUniqueItemPartyBonusExpPercentByMemberCount
132 - _cube_cpp_
133 - FN_cube_print
134 - PROTECT_CHILD
135 - Login_IsInChannelService
136 - SHOP_SUBHEADER_CG_SELL2
137 - __deposit_limit
138 - FUCKING_BRAZIL
139 - check_name_latin1
140 - check_name_euckr
141 - is_twobyte (/*gb232, big5, euckr vs.*/)
142 - WriteVersion

Settings.h:
/***********************************************************************/
/* FILE:    Settings.h                                                 */
/* INFO:    All important settings are linked to a single header file. */
/* AUTHOR:  MT2Dev                                                     */
/* DATE:    26/11/2020                                                 */
/***********************************************************************/
#ifndef __MT2DEV_SERVER_SETTINGS_H__
#define __MT2DEV_SERVER_SETTINGS_H__

// SECURITY_SETTINGS
#define CLIENT_VERSION_KEY                2407972020       // Client Version Key, it's must be same on the serverside!
#define LSS_SECURITY_KEY                4321dcba5678efgz // Ymir Security Key (Only used if _OLD_PACKET_ENCRYPTION_ is enabled)
// END_OF_SECURITY_SETTINGS

// VARIOUS_SETTINGS
#define MAP_ALLOW_LIMIT                    32         // Map Allow Limit.
#define PK_LEVEL_FOR_PROTECT            15         // PK Protect Level For New Players (Ex; If this is 15, nobody can hit (PvP) new players if they under 15 level)
#define MAX_STAT                        95         // Maximum Stat Points. (Note: The packside needs to be change too when you set another value here, to avoid gauge bug.)
#define MAX_LEVEL_POINT_CAN_STEP        98         // Maximum Level at Which The Character Will Continue to Gain Status.
#define MAX_ITEM_INTRO_STACK            200        // Maximum Number of Items Stacked (Maximum setting that can be made for now; 255).
#define GOLD_MAX                        2000000000 // Maximum Yang Limit (Maximum setting that can be made for now {int}; 2.147.483.647 Yang).
#define INVENTORY_MAX_NUM                90         // Number of Inventory Slots (90 Slots = 2 Inventory). (Note: The sum of the slots of the inventory should not exceed 255 !!)
#define INVENTORY_PAGE_COUNT            2          // Inventory Total Page Count.
#define ITEM_DROP_PENALTY_LEVEL            50         // Minimum Level to Item Drop Penalty (Note: If the low rank character is below level 50, their item will not drop.)
#define MOBS_DISAPPEARANCE_TIME            3          // Mobs disappearance time(Second) after death, it needs to be kept low to avoid lag.
#define AUTO_RESTART_TOWN_TIME            180        // After Player's die, if they not choose start here/town, after this time they will be spawn in town automatically.
#define BRAVE_CAPE_POSSIBILITY            80         // Brave Cape - Possibility(%) (With just one click) to Attract Monsters.
#define BRAVE_CAPE_MAX_DISTANCE            5000       // Brave Cape - Maximum Distance Of Monsters You Can Attract.
#define CAMPFIRE_TIME                    30         // How many seconds will the campfire be active after using it ?
#define STONE_INSERT_PERCENT_CHANCE        30         // Chance(%) For Stones to be Added.
#define ORE_INSERT_PERCENT_CHANCE        50         // Percentage(%) of Success When Adding Ores to The Item.
#define ITEM_ACCESSORY_SOCKET_MAX_NUM    3          // Maximum Number of Ores That Can Be Added to Interior Items.
#define KILLER_MODE_COOLDOWN            30         // After PC's set PvP mode Free or Guild, how many seconds need to set Peace after not hit anyone.
#define SHORT_PORTAL_LIMIT_TIME            3          // Cooldown Before Warp When Not Doing Anything Recently.
#define PORTAL_LIMIT_TIME                10         // Cooldown Before Warp For Trading or Post-Battle Control.
#define REQUEST_LIMIT_TIME                10         // Validity Seconds Of Requests Received By Players.
#define ITEM_DESTROY_TIME                10         // The Time(Second) It Takes For an Item The Player Throws to Disappear.
#define OWNER_ITEM_DESTROY_TIME            240        // The Time(Second) It Takes For an Item To Drop Specifically For One Player To Disappear or Delete Ownership. (Items with an anti-flag against dropping, that is, only the owner can take that item.)
#define DROP_ITEM_DESTROY_TIME            60         // The Time(Second) It Takes For an Item To Drop Player. (with ownership)
#define ORE_ITEM_OWNERSHIP_TIME            20         // The Time(Second) It Takes For an Ore Item(Mining) To Drop Player. (with ownership)
#define CAN_RESET_HERE_TIME                170        // How Soon After The Character Dies Will He Be Able to Stand Up ? (170 = 10 Seconds) (Respawn Here)
#define CAN_RESET_TOWN_TIME                173        // How Soon After The Character Dies Will He Be Able to Stand Up ? (173 =  7 Seconds) (Respawn Town)
#define CAN_SHOUT_LEVEL_LIMIT            15         // Level Required to Shout.
#define CAN_SHOUT_TIME_LIMIT            15         // Time Required to Shout.
#define PARTY_CAN_JOIN_MAX_LEVEL        30         // Maximum Level Difference Between Players to Enter a Group.
#define MAX_MEMBER_INTRO_PARTY            8          // Maximum Number of Players That Can Be in a Group.
#define SAFEBOX_MAX_NUM                    135        // Maximum Number of Safebox Slots (135 Slots = 3 Page).
#define SAFEBOX_PASSWORD_MAX_LEN        6          // Safebox Maximum Password Length.
#define DEAD_HORSE_DISAPPEAR_TIME        20         // When Player Summon Their Dead Horse, How Many Seconds Take To Disappear ?
#define NEW_CHAR_CREATE_COOLDOWN        30         // Players Can Only Create One Character Per 30 Seconds (To Prevent Spam).
#define NECESSARY_GOLD_FOR_GUILD        200000     // Necessary Yang For Create a New Guild.
#define NECESSARY_LEVEL_FOR_GUILD        40         // Necessary Level For Create a New Guild.
// END_OF_VARIOUS_SETTINGS

// TRICKY_SETTINGS
// WARNING: Don't change this one's, if you don't know what are you doing exactly.. - [MT2Dev Note] - 30/05/2023
#define QUEST_NAME_MAX_LEN                32
#define QUEST_STATE_MAX_LEN                64
#define MAX_ALLOW_USER                    4096
#define DRAGON_SOUL_STRENGTH_MAX        7
#define MAX_BLEND_ITEM_VALUE            5
#define POLYMORPH_SKILL_ID                129
#define POLYMORPH_BOOK_ID                50322
#define OXEVENT_MAP_INDEX                113
#define NORM_ATTR_MAX                    5
#define RARE_ATTR_MAX                    2
#define GUILD_SYMBOL_FILENAME            "guild_symbol.tga"
#define OLD_MARK_INDEX_FILENAME            "guild_mark.idx"
#define OLD_MARK_DATA_FILENAME            "guild_mark.tga"
// END_OF_TRICKY_SETTINGS
#endif //__MT2DEV_SERVER_SETTINGS_H__

ServiceDefs.h:
/********************************************************/
/* FILE:    ServiceDefs.h                               */
/* INFO:    All defines linked to a single header file. */
/* AUTHOR:  MT2Dev                                      */
/* DATE:    11/09/2023                                  */
/********************************************************/
#ifndef __MT2DEV_SERVER_SERVICEDEFS_H__
#define __MT2DEV_SERVER_SERVICEDEFS_H__

//********************************************************************* DEBUGGING_FEATURES **********************************************************************//
//#define ENABLE_SEQUENCE_SYSTEM  // Ymir Sequence System (Useful for debugging)
#define USE_STACKTRACE            // Ymir Stacktrace System for Analyze Errors (Be sure to edit game/src/Makefile, USE_STACKTRACE = 1 or 0)
#define USE_QUERY_LOGS            // Logging Queries for Analyzing (If it is test server of course)
#define ENABLE_SYSLOG_PACKET_SENT // Syslogs for Packet Sent (If it is test server of course)
//***************************************************************** END_OF_DEBUGGING_FEATURES *******************************************************************//

//---------------------------------------------------------------------------------------------------------------------------------------------------------------//

//****************************************************************** FIX_AND_SECURITY_FEATURES ******************************************************************//
/* IMPORTANT NOTE!!! - Both encryption systems CANNOT BE ACTIVATED at the same time!!! Btw if you disable both, packet encryption will be COMPLETELY turned off. */
//#define _IMPROVED_PACKET_ENCRYPTION_ // Ymir Improved Packet Encryption System
//#define _OLD_PACKET_ENCRYPTION_      // Ymir Old Packet Encryption System (Old ones like xtea, pong, keys etc.)
//#define ENABLE_EXTERNAL_IP_SUPPORT   // For Cloud (Oracle, Google, AWS, Azure) External IP Support (INFO; If you don't use external ip, NOT uncomment this!)
#define ENABLE_PORT_SECURITY           // P2P (API Tool) Extra Security
//************************************************************** END_OF_FIX_AND_SECURITY_FEATURES ***************************************************************//

//---------------------------------------------------------------------------------------------------------------------------------------------------------------//

//********************************************************************** OPTIONAL_FEATURES **********************************************************************//
//#define ENABLE_PVP_SERVER_MODE              // With this define, new players start 90 Level and have 1Kkk yang also they have +9 item set. (Look DEFINE_SETTINGS)
//#define UNLIMITED_POTIONS                   // Unlimited Potions (Ex; HP/SP Potions, Purple/Green Potions, Ability Potions, Blends etc.)
//#define UNLIMITED_CAPE_OF_COURAGE           // Unlimited Cape Of Courage (All Vnums)
//#define UNLIMITED_METIN_STONE_DETECTOR      // Unlimited Metin Stone Detector (All Vnums)
//#define UNLIMITED_GUILD_MEMBER              // Unlimited Guild Member (This one allows you to take unlimited guild member in your guild rather than limited version)
//#define UNLIMITED_ARROWS                    // Unlimited Arrows (All Vnums)
//#define BOOSTED_EXP_DROP                    // 8x EXP Drop Bonus (Sometimes Will Useful For Speed-up In Game Test Purposes) - (Works ONLY in test server mode!)
//#define BOOSTED_YANG_DROP                   // 4x Yang Drop Bonus (Sometimes Will Useful For Increase In Game Earnings)
//#define DISABLE_EMPIRE_DAMAGE_ADVANTAGE     // Disable Empire Damage Advantage (If the attacker belongs to a different empire, reduce damage by %10)
//#define DISABLE_BOW_DISTANCE                // Disable Bow Distance Factor in the Assasin Damage Calculation
//#define DISABLE_STAMINA_WALK                // Disable Walk Mode When Stamina is 0 (NOTE: Not only for PC's, also AI, Horse and Pets include this too!)
//#define DISABLE_DEATH_PENALTY               // Disable EXP Loss After Death (Restart Here)
//#define DISABLE_PREVENT_DEATH_FROM_POISON   // Disable Prevent Death From Poison (INFO: If this enabled, PC's can die due poison damage, HP not stay at 1.)
//#define DISABLE_HORSE_HEALTH_AND_STAMINA    // Disable Horse Health and Stamina Factors (So horse never be die, never be starving, never be out of stamina etc.)
//#define DISABLE_LOVER_NEED_SP_TO_WARP       // Disable Lovers Need SP For Warp (With Marriage Ring)
//#define DISABLE_MONSTERS_POISONED_ONLY_ONCE // Disable Monsters Poisoned Only Once (Normally players just have one chance to poison while kill the monster)
//#define DISABLE_NEED_EXP_FOR_SKILL_READING  // Disable Need EXP For Skill Reading (Normally players give 20.000 EXP for each reading)
//#define DISABLE_GUILD_SKILL_USAGE           // Disable Guild Skill Usage During War (Only guild leader can use skills)
//#define DISABLE_GUILD_JOIN_COOLDOWN         // Disable Guild Re-join Cooldown (After leave or kick some guild you not wait any time for join again)
//****************************************************************** END_OF_OPTIONAL_FEATURES *******************************************************************//

//---------------------------------------------------------------------------------------------------------------------------------------------------------------//

//*********************************************************************** DEFINE_SETTINGS ***********************************************************************//
#ifdef ENABLE_PVP_SERVER_MODE // This option made for PvP server concept, if you activated this define YOU MUST NEED TO EDIT START QUEST! (Like gold,items etc.)
    #define PLAYER_START_LEVEL            90         // New player start Level.
    #define PLAYER_START_GOLD            1000000000 // New player start Yang.
    #define PLAYER_MAX_INITIAL_ITEM        8          // New player initial items max.
#endif //ENABLE_PVP_SERVER_MODE
//******************************************************************* END_OF_DEFINE_SETTINGS ********************************************************************//
#endif //__MT2DEV_SERVER_SERVICEDEFS_H__
 
Uzun süre boyunca güncelleme veremedim fakat daha önce söylediğim gibi dosyaları tek tek baştan sona okuyorum aralarda gerekli gördüğüm yerlere fixler ekliyorum, paranoya derecesinde kontrol ekleme hastalığına yakalandım yakında oyuncular oyunda yürürken bile bir kontrole takılacak diye korkuyorum.. İnsan sonunda en nefret ettiği kişiye dönüşürmüş sanırım ben GF oluyorum. :ROFLMAO: Aslında bu kontrol ve fix hastalığının sebebi bu oyunun kitlesinin kötü niyeti ve her açığı kullanma potansiyeli şuan official sunucuda item alıp satarken bile süre sınırı var her şeye süre sınırı getirdiler, olabilecek buglardan korktukları için, bende benzer şekilde eklemeler yapınca fark ettim ki GF bu konuda haksız değil, oyunculara güvenemeyince sürekli kontrol ekleyesin geliyor. :LOL:

Şuna hala server tarafındayım bütün klasörler bitti şuan game klasöründeyim, marriage.cpp dosyasına kadar olanları hallettim aşağısı kaldı, güncel yama notlarını ve klasör düzenini paylaşayım;

17216 eklentisini görüntüle17217 eklentisini görüntüle17218 eklentisini görüntüle

Güncel yama notlarının son hali (Bazı fixleri kaldırıp yerine farklı fixler ekledim, mesela 50, 72 ve 88 şuan aklıma gelenler);

Serverside_Info.h:
/*##############################################################################################################*/
/*#####################################*/   GAME & DB Version; 40070   /*#######################################*/
/*##############################################################################################################*/
/*--------------------------------------------------------------------------------------------------------------*/
/*##############################################################################################################*/
/*######################################*/     "MT2Dev - Fixler"     /*#########################################*/
/*##############################################################################################################*/

/*FIX ISMI                           DUZELTILEN SORUNUN ACIKLAMASI                                ISLEM YAPILAN DOSYA*/
- DevFix 1   = Internal IP sorunu duzeltildi.                                                        (config.cpp)
- DevFix 2   = NPC'den 0 yanga item alamama sorunu duzeltildi.                                        (shop.cpp)
- DevFix 3   = Artik item yansitirken icgoru kuresi istemiyor.                                        (input_main.cpp)
- DevFix 4   = Dice komutu deaktif edildi, kullanmayacagim icin kapatmayi tercih ettim.                (cmd_general.cpp)
- DevFix 5   = Yere yang atma ozelligi deaktif edildi.                                                (char_item.cpp)
- DevFix 6   = Duygu maskesi olmadan duygu kullanimi aktif edildi.                                    (cmd_emotion.cpp)
- DevFix 7   = War -111 Crash sorunu duzeltildi eger sayi 0'dan dusukse (-) komut calismaz.            (cmd_general.cpp)
- DevFix 8   = Karakterin giydigi iteme efsun ekleme&degistirme acigi duzeltildi.                    (char_item.cpp)
- DevFix 9   = Lonca exploit acigi duzeltildi, gerekli kontroller eklendi.                            (input_main.cpp)
- DevFix 10  = Sersemlik islememe sorunu duzeltildi, kod bloklarinda detayli bilgi mevcut.            (item.cpp&item.h)
- DevFix 11  = Yesil efsun ve arttirma artik 40 Level alti tum itemlerde kullanilabilir.            (char_item.cpp)
- DevFix 12  = Cube r_Info core crash sorunu duzeltildi.                                            (cube.cpp)
- DevFix 13  = Nadir olarak tetiklenen onemli bir CoreDowner duzeltildi.                            (questlua_npc.cpp)
- DevFix 14  = Lonca ve Grup CoreDowner duzeltildi.                                                    (input_main.cpp)
- DevFix 15  = Dungeon Count Monster duzeltildi, artik sadece metin yada canavarsa sayilacak.        (dungeon.cpp)
- DevFix 16  = Dungeon Memory Leak duzeltildi.                                                        (dungeon.cpp)
- DevFix 17  = Nadir tetiklenen bir Cube CoreDowner duzeltildi.                                        (cube.cpp)
- DevFix 18  = Binek veya At uzerinde evlilik itemi giyme engeli eklendi.                            (char_item.cpp&char_horse.cpp)
- DevFix 19  = Clear_Server_Timer fonksiyonu detaylandirildi.                                        (questlua_global.cpp)
- DevFix 20  = Char_Log fonksiyonu detaylandirildi.                                                    (questlua_global.cpp)
- DevFix 21  = Dungeon Core Downer duzeltildi.                                                        (char.cpp)
- DevFix 22  = CancelServerTimers fonksiyonu degistirildi.                                            (questmanager.cpp)
- DevFix 23  = Yuksek HP&SP oranlarinda degerlerin eksiye dusmesi duzeltildi.                        (Packets.h)
- DevFix 24  = CArena::SendPacketToObserver fonksiyonu komple yenilendi.                            (arena.cpp)
- DevFix 25  = CArena::SendChatPacketToObserver fonksiyonu komple yenilendi.                        (arena.cpp)
- DevFix 26  = CArenaManager::IsLimitedItem fonksiyonu komple yenilendi, ekstralar eklendi.            (arena.cpp)
- DevFix 27  = Gerekli bazi ekstra kontroller eklendi.                                                (Lot of files have this one)
- DevFix 28  = ComputePoints cagirildiginda devreye giren HP/SP duzenlemesi.                        (char.cpp)
- DevFix 29  = Sync fonksiyonu duzenlendi, binege binince oyundan atma duzeltildi.                    (char.cpp)
- DevFix 30  = Sync fonksiyonu duzenlendi, IsNPC icerisindeki syslog detaylandirildi.                (char.cpp)
- DevFix 31  = Statuler artik son levele kadar gelmeye devam eder, normalde 90'da bitiyordu.        (char.cpp)
- DevFix 32  = APPLY_MAX_HP & APPLY_MAX_SP ve HP/SP pct ayrica affectleri duzenlendi.                (char.cpp)
- DevFix 33  = Madencilik hile engeli, mesafe kontrolu sayesinde uzaktan kazilamaz.                    (char.cpp)
- DevFix 34  = CHARACTER::IsNearWater fonksiyonu eklendi, balikcilik icin yeni bir kontrol.            (char.cpp)
- DevFix 35  = CHARACTER::SetSyncOwner fonksiyonuna ekstra kontrol eklendi.                            (char.cpp)
- DevFix 36  = - HP icin bir kontrol yoktu, olasi crash'i engellemek icin kontrol eklendi.            (char.cpp&char_battle.cpp&char_state.cpp)
- DevFix 37  = CHARACTER::Get&SetQuestFlag icerisine null pointer kontrolu eklendi.                    (char.cpp)
- DevFix 38  = CHARACTER::MountVnum icerisine ekstra kontrol eklendi.                                (char.cpp)
- DevFix 39  = Affect icin 3 yeni fonksiyon eklendi, affectleri yenilemek icin kullanilacak.        (char.h&char_affect.cpp&char_item.cpp)
- DevFix 40  = Eski tarz ve modern stilden uzak bir kod blogu duzenlendi.                            (char_battle.cpp)
- DevFix 41  = Duz vuruslardaki delici patlama efekti aktif edildi.                                    (char_battle.cpp)
- DevFix 42  = Bayrak degisimi esnasinda yasanabilecek buglarin onune gecildi.                        (char_change_empire.cpp)
- DevFix 43  = Arena mapinde ata binme engeli eklendi.                                                (char_horse.cpp)
- DevFix 44  = Mor veya Yesil pot kullanildigi zamanlarda cikacak pot icme efekti eklendi.            (char_item.cpp)
- DevFix 45  = 6-7 Efsunlarin kostumlere eklenmesi engellendi.                                        (char_item.cpp)
- DevFix 46  = Izgara levrek basinca kotu afectlerin gitmesi saglandi, orijinalindeki gibi.            (char_item.cpp)
- DevFix 47  = Evlilik esyalarina efsun ekleme bugu engellendi.                                        (char_item.cpp)
- DevFix 48  = Artik size dusmeyen(owner) bir itemi yerden alamazsiniz.                                (char_item.cpp)
- DevFix 49  = Statu dagitimi esnasinda tek kontrol donusum icindi, ekstra kontrol eklendi.            (cmd_general.cpp&cmd_gm.cpp)
- DevFix 50  = Ata, binege inip binerken spamin onune gecmek icin 1 saniyelik bir kontrol eklendi.    (cmd_general.cpp&questlua_pc.cpp)
- DevFix 51  = Komutlardan do_state icerisinde duzenleme yapildi, fonksiyon detaylandirildi.        (cmd_gm.cpp)
- DevFix 52  = Set komutları icinde race ve cinsiyet aktif degildi, onlar aktif edildi.                (cmd_gm.cpp)
- DevFix 53  = GM "/level" ve "/a" kodlari duzenlendi, gerekli kontroller ve mesajlar eklendi.        (cmd_gm.cpp)
- DevFix 54  = Full_Set komutu komple degistirildi, verdigi itemler ve efsunlari duzenlendi.        (cmd_gm.cpp)
- DevFix 55  = Lisani olmayan karakterlerin gorecegi metinler duzenlendi ve sadelestirildi.            (empire_text_convert.cpp)
- DevFix 56  = Loncaya alma fonksiyonuna ekstra bir kontrol eklendi.                                (guild.cpp)
- DevFix 57  = "struct FGuildCompare" modern C++ standartlarindan yardim alarak yeniden yazildi.    (guild_manager.cpp)
- DevFix 58  = Lonca para yatirma ve cekme fonksiyonlarina kontrol eklendi.                            (guild.cpp)
- DevFix 59  = Lonca daveti (invite) fonksiyonuna onemli bir kontrol eklendi.                        (guild.cpp)
- DevFix 60  = Lonca savasi esnasindaki kill fonksiyonuna izleyiciler icin kontrol eklendi.            (guild_manager.cpp)
- DevFix 61  = Handshake does not handle syserri daha detayli analiz icin gelistirildi.                (input.cpp)
- DevFix 62  = Karakter isminin 12 karakterden fazla olmamasi icin kontrol eklendi.                    (input_login.cpp)
- DevFix 63  = Header 100 syserri icin duzenleme yapildi.                                            (input_login.cpp)
- DevFix 64  = Fisilti fonksiyonu icerisine hedef kisi bilgilerini almak icin ekleme yapildi.        (input_main.cpp)
- DevFix 65  = GM karakterlerin bagirmadan yazmak icin 15 saniye bekleme sarti kaldirildi.            (input_main.cpp)
- DevFix 66  = Depodan direkt olarak kemer slotuna item koymak mumkundu, kontrol eklendi.            (input_main.cpp)
- DevFix 67  = Yeni binek sisteminde, suresi biten binekler icin bir duzenleme eklendi.                (item.cpp)
- DevFix 68  = Kontrol icin kullanilan bir sorgu, daha saglikli olacak sekilde duzenlendi.            (item.cpp)
- DevFix 69  = Create Item fonksiyonu icerisinde, AlterToMagicItem icin duzenleme yapildi.            (item_manager.cpp)
- DevFix 70  = Karakterlerin olumu oncesi kullanilan Stun efektinin suresi dusuruldu.                (char_battle.cpp)
- DevFix 71  = Yerine donen coward moblarin dusuk bir ihtimalle kacmasi engellendi, cunku gereksiz.    (char_state.cpp)
- DevFix 72  = Depo sifresi degistirme isleminde yeni sifrenin sadece rakamlardan olusmasi saglandi.(cmd_general.cpp)
- DevFix 73  = Hata tespiti icin gerekli olabilecek bir kac syserr eklendi.                            (item_manager_read_tables.cpp&regen.cpp)
- DevFix 74  = Artik oyuncu cesitli aktivitelerde bulundugunda oyundan cikma iptal edilir.            (input_main.cpp)
- DevFix 75  = Evlilik sistemindeki lovepoints overflow sorunu duzeltildi.                            (marriage.cpp)
- DevFix 76  = Messenger_Auth ile yapilan flood saldirisi icin gerekli onlemler eklendi.            (messenger_manager.cpp)
- DevFix 77  = OX girisinde eventin acik olup olmadigini sorgulayan bir kontrol eklendi.            (OXEvent.cpp)
- DevFix 78  = Gerekli kodlara "== 0" yerine daha saglikli olan ".empty" yontemi eklendi.            (Lot of files have this one)
- DevFix 79  = IsPartyInDungeon fonksiyonu eklendi, grup icin gerekli kontrolleri iceriyor.            (party.cpp&h)
- DevFix 80  = Karakter olunce petin gonderilmesi kapatildi ve gerekli bir kontrol eklendi.            (PetSystem.cpp)
- DevFix 81  = Belirli maplerde ozel bufflar veren petler icin duzenleme yapildi.                    (PetSystem.cpp)
- DevFix 82  = CPVPManager::HasDuel fonksiyonu eklendi, PvP sistemi icin yeni bir eklenti.            (pvp.cpp)
- DevFix 83  = Quest fonksiyonlarinda gerekli yerlere null pointer kontrolu eklendi.                (quest.h&questlua.cpp)
- DevFix 84  = Quest fonksiyonu "_get_special_item_group" eklendi, bazi kontroller de iceriyor.        (questlua_global.cpp)
- DevFix 85  = Gerekli bazi quest fonksiyonlarinin icerisine ekstra bir update kontrolu eklendi.    (questlua_item.cpp)
- DevFix 86  = Kullanisli olabilecek 3 yeni npc quest fonksiyonu eklendi.                            (questlua_npc.cpp)
- DevFix 87  = Olusabilecek tum SQL Injection aciklari kapatildi, gerekli kontroller eklendi.        (Lot of files have this one)
- DevFix 88  = Ticaret esnasinda herhangi bir itemi kullanma/hareket ettirme/yere atma engellendi.    (char_item.cpp)
- DevFix 89  = Binek bonus fonksiyonunun icine gerekli bir kontrol eklendi.                            (questlua_pc.cpp)
- DevFix 90  = "/quit" islevinin icerisine ekstra bir kontrol ve komut eklendi.                        (cmd_general.cpp)
- DevFix 91  = Belirli sartlarda iki kez tetiklenen (when kill begin) quest kosulu duzenlendi.        (questmanager.cpp)
- DevFix 92  = ServerTimer fonksiyonunun syslogu detaylandirildi.                                    (questmanager.cpp)
- DevFix 93  = 4 adet NPC:: fonksiyonu yeniden duzenlendi.                                            (questnpc.cpp)
- DevFix 94  = QuestPC "EndRunning" fonksiyonuna kontrol eklendi, olasi dupelerin onune gecildi.    (questpc.cpp)
- DevFix 95  = "SECTREE_MAP::Build" fonksiyonu duzenlendi, gereksiz kodlar temizlendi.                (sectree_manager.cpp)
- DevFix 96  = Bir pazardaki itemi iki oyuncu ayni anda alinca ortaya cikan crash duzeltildi.        (shop.cpp)
- DevFix 97  = Fonksiyonlar icerisinde kullanmak icin three_arguments (arg3) destegi eklendi.        (utils.cpp&utils.h)
- DevFix 98  = "CHARACTER_MANAGER::Update" fonksiyonu modern C++'ya uygun sekilde yeniden yazildi.    (char_manager.cpp)
- DevFix 99  = CGuild icerisinde bazi fonksiyonlar yeni C++ ozellikleri kullanilarak guncellendi.    (guild.cpp&guild_manager.cpp)
- DevFix 100 = Atin saglik degeri max seviyeye gelmesine ragmen beslemeye devam edebilme engellendi.(horse_rider.cpp&cmd_general.cpp)
- DevFix 101 = Test server modunda GM logosu aktif degildi, degistirilip aktif hale getirildi.        (char.cpp)
- DevFix 102 = Test server modunda beklememek icin lonca savasi baslangic suresi degistirildi.        (GuildManager.cpp)
- DevFix 103 = Test server modunda tum GM'lar Implementor olarak ayarlaniyordu, deaktif edildi.        (char.cpp&gm.cpp)
- DevFix 104 = "GUILD_SUBHEADER_CG_DEPOSIT/WITHDRAW_MONEY" fonksiyonlari duzenlendi.                (input_main.cpp)
- DevFix 105 = Ymir'in es gectigi nullptr kontrolleri gerekli yerlere eklendi.                        (char_manager.cpp&item_manager.cpp)
- DevFix 106 = Hava Kilici ve Buyulu Silahin silahsiz kullanilmamasi icin kontrol eklendi.            (char_skill.cpp)
- DevFix 107 = Ymir in ekleyip aktif etmedigi ise yarar "sys_log" lar test_server icin aktif edildi.(Lot of files have this one)   --->   (/* BILGI: Normal olarak eklenen ama sadece test_server modunda ise yarayacak olanlar da, sadece test_server modunda aktif olacak sekilde duzenlendi. */)
- DevFix 108 = Paket istismarini onlemek ve floodlari kontrol etmek icin duzenlemeler yapildi.        (input.cpp)
- DevFix 109 = Ymir in her zaman ki gibi es gectigi olasi bir "Memory Leak" onlendi.                (ClientManager.cpp&safebox.cpp)
- DevFix 110 = "CHARACTER::ExchangeStart" fonksiyonu yenilendi ve ekstra kontroller eklendi.        (exchange.cpp)
- DevFix 111 = Gerekli ve hatta gereksiz(garanticiyim) yerlere nullptr kontrolu eklendi.            (Lot of files have this one)
- DevFix 112 = Oyuncu nicki aratilirken gereken buyuk/kucuk harf duyarliligi kaldirildi.            (p2p.cpp)   --->   (/* BILGI: Bazi GM kodlari ve fisilti sisteminde bir oyuncu adini yazarken buyuk/kucuk harflere uyarak nicki tam olarak yazmasaniz bile aradiginiz oyuncu bulunacaktir. Ozel semboller veya harfler kullanilarak nick alinabilen sunucularda KESINLIKLE KULLANILMAMALIDIR !!!*/)
- DevFix 113 = Karakterler yaratilirken verilen random statlar sabit hale getirildi.                (constants.cpp)
- DevFix 114 = Eksik bir bolume gerekli "sys_log" blogu eklendi, bilgi onemli.                        (ClientManager.cpp&input_db.cpp)
- DevFix 115 = Ata veya binege belirli maplerde binilmemesi icin kontrol eklendi.                    (char_item.cpp&cmd_general.cpp)
- DevFix 116 = "CHARACTER::BuffOnAttr_ValueChange" fonksiyonu modern tarzda yenilendi.                (char_item.cpp)
- DevFix 117 = Eger oyuncu son seviyeye ulasirsa, beceri kitabi okumasi icin EXP gerekmeyecektir.    (char_skill.cpp)
- DevFix 118 = Game Masterlar artik aninda "Burada Basla" veya "Sehirde Basla" ile dirilebilirler.    (cmd_general.cpp)
- DevFix 119 = Sadece GMlerin kullanmasina izin verilen komutlara ekstra kontroller eklendi.        (cmd_general.cpp&cmd_gm.cpp)
- DevFix 120 = "Cube_make" icerisine gerekli bir -yang kontrolu eklendi.                            (cube.cpp)
- DevFix 121 = Bazi GM veya Player komutlarinda negatif(-) arg kullanimi engellendi.                (cmd_gm.cpp&cmd_general.cpp)
- DevFix 122 = Gereksiz buyuk veri tipi kullanan yerler, bellek tuketimini azaltmak icin duzenlendi.(Lot of files have this one)
- DevFix 123 = "/do_set" komutu komple yenilendi, eksik kontroller eklendi.                            (cmd_gm.cpp)
- DevFix 124 = Razador, Nemere gibi zindanlarda grup bozulmamasi icin kontrol eklendi.                (input_main.cpp)

/*###################################################################################################*/
/*#############*/     "MT2Dev - Kaldirilan Sistemler, Silinen Fonksiyonlar vs."      /*##############*/
/*###################################################################################################*/

** - Listede ekli olmayan, Ymir'in test amacli ekledigi veya ekleyip hicbir yerde kullanmadigi tum kodlar temizlendi.
1   - XTrap
2   - HackShield
3   - Metin2Server_IsInvalid
4   - Metin2Server_Check
5   - Limit_time
6   - Libserverkey
7   - FileMonitor_FreeBSD
8   - Auction
9   - Monarch
10  - PC_Bang
11  - Traffic Profiler
12  - IP_Ban
13  - dev_log
14  - HotBackup
15  - China Event Server
16  - Distribution Test Server
17  - GTest
//18 - Sequence - 0.60V Surumunde sadece debugging kullanimi icin tekrar aktif edildi.
19  - Over9Refine
20  - Roulette
21  - Lotto
22  - SpeedServer
23  - Mobile
24  - SMS
25  - g_GoldDropTimeLimitValue
26  - Spam Event (/*IFDEF ILE GERI EKLENEBILIR... - 2024/EKLENMELI CUNKU ISE YARAYABILIR*/)
27  - GreetMessage
28  - VCard
29  - Teen
30  - NetMarble
31  - Three Way
32  - Forked
33  - Block Exception
34  - Block Country
35  - OpenID  (/*Login4*/)
36  - Passpod (/*Login5*/)
37  - Auth Brazil
38  - Auth Japan
39  - Gereksiz butun locale kodlari (/*LC_Isxxx kodlarinin tamami*/)
40  - DBString
41  - Billing (/*IFDEF ILE GERI EKLENEBILIR... EGER IFDEF ILE GERI EKLERSEN LOGIN_SIM VE RemainSecs SISTEMINI DE BUNA BAGLA!!*/)
42  - Matrix Card (/*Runup,China,SecurityCode vs. her turlusu*/)
43  - Castle
44  - Ymir'in ekledigi hicbir ise yaramayan hile/hack kontrolleri
45  - ClientPackageCryptInfo
46  - Panama
47  - Over_Time
48  - CRC (/*Ornek; Reload_crc, CRCMagicCube vs.*/)
49  - Revive_invisible
50  - Header_Version2
51  - ShopEX
52  - do_mount
53  - do_siege
54  - do_frog
55  - do_dice
56  - valid_ip
57  - exp_table_euckr
58  - exp_table_newcibn
59  - g_iUseLocale
60  - SUseTime
61  - HammerOfThor
62  - ItemDrop2
63  - Input_UDP
64  - FN_is_battle_zone
65  - NewPlayerTable2
66  - M2_USE_POOL
67  - DEBUG_ALLOC (/*Ve diger tum alloc/ALLOCATOR dosyalari*/)
68  - is_twobyte_sjis
69  - check_name_sjis
70  - sjis_is_disable_name_char (/*Ve sjis ile alakali tum diger kodlar*/)
71  - CLoginData::Set/GetRemainSecs (/*IFDEF ILE GERI EKLENEBILIR...*/)
72  - Noncopyable
73  - __UNITTEST__
74  - HybridCrypt
75  - Kullanilmayan tum paket kodlari
76  - Windows build icin eklenen tum kodlar (/*Sadece FreeBSD ile derleyecegim icin(SIMDILIK)*/)
77  - AdminPage sistemi (/*Komple*/)
78  - AdminMode
79  - HEADER_CG_TEXT (/*Web site P2P soket baglantisi, kullanmayi dusunenler tekrar eklemeli*/)
80  - Oyun sunucusundaki CMD dosyasi
81  - FuncDoNothing
82  - _20050304Myevan
83  - USE_DEBUG_PTR
84  - pt_log (/*PTS*/)
85  - __FISHING_MAIN__
86  - Safebox Money
87  - ComboSequence
88  - mob_proto_test/item_proto_test
89  - do_console
90  - do_vote_block_chat
91  - do_change_attr
92  - do_add_attr
93  - do_add_socket
94  - do_change_rare_attr
95  - do_add_rare_attr
96  - GOST_Encrypt
97  - GOST_Decrypt
98  - DES_Encrypt
99  - DES_Decrypt
100 - KStbl
101 - hangul
102 - _under_han
103 - __USE_SELECT__
104 - _TEST
105 - isNameFile
106 - QuestItemTable
107 - LogToFile
108 - DB icindeki "grid.cpp/h" dosyalari (/*Zaten libgame icinde birebir aynisi mevcut*/)
109 - DB icindeki "Lock.cpp/h" dosyalari
110 - __DUMP_PROTO__
111 - _ani_cpp_
112 - if 0 (/*BILGI: Bu if blogu C++'da ilgili kod blogunun devre disi birakilmasini saglar, comment satirina donusturmekle ayni isleve sahiptir*/)
113 - _blend_item_cpp_
114 - GiveAllAttributes
115 - == true veya true == (/*BILGI: Modern C++'da bir if blogu zaten true olup olmadigini sorgular (Ornek; if (p) eger p == true ise devam eder), true ise bunu dondurecektir ayrıca eger deger NULL yani 0 ise, bu uygulama yanlis bir sonuca yol acabilir, bu C dilinden kalan kotu bir aliskanliktir ve günümüz C++'ında gereksizdir dolayisiyla tercih edilmemelidir!*/)
116 - != NULL veya NULL != (/*BILGI: Modern C++'da derleyiciler pointerlarin dogrudan kullanimini destekler, if (p) yazmak if (p != NULL) ile tamamen ayni kontrolleri saglar, bu eklenti guvenlik saglamadigi gibi, bazi ekstrem durumlarda problem bile yaratabilir ve günümüz C++'ında tercih edilmemelidir!*/)
117 - IS_MONKEY_DUNGEON
118 - IS_BOTARYABLE_ZONE
119 - hyuniron_prob_euckr
120 - yagong_prob_euckr
121 - WEAR_RING1/WEAR_RING2
122 - LuckyBagInfo b2
123 - prob_table_euckr
124 - ItemAttrCycle/ItemAttrFlag
125 - Tanimlanip hicbir yerde kullanılmayan #define kodlari
126 - do_b1 / do_b7 arasi tum aktif olmayan kodlar
127 - do_temp
128 - g_noticeBattleZone
129 - guild_exp_table2
130 - KOR_aiPartyBonusExpPercentByMemberCount
131 - KOR_aiUniqueItemPartyBonusExpPercentByMemberCount
132 - _cube_cpp_
133 - FN_cube_print
134 - PROTECT_CHILD
135 - Login_IsInChannelService
136 - SHOP_SUBHEADER_CG_SELL2
137 - __deposit_limit
138 - FUCKING_BRAZIL
139 - check_name_latin1
140 - check_name_euckr
141 - is_twobyte (/*gb232, big5, euckr vs.*/)
142 - WriteVersion

Settings.h:
/***********************************************************************/
/* FILE:    Settings.h                                                 */
/* INFO:    All important settings are linked to a single header file. */
/* AUTHOR:  MT2Dev                                                     */
/* DATE:    26/11/2020                                                 */
/***********************************************************************/
#ifndef __MT2DEV_SERVER_SETTINGS_H__
#define __MT2DEV_SERVER_SETTINGS_H__

// SECURITY_SETTINGS
#define CLIENT_VERSION_KEY                2407972020       // Client Version Key, it's must be same on the serverside!
#define LSS_SECURITY_KEY                4321dcba5678efgz // Ymir Security Key (Only used if _OLD_PACKET_ENCRYPTION_ is enabled)
// END_OF_SECURITY_SETTINGS

// VARIOUS_SETTINGS
#define MAP_ALLOW_LIMIT                    32         // Map Allow Limit.
#define PK_LEVEL_FOR_PROTECT            15         // PK Protect Level For New Players (Ex; If this is 15, nobody can hit (PvP) new players if they under 15 level)
#define MAX_STAT                        95         // Maximum Stat Points. (Note: The packside needs to be change too when you set another value here, to avoid gauge bug.)
#define MAX_LEVEL_POINT_CAN_STEP        98         // Maximum Level at Which The Character Will Continue to Gain Status.
#define MAX_ITEM_INTRO_STACK            200        // Maximum Number of Items Stacked (Maximum setting that can be made for now; 255).
#define GOLD_MAX                        2000000000 // Maximum Yang Limit (Maximum setting that can be made for now {int}; 2.147.483.647 Yang).
#define INVENTORY_MAX_NUM                90         // Number of Inventory Slots (90 Slots = 2 Inventory). (Note: The sum of the slots of the inventory should not exceed 255 !!)
#define INVENTORY_PAGE_COUNT            2          // Inventory Total Page Count.
#define ITEM_DROP_PENALTY_LEVEL            50         // Minimum Level to Item Drop Penalty (Note: If the low rank character is below level 50, their item will not drop.)
#define MOBS_DISAPPEARANCE_TIME            3          // Mobs disappearance time(Second) after death, it needs to be kept low to avoid lag.
#define AUTO_RESTART_TOWN_TIME            180        // After Player's die, if they not choose start here/town, after this time they will be spawn in town automatically.
#define BRAVE_CAPE_POSSIBILITY            80         // Brave Cape - Possibility(%) (With just one click) to Attract Monsters.
#define BRAVE_CAPE_MAX_DISTANCE            5000       // Brave Cape - Maximum Distance Of Monsters You Can Attract.
#define CAMPFIRE_TIME                    30         // How many seconds will the campfire be active after using it ?
#define STONE_INSERT_PERCENT_CHANCE        30         // Chance(%) For Stones to be Added.
#define ORE_INSERT_PERCENT_CHANCE        50         // Percentage(%) of Success When Adding Ores to The Item.
#define ITEM_ACCESSORY_SOCKET_MAX_NUM    3          // Maximum Number of Ores That Can Be Added to Interior Items.
#define KILLER_MODE_COOLDOWN            30         // After PC's set PvP mode Free or Guild, how many seconds need to set Peace after not hit anyone.
#define SHORT_PORTAL_LIMIT_TIME            3          // Cooldown Before Warp When Not Doing Anything Recently.
#define PORTAL_LIMIT_TIME                10         // Cooldown Before Warp For Trading or Post-Battle Control.
#define REQUEST_LIMIT_TIME                10         // Validity Seconds Of Requests Received By Players.
#define ITEM_DESTROY_TIME                10         // The Time(Second) It Takes For an Item The Player Throws to Disappear.
#define OWNER_ITEM_DESTROY_TIME            240        // The Time(Second) It Takes For an Item To Drop Specifically For One Player To Disappear or Delete Ownership. (Items with an anti-flag against dropping, that is, only the owner can take that item.)
#define DROP_ITEM_DESTROY_TIME            60         // The Time(Second) It Takes For an Item To Drop Player. (with ownership)
#define ORE_ITEM_OWNERSHIP_TIME            20         // The Time(Second) It Takes For an Ore Item(Mining) To Drop Player. (with ownership)
#define CAN_RESET_HERE_TIME                170        // How Soon After The Character Dies Will He Be Able to Stand Up ? (170 = 10 Seconds) (Respawn Here)
#define CAN_RESET_TOWN_TIME                173        // How Soon After The Character Dies Will He Be Able to Stand Up ? (173 =  7 Seconds) (Respawn Town)
#define CAN_SHOUT_LEVEL_LIMIT            15         // Level Required to Shout.
#define CAN_SHOUT_TIME_LIMIT            15         // Time Required to Shout.
#define PARTY_CAN_JOIN_MAX_LEVEL        30         // Maximum Level Difference Between Players to Enter a Group.
#define MAX_MEMBER_INTRO_PARTY            8          // Maximum Number of Players That Can Be in a Group.
#define SAFEBOX_MAX_NUM                    135        // Maximum Number of Safebox Slots (135 Slots = 3 Page).
#define SAFEBOX_PASSWORD_MAX_LEN        6          // Safebox Maximum Password Length.
#define DEAD_HORSE_DISAPPEAR_TIME        20         // When Player Summon Their Dead Horse, How Many Seconds Take To Disappear ?
#define NEW_CHAR_CREATE_COOLDOWN        30         // Players Can Only Create One Character Per 30 Seconds (To Prevent Spam).
#define NECESSARY_GOLD_FOR_GUILD        200000     // Necessary Yang For Create a New Guild.
#define NECESSARY_LEVEL_FOR_GUILD        40         // Necessary Level For Create a New Guild.
// END_OF_VARIOUS_SETTINGS

// TRICKY_SETTINGS
// WARNING: Don't change this one's, if you don't know what are you doing exactly.. - [MT2Dev Note] - 30/05/2023
#define QUEST_NAME_MAX_LEN                32
#define QUEST_STATE_MAX_LEN                64
#define MAX_ALLOW_USER                    4096
#define DRAGON_SOUL_STRENGTH_MAX        7
#define MAX_BLEND_ITEM_VALUE            5
#define POLYMORPH_SKILL_ID                129
#define POLYMORPH_BOOK_ID                50322
#define OXEVENT_MAP_INDEX                113
#define NORM_ATTR_MAX                    5
#define RARE_ATTR_MAX                    2
#define GUILD_SYMBOL_FILENAME            "guild_symbol.tga"
#define OLD_MARK_INDEX_FILENAME            "guild_mark.idx"
#define OLD_MARK_DATA_FILENAME            "guild_mark.tga"
// END_OF_TRICKY_SETTINGS
#endif //__MT2DEV_SERVER_SETTINGS_H__

ServiceDefs.h:
/********************************************************/
/* FILE:    ServiceDefs.h                               */
/* INFO:    All defines linked to a single header file. */
/* AUTHOR:  MT2Dev                                      */
/* DATE:    11/09/2023                                  */
/********************************************************/
#ifndef __MT2DEV_SERVER_SERVICEDEFS_H__
#define __MT2DEV_SERVER_SERVICEDEFS_H__

//********************************************************************* DEBUGGING_FEATURES **********************************************************************//
//#define ENABLE_SEQUENCE_SYSTEM  // Ymir Sequence System (Useful for debugging)
#define USE_STACKTRACE            // Ymir Stacktrace System for Analyze Errors (Be sure to edit game/src/Makefile, USE_STACKTRACE = 1 or 0)
#define USE_QUERY_LOGS            // Logging Queries for Analyzing (If it is test server of course)
#define ENABLE_SYSLOG_PACKET_SENT // Syslogs for Packet Sent (If it is test server of course)
//***************************************************************** END_OF_DEBUGGING_FEATURES *******************************************************************//

//---------------------------------------------------------------------------------------------------------------------------------------------------------------//

//****************************************************************** FIX_AND_SECURITY_FEATURES ******************************************************************//
/* IMPORTANT NOTE!!! - Both encryption systems CANNOT BE ACTIVATED at the same time!!! Btw if you disable both, packet encryption will be COMPLETELY turned off. */
//#define _IMPROVED_PACKET_ENCRYPTION_ // Ymir Improved Packet Encryption System
//#define _OLD_PACKET_ENCRYPTION_      // Ymir Old Packet Encryption System (Old ones like xtea, pong, keys etc.)
//#define ENABLE_EXTERNAL_IP_SUPPORT   // For Cloud (Oracle, Google, AWS, Azure) External IP Support (INFO; If you don't use external ip, NOT uncomment this!)
#define ENABLE_PORT_SECURITY           // P2P (API Tool) Extra Security
//************************************************************** END_OF_FIX_AND_SECURITY_FEATURES ***************************************************************//

//---------------------------------------------------------------------------------------------------------------------------------------------------------------//

//********************************************************************** OPTIONAL_FEATURES **********************************************************************//
//#define ENABLE_PVP_SERVER_MODE              // With this define, new players start 90 Level and have 1Kkk yang also they have +9 item set. (Look DEFINE_SETTINGS)
//#define UNLIMITED_POTIONS                   // Unlimited Potions (Ex; HP/SP Potions, Purple/Green Potions, Ability Potions, Blends etc.)
//#define UNLIMITED_CAPE_OF_COURAGE           // Unlimited Cape Of Courage (All Vnums)
//#define UNLIMITED_METIN_STONE_DETECTOR      // Unlimited Metin Stone Detector (All Vnums)
//#define UNLIMITED_GUILD_MEMBER              // Unlimited Guild Member (This one allows you to take unlimited guild member in your guild rather than limited version)
//#define UNLIMITED_ARROWS                    // Unlimited Arrows (All Vnums)
//#define BOOSTED_EXP_DROP                    // 8x EXP Drop Bonus (Sometimes Will Useful For Speed-up In Game Test Purposes) - (Works ONLY in test server mode!)
//#define BOOSTED_YANG_DROP                   // 4x Yang Drop Bonus (Sometimes Will Useful For Increase In Game Earnings)
//#define DISABLE_EMPIRE_DAMAGE_ADVANTAGE     // Disable Empire Damage Advantage (If the attacker belongs to a different empire, reduce damage by %10)
//#define DISABLE_BOW_DISTANCE                // Disable Bow Distance Factor in the Assasin Damage Calculation
//#define DISABLE_STAMINA_WALK                // Disable Walk Mode When Stamina is 0 (NOTE: Not only for PC's, also AI, Horse and Pets include this too!)
//#define DISABLE_DEATH_PENALTY               // Disable EXP Loss After Death (Restart Here)
//#define DISABLE_PREVENT_DEATH_FROM_POISON   // Disable Prevent Death From Poison (INFO: If this enabled, PC's can die due poison damage, HP not stay at 1.)
//#define DISABLE_HORSE_HEALTH_AND_STAMINA    // Disable Horse Health and Stamina Factors (So horse never be die, never be starving, never be out of stamina etc.)
//#define DISABLE_LOVER_NEED_SP_TO_WARP       // Disable Lovers Need SP For Warp (With Marriage Ring)
//#define DISABLE_MONSTERS_POISONED_ONLY_ONCE // Disable Monsters Poisoned Only Once (Normally players just have one chance to poison while kill the monster)
//#define DISABLE_NEED_EXP_FOR_SKILL_READING  // Disable Need EXP For Skill Reading (Normally players give 20.000 EXP for each reading)
//#define DISABLE_GUILD_SKILL_USAGE           // Disable Guild Skill Usage During War (Only guild leader can use skills)
//#define DISABLE_GUILD_JOIN_COOLDOWN         // Disable Guild Re-join Cooldown (After leave or kick some guild you not wait any time for join again)
//****************************************************************** END_OF_OPTIONAL_FEATURES *******************************************************************//

//---------------------------------------------------------------------------------------------------------------------------------------------------------------//

//*********************************************************************** DEFINE_SETTINGS ***********************************************************************//
#ifdef ENABLE_PVP_SERVER_MODE // This option made for PvP server concept, if you activated this define YOU MUST NEED TO EDIT START QUEST! (Like gold,items etc.)
    #define PLAYER_START_LEVEL            90         // New player start Level.
    #define PLAYER_START_GOLD            1000000000 // New player start Yang.
    #define PLAYER_MAX_INITIAL_ITEM        8          // New player initial items max.
#endif //ENABLE_PVP_SERVER_MODE
//******************************************************************* END_OF_DEFINE_SETTINGS ********************************************************************//
#endif //__MT2DEV_SERVER_SERVICEDEFS_H__
 
Uzun süre boyunca güncelleme veremedim fakat daha önce söylediğim gibi dosyaları tek tek baştan sona okuyorum aralarda gerekli gördüğüm yerlere fixler ekliyorum, paranoya derecesinde kontrol ekleme hastalığına yakalandım yakında oyuncular oyunda yürürken bile bir kontrole takılacak diye korkuyorum.. İnsan sonunda en nefret ettiği kişiye dönüşürmüş sanırım ben GF oluyorum. :ROFLMAO: Aslında bu kontrol ve fix hastalığının sebebi bu oyunun kitlesinin kötü niyeti ve her açığı kullanma potansiyeli şuan official sunucuda item alıp satarken bile süre sınırı var her şeye süre sınırı getirdiler, olabilecek buglardan korktukları için, bende benzer şekilde eklemeler yapınca fark ettim ki GF bu konuda haksız değil, oyunculara güvenemeyince sürekli kontrol ekleyesin geliyor. :LOL:

Şuna hala server tarafındayım bütün klasörler bitti şuan game klasöründeyim, marriage.cpp dosyasına kadar olanları hallettim aşağısı kaldı, güncel yama notlarını ve klasör düzenini paylaşayım;

17216 eklentisini görüntüle17217 eklentisini görüntüle17218 eklentisini görüntüle

Güncel yama notlarının son hali (Bazı fixleri kaldırıp yerine farklı fixler ekledim, mesela 50, 72 ve 88 şuan aklıma gelenler);

Serverside_Info.h:
/*##############################################################################################################*/
/*#####################################*/   GAME & DB Version; 40070   /*#######################################*/
/*##############################################################################################################*/
/*--------------------------------------------------------------------------------------------------------------*/
/*##############################################################################################################*/
/*######################################*/     "MT2Dev - Fixler"     /*#########################################*/
/*##############################################################################################################*/

/*FIX ISMI                           DUZELTILEN SORUNUN ACIKLAMASI                                ISLEM YAPILAN DOSYA*/
- DevFix 1   = Internal IP sorunu duzeltildi.                                                        (config.cpp)
- DevFix 2   = NPC'den 0 yanga item alamama sorunu duzeltildi.                                        (shop.cpp)
- DevFix 3   = Artik item yansitirken icgoru kuresi istemiyor.                                        (input_main.cpp)
- DevFix 4   = Dice komutu deaktif edildi, kullanmayacagim icin kapatmayi tercih ettim.                (cmd_general.cpp)
- DevFix 5   = Yere yang atma ozelligi deaktif edildi.                                                (char_item.cpp)
- DevFix 6   = Duygu maskesi olmadan duygu kullanimi aktif edildi.                                    (cmd_emotion.cpp)
- DevFix 7   = War -111 Crash sorunu duzeltildi eger sayi 0'dan dusukse (-) komut calismaz.            (cmd_general.cpp)
- DevFix 8   = Karakterin giydigi iteme efsun ekleme&degistirme acigi duzeltildi.                    (char_item.cpp)
- DevFix 9   = Lonca exploit acigi duzeltildi, gerekli kontroller eklendi.                            (input_main.cpp)
- DevFix 10  = Sersemlik islememe sorunu duzeltildi, kod bloklarinda detayli bilgi mevcut.            (item.cpp&item.h)
- DevFix 11  = Yesil efsun ve arttirma artik 40 Level alti tum itemlerde kullanilabilir.            (char_item.cpp)
- DevFix 12  = Cube r_Info core crash sorunu duzeltildi.                                            (cube.cpp)
- DevFix 13  = Nadir olarak tetiklenen onemli bir CoreDowner duzeltildi.                            (questlua_npc.cpp)
- DevFix 14  = Lonca ve Grup CoreDowner duzeltildi.                                                    (input_main.cpp)
- DevFix 15  = Dungeon Count Monster duzeltildi, artik sadece metin yada canavarsa sayilacak.        (dungeon.cpp)
- DevFix 16  = Dungeon Memory Leak duzeltildi.                                                        (dungeon.cpp)
- DevFix 17  = Nadir tetiklenen bir Cube CoreDowner duzeltildi.                                        (cube.cpp)
- DevFix 18  = Binek veya At uzerinde evlilik itemi giyme engeli eklendi.                            (char_item.cpp&char_horse.cpp)
- DevFix 19  = Clear_Server_Timer fonksiyonu detaylandirildi.                                        (questlua_global.cpp)
- DevFix 20  = Char_Log fonksiyonu detaylandirildi.                                                    (questlua_global.cpp)
- DevFix 21  = Dungeon Core Downer duzeltildi.                                                        (char.cpp)
- DevFix 22  = CancelServerTimers fonksiyonu degistirildi.                                            (questmanager.cpp)
- DevFix 23  = Yuksek HP&SP oranlarinda degerlerin eksiye dusmesi duzeltildi.                        (Packets.h)
- DevFix 24  = CArena::SendPacketToObserver fonksiyonu komple yenilendi.                            (arena.cpp)
- DevFix 25  = CArena::SendChatPacketToObserver fonksiyonu komple yenilendi.                        (arena.cpp)
- DevFix 26  = CArenaManager::IsLimitedItem fonksiyonu komple yenilendi, ekstralar eklendi.            (arena.cpp)
- DevFix 27  = Gerekli bazi ekstra kontroller eklendi.                                                (Lot of files have this one)
- DevFix 28  = ComputePoints cagirildiginda devreye giren HP/SP duzenlemesi.                        (char.cpp)
- DevFix 29  = Sync fonksiyonu duzenlendi, binege binince oyundan atma duzeltildi.                    (char.cpp)
- DevFix 30  = Sync fonksiyonu duzenlendi, IsNPC icerisindeki syslog detaylandirildi.                (char.cpp)
- DevFix 31  = Statuler artik son levele kadar gelmeye devam eder, normalde 90'da bitiyordu.        (char.cpp)
- DevFix 32  = APPLY_MAX_HP & APPLY_MAX_SP ve HP/SP pct ayrica affectleri duzenlendi.                (char.cpp)
- DevFix 33  = Madencilik hile engeli, mesafe kontrolu sayesinde uzaktan kazilamaz.                    (char.cpp)
- DevFix 34  = CHARACTER::IsNearWater fonksiyonu eklendi, balikcilik icin yeni bir kontrol.            (char.cpp)
- DevFix 35  = CHARACTER::SetSyncOwner fonksiyonuna ekstra kontrol eklendi.                            (char.cpp)
- DevFix 36  = - HP icin bir kontrol yoktu, olasi crash'i engellemek icin kontrol eklendi.            (char.cpp&char_battle.cpp&char_state.cpp)
- DevFix 37  = CHARACTER::Get&SetQuestFlag icerisine null pointer kontrolu eklendi.                    (char.cpp)
- DevFix 38  = CHARACTER::MountVnum icerisine ekstra kontrol eklendi.                                (char.cpp)
- DevFix 39  = Affect icin 3 yeni fonksiyon eklendi, affectleri yenilemek icin kullanilacak.        (char.h&char_affect.cpp&char_item.cpp)
- DevFix 40  = Eski tarz ve modern stilden uzak bir kod blogu duzenlendi.                            (char_battle.cpp)
- DevFix 41  = Duz vuruslardaki delici patlama efekti aktif edildi.                                    (char_battle.cpp)
- DevFix 42  = Bayrak degisimi esnasinda yasanabilecek buglarin onune gecildi.                        (char_change_empire.cpp)
- DevFix 43  = Arena mapinde ata binme engeli eklendi.                                                (char_horse.cpp)
- DevFix 44  = Mor veya Yesil pot kullanildigi zamanlarda cikacak pot icme efekti eklendi.            (char_item.cpp)
- DevFix 45  = 6-7 Efsunlarin kostumlere eklenmesi engellendi.                                        (char_item.cpp)
- DevFix 46  = Izgara levrek basinca kotu afectlerin gitmesi saglandi, orijinalindeki gibi.            (char_item.cpp)
- DevFix 47  = Evlilik esyalarina efsun ekleme bugu engellendi.                                        (char_item.cpp)
- DevFix 48  = Artik size dusmeyen(owner) bir itemi yerden alamazsiniz.                                (char_item.cpp)
- DevFix 49  = Statu dagitimi esnasinda tek kontrol donusum icindi, ekstra kontrol eklendi.            (cmd_general.cpp&cmd_gm.cpp)
- DevFix 50  = Ata, binege inip binerken spamin onune gecmek icin 1 saniyelik bir kontrol eklendi.    (cmd_general.cpp&questlua_pc.cpp)
- DevFix 51  = Komutlardan do_state icerisinde duzenleme yapildi, fonksiyon detaylandirildi.        (cmd_gm.cpp)
- DevFix 52  = Set komutları icinde race ve cinsiyet aktif degildi, onlar aktif edildi.                (cmd_gm.cpp)
- DevFix 53  = GM "/level" ve "/a" kodlari duzenlendi, gerekli kontroller ve mesajlar eklendi.        (cmd_gm.cpp)
- DevFix 54  = Full_Set komutu komple degistirildi, verdigi itemler ve efsunlari duzenlendi.        (cmd_gm.cpp)
- DevFix 55  = Lisani olmayan karakterlerin gorecegi metinler duzenlendi ve sadelestirildi.            (empire_text_convert.cpp)
- DevFix 56  = Loncaya alma fonksiyonuna ekstra bir kontrol eklendi.                                (guild.cpp)
- DevFix 57  = "struct FGuildCompare" modern C++ standartlarindan yardim alarak yeniden yazildi.    (guild_manager.cpp)
- DevFix 58  = Lonca para yatirma ve cekme fonksiyonlarina kontrol eklendi.                            (guild.cpp)
- DevFix 59  = Lonca daveti (invite) fonksiyonuna onemli bir kontrol eklendi.                        (guild.cpp)
- DevFix 60  = Lonca savasi esnasindaki kill fonksiyonuna izleyiciler icin kontrol eklendi.            (guild_manager.cpp)
- DevFix 61  = Handshake does not handle syserri daha detayli analiz icin gelistirildi.                (input.cpp)
- DevFix 62  = Karakter isminin 12 karakterden fazla olmamasi icin kontrol eklendi.                    (input_login.cpp)
- DevFix 63  = Header 100 syserri icin duzenleme yapildi.                                            (input_login.cpp)
- DevFix 64  = Fisilti fonksiyonu icerisine hedef kisi bilgilerini almak icin ekleme yapildi.        (input_main.cpp)
- DevFix 65  = GM karakterlerin bagirmadan yazmak icin 15 saniye bekleme sarti kaldirildi.            (input_main.cpp)
- DevFix 66  = Depodan direkt olarak kemer slotuna item koymak mumkundu, kontrol eklendi.            (input_main.cpp)
- DevFix 67  = Yeni binek sisteminde, suresi biten binekler icin bir duzenleme eklendi.                (item.cpp)
- DevFix 68  = Kontrol icin kullanilan bir sorgu, daha saglikli olacak sekilde duzenlendi.            (item.cpp)
- DevFix 69  = Create Item fonksiyonu icerisinde, AlterToMagicItem icin duzenleme yapildi.            (item_manager.cpp)
- DevFix 70  = Karakterlerin olumu oncesi kullanilan Stun efektinin suresi dusuruldu.                (char_battle.cpp)
- DevFix 71  = Yerine donen coward moblarin dusuk bir ihtimalle kacmasi engellendi, cunku gereksiz.    (char_state.cpp)
- DevFix 72  = Depo sifresi degistirme isleminde yeni sifrenin sadece rakamlardan olusmasi saglandi.(cmd_general.cpp)
- DevFix 73  = Hata tespiti icin gerekli olabilecek bir kac syserr eklendi.                            (item_manager_read_tables.cpp&regen.cpp)
- DevFix 74  = Artik oyuncu cesitli aktivitelerde bulundugunda oyundan cikma iptal edilir.            (input_main.cpp)
- DevFix 75  = Evlilik sistemindeki lovepoints overflow sorunu duzeltildi.                            (marriage.cpp)
- DevFix 76  = Messenger_Auth ile yapilan flood saldirisi icin gerekli onlemler eklendi.            (messenger_manager.cpp)
- DevFix 77  = OX girisinde eventin acik olup olmadigini sorgulayan bir kontrol eklendi.            (OXEvent.cpp)
- DevFix 78  = Gerekli kodlara "== 0" yerine daha saglikli olan ".empty" yontemi eklendi.            (Lot of files have this one)
- DevFix 79  = IsPartyInDungeon fonksiyonu eklendi, grup icin gerekli kontrolleri iceriyor.            (party.cpp&h)
- DevFix 80  = Karakter olunce petin gonderilmesi kapatildi ve gerekli bir kontrol eklendi.            (PetSystem.cpp)
- DevFix 81  = Belirli maplerde ozel bufflar veren petler icin duzenleme yapildi.                    (PetSystem.cpp)
- DevFix 82  = CPVPManager::HasDuel fonksiyonu eklendi, PvP sistemi icin yeni bir eklenti.            (pvp.cpp)
- DevFix 83  = Quest fonksiyonlarinda gerekli yerlere null pointer kontrolu eklendi.                (quest.h&questlua.cpp)
- DevFix 84  = Quest fonksiyonu "_get_special_item_group" eklendi, bazi kontroller de iceriyor.        (questlua_global.cpp)
- DevFix 85  = Gerekli bazi quest fonksiyonlarinin icerisine ekstra bir update kontrolu eklendi.    (questlua_item.cpp)
- DevFix 86  = Kullanisli olabilecek 3 yeni npc quest fonksiyonu eklendi.                            (questlua_npc.cpp)
- DevFix 87  = Olusabilecek tum SQL Injection aciklari kapatildi, gerekli kontroller eklendi.        (Lot of files have this one)
- DevFix 88  = Ticaret esnasinda herhangi bir itemi kullanma/hareket ettirme/yere atma engellendi.    (char_item.cpp)
- DevFix 89  = Binek bonus fonksiyonunun icine gerekli bir kontrol eklendi.                            (questlua_pc.cpp)
- DevFix 90  = "/quit" islevinin icerisine ekstra bir kontrol ve komut eklendi.                        (cmd_general.cpp)
- DevFix 91  = Belirli sartlarda iki kez tetiklenen (when kill begin) quest kosulu duzenlendi.        (questmanager.cpp)
- DevFix 92  = ServerTimer fonksiyonunun syslogu detaylandirildi.                                    (questmanager.cpp)
- DevFix 93  = 4 adet NPC:: fonksiyonu yeniden duzenlendi.                                            (questnpc.cpp)
- DevFix 94  = QuestPC "EndRunning" fonksiyonuna kontrol eklendi, olasi dupelerin onune gecildi.    (questpc.cpp)
- DevFix 95  = "SECTREE_MAP::Build" fonksiyonu duzenlendi, gereksiz kodlar temizlendi.                (sectree_manager.cpp)
- DevFix 96  = Bir pazardaki itemi iki oyuncu ayni anda alinca ortaya cikan crash duzeltildi.        (shop.cpp)
- DevFix 97  = Fonksiyonlar icerisinde kullanmak icin three_arguments (arg3) destegi eklendi.        (utils.cpp&utils.h)
- DevFix 98  = "CHARACTER_MANAGER::Update" fonksiyonu modern C++'ya uygun sekilde yeniden yazildi.    (char_manager.cpp)
- DevFix 99  = CGuild icerisinde bazi fonksiyonlar yeni C++ ozellikleri kullanilarak guncellendi.    (guild.cpp&guild_manager.cpp)
- DevFix 100 = Atin saglik degeri max seviyeye gelmesine ragmen beslemeye devam edebilme engellendi.(horse_rider.cpp&cmd_general.cpp)
- DevFix 101 = Test server modunda GM logosu aktif degildi, degistirilip aktif hale getirildi.        (char.cpp)
- DevFix 102 = Test server modunda beklememek icin lonca savasi baslangic suresi degistirildi.        (GuildManager.cpp)
- DevFix 103 = Test server modunda tum GM'lar Implementor olarak ayarlaniyordu, deaktif edildi.        (char.cpp&gm.cpp)
- DevFix 104 = "GUILD_SUBHEADER_CG_DEPOSIT/WITHDRAW_MONEY" fonksiyonlari duzenlendi.                (input_main.cpp)
- DevFix 105 = Ymir'in es gectigi nullptr kontrolleri gerekli yerlere eklendi.                        (char_manager.cpp&item_manager.cpp)
- DevFix 106 = Hava Kilici ve Buyulu Silahin silahsiz kullanilmamasi icin kontrol eklendi.            (char_skill.cpp)
- DevFix 107 = Ymir in ekleyip aktif etmedigi ise yarar "sys_log" lar test_server icin aktif edildi.(Lot of files have this one)   --->   (/* BILGI: Normal olarak eklenen ama sadece test_server modunda ise yarayacak olanlar da, sadece test_server modunda aktif olacak sekilde duzenlendi. */)
- DevFix 108 = Paket istismarini onlemek ve floodlari kontrol etmek icin duzenlemeler yapildi.        (input.cpp)
- DevFix 109 = Ymir in her zaman ki gibi es gectigi olasi bir "Memory Leak" onlendi.                (ClientManager.cpp&safebox.cpp)
- DevFix 110 = "CHARACTER::ExchangeStart" fonksiyonu yenilendi ve ekstra kontroller eklendi.        (exchange.cpp)
- DevFix 111 = Gerekli ve hatta gereksiz(garanticiyim) yerlere nullptr kontrolu eklendi.            (Lot of files have this one)
- DevFix 112 = Oyuncu nicki aratilirken gereken buyuk/kucuk harf duyarliligi kaldirildi.            (p2p.cpp)   --->   (/* BILGI: Bazi GM kodlari ve fisilti sisteminde bir oyuncu adini yazarken buyuk/kucuk harflere uyarak nicki tam olarak yazmasaniz bile aradiginiz oyuncu bulunacaktir. Ozel semboller veya harfler kullanilarak nick alinabilen sunucularda KESINLIKLE KULLANILMAMALIDIR !!!*/)
- DevFix 113 = Karakterler yaratilirken verilen random statlar sabit hale getirildi.                (constants.cpp)
- DevFix 114 = Eksik bir bolume gerekli "sys_log" blogu eklendi, bilgi onemli.                        (ClientManager.cpp&input_db.cpp)
- DevFix 115 = Ata veya binege belirli maplerde binilmemesi icin kontrol eklendi.                    (char_item.cpp&cmd_general.cpp)
- DevFix 116 = "CHARACTER::BuffOnAttr_ValueChange" fonksiyonu modern tarzda yenilendi.                (char_item.cpp)
- DevFix 117 = Eger oyuncu son seviyeye ulasirsa, beceri kitabi okumasi icin EXP gerekmeyecektir.    (char_skill.cpp)
- DevFix 118 = Game Masterlar artik aninda "Burada Basla" veya "Sehirde Basla" ile dirilebilirler.    (cmd_general.cpp)
- DevFix 119 = Sadece GMlerin kullanmasina izin verilen komutlara ekstra kontroller eklendi.        (cmd_general.cpp&cmd_gm.cpp)
- DevFix 120 = "Cube_make" icerisine gerekli bir -yang kontrolu eklendi.                            (cube.cpp)
- DevFix 121 = Bazi GM veya Player komutlarinda negatif(-) arg kullanimi engellendi.                (cmd_gm.cpp&cmd_general.cpp)
- DevFix 122 = Gereksiz buyuk veri tipi kullanan yerler, bellek tuketimini azaltmak icin duzenlendi.(Lot of files have this one)
- DevFix 123 = "/do_set" komutu komple yenilendi, eksik kontroller eklendi.                            (cmd_gm.cpp)
- DevFix 124 = Razador, Nemere gibi zindanlarda grup bozulmamasi icin kontrol eklendi.                (input_main.cpp)

/*###################################################################################################*/
/*#############*/     "MT2Dev - Kaldirilan Sistemler, Silinen Fonksiyonlar vs."      /*##############*/
/*###################################################################################################*/

** - Listede ekli olmayan, Ymir'in test amacli ekledigi veya ekleyip hicbir yerde kullanmadigi tum kodlar temizlendi.
1   - XTrap
2   - HackShield
3   - Metin2Server_IsInvalid
4   - Metin2Server_Check
5   - Limit_time
6   - Libserverkey
7   - FileMonitor_FreeBSD
8   - Auction
9   - Monarch
10  - PC_Bang
11  - Traffic Profiler
12  - IP_Ban
13  - dev_log
14  - HotBackup
15  - China Event Server
16  - Distribution Test Server
17  - GTest
//18 - Sequence - 0.60V Surumunde sadece debugging kullanimi icin tekrar aktif edildi.
19  - Over9Refine
20  - Roulette
21  - Lotto
22  - SpeedServer
23  - Mobile
24  - SMS
25  - g_GoldDropTimeLimitValue
26  - Spam Event (/*IFDEF ILE GERI EKLENEBILIR... - 2024/EKLENMELI CUNKU ISE YARAYABILIR*/)
27  - GreetMessage
28  - VCard
29  - Teen
30  - NetMarble
31  - Three Way
32  - Forked
33  - Block Exception
34  - Block Country
35  - OpenID  (/*Login4*/)
36  - Passpod (/*Login5*/)
37  - Auth Brazil
38  - Auth Japan
39  - Gereksiz butun locale kodlari (/*LC_Isxxx kodlarinin tamami*/)
40  - DBString
41  - Billing (/*IFDEF ILE GERI EKLENEBILIR... EGER IFDEF ILE GERI EKLERSEN LOGIN_SIM VE RemainSecs SISTEMINI DE BUNA BAGLA!!*/)
42  - Matrix Card (/*Runup,China,SecurityCode vs. her turlusu*/)
43  - Castle
44  - Ymir'in ekledigi hicbir ise yaramayan hile/hack kontrolleri
45  - ClientPackageCryptInfo
46  - Panama
47  - Over_Time
48  - CRC (/*Ornek; Reload_crc, CRCMagicCube vs.*/)
49  - Revive_invisible
50  - Header_Version2
51  - ShopEX
52  - do_mount
53  - do_siege
54  - do_frog
55  - do_dice
56  - valid_ip
57  - exp_table_euckr
58  - exp_table_newcibn
59  - g_iUseLocale
60  - SUseTime
61  - HammerOfThor
62  - ItemDrop2
63  - Input_UDP
64  - FN_is_battle_zone
65  - NewPlayerTable2
66  - M2_USE_POOL
67  - DEBUG_ALLOC (/*Ve diger tum alloc/ALLOCATOR dosyalari*/)
68  - is_twobyte_sjis
69  - check_name_sjis
70  - sjis_is_disable_name_char (/*Ve sjis ile alakali tum diger kodlar*/)
71  - CLoginData::Set/GetRemainSecs (/*IFDEF ILE GERI EKLENEBILIR...*/)
72  - Noncopyable
73  - __UNITTEST__
74  - HybridCrypt
75  - Kullanilmayan tum paket kodlari
76  - Windows build icin eklenen tum kodlar (/*Sadece FreeBSD ile derleyecegim icin(SIMDILIK)*/)
77  - AdminPage sistemi (/*Komple*/)
78  - AdminMode
79  - HEADER_CG_TEXT (/*Web site P2P soket baglantisi, kullanmayi dusunenler tekrar eklemeli*/)
80  - Oyun sunucusundaki CMD dosyasi
81  - FuncDoNothing
82  - _20050304Myevan
83  - USE_DEBUG_PTR
84  - pt_log (/*PTS*/)
85  - __FISHING_MAIN__
86  - Safebox Money
87  - ComboSequence
88  - mob_proto_test/item_proto_test
89  - do_console
90  - do_vote_block_chat
91  - do_change_attr
92  - do_add_attr
93  - do_add_socket
94  - do_change_rare_attr
95  - do_add_rare_attr
96  - GOST_Encrypt
97  - GOST_Decrypt
98  - DES_Encrypt
99  - DES_Decrypt
100 - KStbl
101 - hangul
102 - _under_han
103 - __USE_SELECT__
104 - _TEST
105 - isNameFile
106 - QuestItemTable
107 - LogToFile
108 - DB icindeki "grid.cpp/h" dosyalari (/*Zaten libgame icinde birebir aynisi mevcut*/)
109 - DB icindeki "Lock.cpp/h" dosyalari
110 - __DUMP_PROTO__
111 - _ani_cpp_
112 - if 0 (/*BILGI: Bu if blogu C++'da ilgili kod blogunun devre disi birakilmasini saglar, comment satirina donusturmekle ayni isleve sahiptir*/)
113 - _blend_item_cpp_
114 - GiveAllAttributes
115 - == true veya true == (/*BILGI: Modern C++'da bir if blogu zaten true olup olmadigini sorgular (Ornek; if (p) eger p == true ise devam eder), true ise bunu dondurecektir ayrıca eger deger NULL yani 0 ise, bu uygulama yanlis bir sonuca yol acabilir, bu C dilinden kalan kotu bir aliskanliktir ve günümüz C++'ında gereksizdir dolayisiyla tercih edilmemelidir!*/)
116 - != NULL veya NULL != (/*BILGI: Modern C++'da derleyiciler pointerlarin dogrudan kullanimini destekler, if (p) yazmak if (p != NULL) ile tamamen ayni kontrolleri saglar, bu eklenti guvenlik saglamadigi gibi, bazi ekstrem durumlarda problem bile yaratabilir ve günümüz C++'ında tercih edilmemelidir!*/)
117 - IS_MONKEY_DUNGEON
118 - IS_BOTARYABLE_ZONE
119 - hyuniron_prob_euckr
120 - yagong_prob_euckr
121 - WEAR_RING1/WEAR_RING2
122 - LuckyBagInfo b2
123 - prob_table_euckr
124 - ItemAttrCycle/ItemAttrFlag
125 - Tanimlanip hicbir yerde kullanılmayan #define kodlari
126 - do_b1 / do_b7 arasi tum aktif olmayan kodlar
127 - do_temp
128 - g_noticeBattleZone
129 - guild_exp_table2
130 - KOR_aiPartyBonusExpPercentByMemberCount
131 - KOR_aiUniqueItemPartyBonusExpPercentByMemberCount
132 - _cube_cpp_
133 - FN_cube_print
134 - PROTECT_CHILD
135 - Login_IsInChannelService
136 - SHOP_SUBHEADER_CG_SELL2
137 - __deposit_limit
138 - FUCKING_BRAZIL
139 - check_name_latin1
140 - check_name_euckr
141 - is_twobyte (/*gb232, big5, euckr vs.*/)
142 - WriteVersion

Settings.h:
/***********************************************************************/
/* FILE:    Settings.h                                                 */
/* INFO:    All important settings are linked to a single header file. */
/* AUTHOR:  MT2Dev                                                     */
/* DATE:    26/11/2020                                                 */
/***********************************************************************/
#ifndef __MT2DEV_SERVER_SETTINGS_H__
#define __MT2DEV_SERVER_SETTINGS_H__

// SECURITY_SETTINGS
#define CLIENT_VERSION_KEY                2407972020       // Client Version Key, it's must be same on the serverside!
#define LSS_SECURITY_KEY                4321dcba5678efgz // Ymir Security Key (Only used if _OLD_PACKET_ENCRYPTION_ is enabled)
// END_OF_SECURITY_SETTINGS

// VARIOUS_SETTINGS
#define MAP_ALLOW_LIMIT                    32         // Map Allow Limit.
#define PK_LEVEL_FOR_PROTECT            15         // PK Protect Level For New Players (Ex; If this is 15, nobody can hit (PvP) new players if they under 15 level)
#define MAX_STAT                        95         // Maximum Stat Points. (Note: The packside needs to be change too when you set another value here, to avoid gauge bug.)
#define MAX_LEVEL_POINT_CAN_STEP        98         // Maximum Level at Which The Character Will Continue to Gain Status.
#define MAX_ITEM_INTRO_STACK            200        // Maximum Number of Items Stacked (Maximum setting that can be made for now; 255).
#define GOLD_MAX                        2000000000 // Maximum Yang Limit (Maximum setting that can be made for now {int}; 2.147.483.647 Yang).
#define INVENTORY_MAX_NUM                90         // Number of Inventory Slots (90 Slots = 2 Inventory). (Note: The sum of the slots of the inventory should not exceed 255 !!)
#define INVENTORY_PAGE_COUNT            2          // Inventory Total Page Count.
#define ITEM_DROP_PENALTY_LEVEL            50         // Minimum Level to Item Drop Penalty (Note: If the low rank character is below level 50, their item will not drop.)
#define MOBS_DISAPPEARANCE_TIME            3          // Mobs disappearance time(Second) after death, it needs to be kept low to avoid lag.
#define AUTO_RESTART_TOWN_TIME            180        // After Player's die, if they not choose start here/town, after this time they will be spawn in town automatically.
#define BRAVE_CAPE_POSSIBILITY            80         // Brave Cape - Possibility(%) (With just one click) to Attract Monsters.
#define BRAVE_CAPE_MAX_DISTANCE            5000       // Brave Cape - Maximum Distance Of Monsters You Can Attract.
#define CAMPFIRE_TIME                    30         // How many seconds will the campfire be active after using it ?
#define STONE_INSERT_PERCENT_CHANCE        30         // Chance(%) For Stones to be Added.
#define ORE_INSERT_PERCENT_CHANCE        50         // Percentage(%) of Success When Adding Ores to The Item.
#define ITEM_ACCESSORY_SOCKET_MAX_NUM    3          // Maximum Number of Ores That Can Be Added to Interior Items.
#define KILLER_MODE_COOLDOWN            30         // After PC's set PvP mode Free or Guild, how many seconds need to set Peace after not hit anyone.
#define SHORT_PORTAL_LIMIT_TIME            3          // Cooldown Before Warp When Not Doing Anything Recently.
#define PORTAL_LIMIT_TIME                10         // Cooldown Before Warp For Trading or Post-Battle Control.
#define REQUEST_LIMIT_TIME                10         // Validity Seconds Of Requests Received By Players.
#define ITEM_DESTROY_TIME                10         // The Time(Second) It Takes For an Item The Player Throws to Disappear.
#define OWNER_ITEM_DESTROY_TIME            240        // The Time(Second) It Takes For an Item To Drop Specifically For One Player To Disappear or Delete Ownership. (Items with an anti-flag against dropping, that is, only the owner can take that item.)
#define DROP_ITEM_DESTROY_TIME            60         // The Time(Second) It Takes For an Item To Drop Player. (with ownership)
#define ORE_ITEM_OWNERSHIP_TIME            20         // The Time(Second) It Takes For an Ore Item(Mining) To Drop Player. (with ownership)
#define CAN_RESET_HERE_TIME                170        // How Soon After The Character Dies Will He Be Able to Stand Up ? (170 = 10 Seconds) (Respawn Here)
#define CAN_RESET_TOWN_TIME                173        // How Soon After The Character Dies Will He Be Able to Stand Up ? (173 =  7 Seconds) (Respawn Town)
#define CAN_SHOUT_LEVEL_LIMIT            15         // Level Required to Shout.
#define CAN_SHOUT_TIME_LIMIT            15         // Time Required to Shout.
#define PARTY_CAN_JOIN_MAX_LEVEL        30         // Maximum Level Difference Between Players to Enter a Group.
#define MAX_MEMBER_INTRO_PARTY            8          // Maximum Number of Players That Can Be in a Group.
#define SAFEBOX_MAX_NUM                    135        // Maximum Number of Safebox Slots (135 Slots = 3 Page).
#define SAFEBOX_PASSWORD_MAX_LEN        6          // Safebox Maximum Password Length.
#define DEAD_HORSE_DISAPPEAR_TIME        20         // When Player Summon Their Dead Horse, How Many Seconds Take To Disappear ?
#define NEW_CHAR_CREATE_COOLDOWN        30         // Players Can Only Create One Character Per 30 Seconds (To Prevent Spam).
#define NECESSARY_GOLD_FOR_GUILD        200000     // Necessary Yang For Create a New Guild.
#define NECESSARY_LEVEL_FOR_GUILD        40         // Necessary Level For Create a New Guild.
// END_OF_VARIOUS_SETTINGS

// TRICKY_SETTINGS
// WARNING: Don't change this one's, if you don't know what are you doing exactly.. - [MT2Dev Note] - 30/05/2023
#define QUEST_NAME_MAX_LEN                32
#define QUEST_STATE_MAX_LEN                64
#define MAX_ALLOW_USER                    4096
#define DRAGON_SOUL_STRENGTH_MAX        7
#define MAX_BLEND_ITEM_VALUE            5
#define POLYMORPH_SKILL_ID                129
#define POLYMORPH_BOOK_ID                50322
#define OXEVENT_MAP_INDEX                113
#define NORM_ATTR_MAX                    5
#define RARE_ATTR_MAX                    2
#define GUILD_SYMBOL_FILENAME            "guild_symbol.tga"
#define OLD_MARK_INDEX_FILENAME            "guild_mark.idx"
#define OLD_MARK_DATA_FILENAME            "guild_mark.tga"
// END_OF_TRICKY_SETTINGS
#endif //__MT2DEV_SERVER_SETTINGS_H__

ServiceDefs.h:
/********************************************************/
/* FILE:    ServiceDefs.h                               */
/* INFO:    All defines linked to a single header file. */
/* AUTHOR:  MT2Dev                                      */
/* DATE:    11/09/2023                                  */
/********************************************************/
#ifndef __MT2DEV_SERVER_SERVICEDEFS_H__
#define __MT2DEV_SERVER_SERVICEDEFS_H__

//********************************************************************* DEBUGGING_FEATURES **********************************************************************//
//#define ENABLE_SEQUENCE_SYSTEM  // Ymir Sequence System (Useful for debugging)
#define USE_STACKTRACE            // Ymir Stacktrace System for Analyze Errors (Be sure to edit game/src/Makefile, USE_STACKTRACE = 1 or 0)
#define USE_QUERY_LOGS            // Logging Queries for Analyzing (If it is test server of course)
#define ENABLE_SYSLOG_PACKET_SENT // Syslogs for Packet Sent (If it is test server of course)
//***************************************************************** END_OF_DEBUGGING_FEATURES *******************************************************************//

//---------------------------------------------------------------------------------------------------------------------------------------------------------------//

//****************************************************************** FIX_AND_SECURITY_FEATURES ******************************************************************//
/* IMPORTANT NOTE!!! - Both encryption systems CANNOT BE ACTIVATED at the same time!!! Btw if you disable both, packet encryption will be COMPLETELY turned off. */
//#define _IMPROVED_PACKET_ENCRYPTION_ // Ymir Improved Packet Encryption System
//#define _OLD_PACKET_ENCRYPTION_      // Ymir Old Packet Encryption System (Old ones like xtea, pong, keys etc.)
//#define ENABLE_EXTERNAL_IP_SUPPORT   // For Cloud (Oracle, Google, AWS, Azure) External IP Support (INFO; If you don't use external ip, NOT uncomment this!)
#define ENABLE_PORT_SECURITY           // P2P (API Tool) Extra Security
//************************************************************** END_OF_FIX_AND_SECURITY_FEATURES ***************************************************************//

//---------------------------------------------------------------------------------------------------------------------------------------------------------------//

//********************************************************************** OPTIONAL_FEATURES **********************************************************************//
//#define ENABLE_PVP_SERVER_MODE              // With this define, new players start 90 Level and have 1Kkk yang also they have +9 item set. (Look DEFINE_SETTINGS)
//#define UNLIMITED_POTIONS                   // Unlimited Potions (Ex; HP/SP Potions, Purple/Green Potions, Ability Potions, Blends etc.)
//#define UNLIMITED_CAPE_OF_COURAGE           // Unlimited Cape Of Courage (All Vnums)
//#define UNLIMITED_METIN_STONE_DETECTOR      // Unlimited Metin Stone Detector (All Vnums)
//#define UNLIMITED_GUILD_MEMBER              // Unlimited Guild Member (This one allows you to take unlimited guild member in your guild rather than limited version)
//#define UNLIMITED_ARROWS                    // Unlimited Arrows (All Vnums)
//#define BOOSTED_EXP_DROP                    // 8x EXP Drop Bonus (Sometimes Will Useful For Speed-up In Game Test Purposes) - (Works ONLY in test server mode!)
//#define BOOSTED_YANG_DROP                   // 4x Yang Drop Bonus (Sometimes Will Useful For Increase In Game Earnings)
//#define DISABLE_EMPIRE_DAMAGE_ADVANTAGE     // Disable Empire Damage Advantage (If the attacker belongs to a different empire, reduce damage by %10)
//#define DISABLE_BOW_DISTANCE                // Disable Bow Distance Factor in the Assasin Damage Calculation
//#define DISABLE_STAMINA_WALK                // Disable Walk Mode When Stamina is 0 (NOTE: Not only for PC's, also AI, Horse and Pets include this too!)
//#define DISABLE_DEATH_PENALTY               // Disable EXP Loss After Death (Restart Here)
//#define DISABLE_PREVENT_DEATH_FROM_POISON   // Disable Prevent Death From Poison (INFO: If this enabled, PC's can die due poison damage, HP not stay at 1.)
//#define DISABLE_HORSE_HEALTH_AND_STAMINA    // Disable Horse Health and Stamina Factors (So horse never be die, never be starving, never be out of stamina etc.)
//#define DISABLE_LOVER_NEED_SP_TO_WARP       // Disable Lovers Need SP For Warp (With Marriage Ring)
//#define DISABLE_MONSTERS_POISONED_ONLY_ONCE // Disable Monsters Poisoned Only Once (Normally players just have one chance to poison while kill the monster)
//#define DISABLE_NEED_EXP_FOR_SKILL_READING  // Disable Need EXP For Skill Reading (Normally players give 20.000 EXP for each reading)
//#define DISABLE_GUILD_SKILL_USAGE           // Disable Guild Skill Usage During War (Only guild leader can use skills)
//#define DISABLE_GUILD_JOIN_COOLDOWN         // Disable Guild Re-join Cooldown (After leave or kick some guild you not wait any time for join again)
//****************************************************************** END_OF_OPTIONAL_FEATURES *******************************************************************//

//---------------------------------------------------------------------------------------------------------------------------------------------------------------//

//*********************************************************************** DEFINE_SETTINGS ***********************************************************************//
#ifdef ENABLE_PVP_SERVER_MODE // This option made for PvP server concept, if you activated this define YOU MUST NEED TO EDIT START QUEST! (Like gold,items etc.)
    #define PLAYER_START_LEVEL            90         // New player start Level.
    #define PLAYER_START_GOLD            1000000000 // New player start Yang.
    #define PLAYER_MAX_INITIAL_ITEM        8          // New player initial items max.
#endif //ENABLE_PVP_SERVER_MODE
//******************************************************************* END_OF_DEFINE_SETTINGS ********************************************************************//
#endif //__MT2DEV_SERVER_SERVICEDEFS_H__
Evi barkı satsak filesı alamayız herhalde, adam oyunu baştan yapıyor birisi şu adamı durdursun.
 
Geri
Üst