Merhaba Turkmmo sakinleri
Kendi sunucularımızda farkettiğimiz lonca id numarası 65535 den yüksek olanların lonca sembolü yükledikten sonra lonca sembollerini görememelerine sebep olan bir hatayla ilgili düzeltmedir.
* Bu hatayı denemek istiyorum
guild, guild_member, guild_grade tablolarında loncanınız id numarasını 65537 olarak değiştirirseniz lonca sembolu yüklenir ancak görüntülenemez.
* Hatanın nedeni
unsigned short 0 - 65535 arasında ondalık, unsigned long ise 0 - 4294967295 arasında ondalık bir sayıya sahip olabilir yapılan mantıksal hata nedeniyle integer overflow meydana geliyor.
* Düzeltme
Client/UserInterface/GuildMarkDownloader.cpp içerisinde arayın:
WORD Data tipini DWORD olarak değiştirin.
Client/UserInterface/Packet.h içerisinde arayın:
WORD Data tipini DWORD olarak değiştirin.
Server/game/src/input_login.cpp içerisinde arayın:
WORD Data tipini DWORD olarak değiştirin.
Server/game/src/packet.h içerisinde arayın:
WORD Data tipini DWORD olarak değiştirin.
Lonca Sembolleriyle İlgili Bir Hata Düzeltmesi
Metin2 özel sunucularında loncalar, oyuncuların bir araya gelerek güçlerini birleştirdiği önemli yapılar olarak karşımıza çıkar. Bu yapıların görsel temsillerinden biri ise lonca sembolleridir. Ancak bazı durumlarda lonca sembolleriyle ilgili hatalar meydana gelebilir ve bu da hem oyun içi deneyimi etkileyebilir hem de sunucu sahipleri için teknik sorunlara neden olabilir. Bu yazıda, lonca sembolleriyle ilgili yaygın bir hatayı nasıl düzelteceğimizi ele alacağız.
Lonca Sembolü Nedir?
Metin2'de lonca sembolü, bir loncanın tanınabilirliğini artırmak için kullanılan görsel unsurlardır. Bu semboller genellikle oyuncuların ekranda birbirlerini tanımasını ve lonca üyelerini ayırt etmelerini sağlar. Semboller, genellikle oyuncu adlarının yanında veya karakterin üzerinde görüntülenir.
Ortaya Çıkan Sorun
Bazı özel sunucularda, lonca sembolleri doğru şekilde yüklenmeyebilir veya görüntülenmeyebilir. Bu durum genellikle sunucu tarafında sembol yükleme mantığındaki eksikliklerden veya dosya yollarındaki yanlışlıklardan kaynaklanır. Özellikle C++ tabanlı sistemlerde, sembollerin doğru şekilde render edilmesi için belirli fonksiyonların çalışması gerekir. Eğer bu fonksiyonlardan biri hatalıysa, semboller görünmez veya bozuk olabilir.
Hata Tespiti
Bu hatanın temelinde genellikle pack dosyalarında bulunan sembol resimlerinin doğru şekilde sunucuya entegre edilmemesi yatmaktadır. Ayrıca, game server tarafında sembol yükleme fonksiyonlarında bir eksiklik olması da bu soruna neden olabilir. Örneğin, bazı sistemlerde sembolün boyutu kontrol edilmeden doğrudan yükleme işlemi yapılır. Bu da hatalı veri okumasına yol açabilir.
Hatanın Düzeltme Yöntemi
Bu hatayı düzeltmek için öncelikle client tarafında sembol yükleme işlemini kontrol etmeliyiz. UIScript dosyasında lonca sembolü için ayrılmış olan alanın doğru şekilde tanımlandığından emin olmalıyız. Ayrıca, py root kısmında sembol yükleme fonksiyonu varsa, burada yapılan işlemlerin doğruluğunu kontrol etmeliyiz.
Ardından server side üzerinden, yani auth ve game sunucularında sembol verilerinin doğru şekilde aktarıldığından emin olunmalıdır. Özellikle db core kısmında lonca sembolüne ait verilerin doğru şekilde tutulup tutulmadığı incelenmelidir. Gerekirse SQL sorguları gözden geçirilmelidir.
C++ Kodlarında Değişiklik[/CD][/BR]Eğer hata C++ kaynak kodundan kaynaklanıyorsa, source edit yaparak sembol yükleme fonksiyonlarını güncellemek gerekebilir. Örneğin, sembolün cache edilip edilmediği kontrol edilmeli ve gerekirse cache mekanizması optimize edilmelidir. Ayrıca, sembol verisi sunucudan istemciye gönderilirken bir hata olup olmadığı kontrol edilmelidir.
Test Süreci
Yaptığınız değişikliklerden sonra, sembollerin doğru şekilde görüntülenip görüntülenmediğini test etmek önemlidir. Bunun için bir test loncası oluşturarak, farklı sembollerle deneme yapılabilir. Ayrıca, farklı karakterlerin aynı sembolü taşıyıp taşımadığı da kontrol edilmelidir.
Sonuç
Lonca sembolleri, Metin2 özel sunucularında kullanıcı deneyimini artıran önemli görsel ögelerdir. Bu nedenle, sembollerle ilgili oluşabilecek herhangi bir hatayı erken tespit edip düzeltmek, sunucu sahipleri için kritik öneme sahiptir. Bu makalede anlatılan adımlar sayesinde, sembol hatalarını kolayca teşhis edip çözebilirsiniz.
A Fix for Guild Symbols Related Bug
Guilds represent important structures in Metin2 private servers where players unite to strengthen themselves. One of the visual representations of these structures is guild symbols. However, sometimes issues related to guild symbols may occur, which can affect the gameplay experience and cause technical problems for server owners. In this article, we will discuss how to fix a common issue regarding guild symbols.
What Is a Guild Symbol?
In Metin2, a guild symbol is a visual element used to enhance the recognizability of a guild. These symbols typically help players identify each other and distinguish guild members on screen, usually displayed next to player names or above characters.
The Issue That Occurs
On certain private servers, guild symbols may not load or display correctly. This issue often stems from missing logic in the symbol loading mechanism on the server-side or incorrect file paths. Particularly in C++ based systems, specific functions must run properly to render symbols correctly. If one of these functions contains an error, symbols might not appear or be displayed incorrectly.
Identifying the Error
The root of this error often lies in improper integration of symbol image files located in pack folders into the server. Additionally, missing elements in symbol loading functions on the game server side can also cause this issue. For instance, some systems attempt to load symbols without checking their dimensions first, leading to incorrect data reading.
How to Fix the Error
To fix this issue, first verify the symbol loading process on the client side. Ensure that the area designated for guild symbols in the UIScript file is properly defined. Also, check the correctness of operations performed in the py root section if there is a symbol loading function present.
Next, ensure that symbol data is transferred accurately between the auth and game servers on the server side. Specifically, review whether guild symbol-related data is stored correctly within the db core. If necessary, inspect the SQL queries involved.
Modifications in C++ Code
If the error originates from C++ source code, updating the symbol loading functions via source edit might be required. For example, verify whether symbols are being cached properly, and if needed, optimize the caching mechanism. Also, check for errors during the transmission of symbol data from the server to the client.
Testing Process
After making changes, it's crucial to test whether symbols are displaying correctly. Create a test guild and experiment with different symbols. Also, confirm whether multiple characters can correctly carry the same symbol.
Conclusion
Guild symbols are important visual elements that enhance user experience on Metin2 private servers. Therefore, detecting and fixing any errors related to these symbols early is critical for server owners. With the steps outlined in this article, you can easily diagnose and resolve symbol-related issues.
Kendi sunucularımızda farkettiğimiz lonca id numarası 65535 den yüksek olanların lonca sembolü yükledikten sonra lonca sembollerini görememelerine sebep olan bir hatayla ilgili düzeltmedir.
* Bu hatayı denemek istiyorum
guild, guild_member, guild_grade tablolarında loncanınız id numarasını 65537 olarak değiştirirseniz lonca sembolu yüklenir ancak görüntülenemez.
* Hatanın nedeni
unsigned short 0 - 65535 arasında ondalık, unsigned long ise 0 - 4294967295 arasında ondalık bir sayıya sahip olabilir yapılan mantıksal hata nedeniyle integer overflow meydana geliyor.
* Düzeltme
Client/UserInterface/GuildMarkDownloader.cpp içerisinde arayın:
Kod:
WORD guildID, markID;
Kod:
Recv(sizeof(WORD), &guildID); Recv(sizeof(WORD), &markID);
WORD Data tipini DWORD olarak değiştirin.
Client/UserInterface/Packet.h içerisinde arayın:
Kod:
typedef struct packet_mark_idxlist { BYTE header; DWORDbufSize; WORDcount; //µÚ¿¡ size * (WORD + WORD)¸¸Å µ¥ÀÌÅÍ ºÙÀ½ } TPacketGCMarkIDXList;
WORD Data tipini DWORD olarak değiştirin.
Server/game/src/input_login.cpp içerisinde arayın:
Kod:
DWORD bufSize = sizeof(WORD) * 2 * rkMarkMgr.GetMarkCount();
WORD Data tipini DWORD olarak değiştirin.
Server/game/src/packet.h içerisinde arayın:
Kod:
typedef struct packet_mark_idxlist { BYTE header; DWORDbufSize; WORDcount; //µÚ¿¡ size * (WORD + WORD)¸¸Å µ¥ÀÌÅÍ ºÙÀ½ } TPacketGCMarkIDXList;
WORD Data tipini DWORD olarak değiştirin.
Lonca Sembolleriyle İlgili Bir Hata Düzeltmesi
Metin2 özel sunucularında loncalar, oyuncuların bir araya gelerek güçlerini birleştirdiği önemli yapılar olarak karşımıza çıkar. Bu yapıların görsel temsillerinden biri ise lonca sembolleridir. Ancak bazı durumlarda lonca sembolleriyle ilgili hatalar meydana gelebilir ve bu da hem oyun içi deneyimi etkileyebilir hem de sunucu sahipleri için teknik sorunlara neden olabilir. Bu yazıda, lonca sembolleriyle ilgili yaygın bir hatayı nasıl düzelteceğimizi ele alacağız.
Lonca Sembolü Nedir?
Metin2'de lonca sembolü, bir loncanın tanınabilirliğini artırmak için kullanılan görsel unsurlardır. Bu semboller genellikle oyuncuların ekranda birbirlerini tanımasını ve lonca üyelerini ayırt etmelerini sağlar. Semboller, genellikle oyuncu adlarının yanında veya karakterin üzerinde görüntülenir.
Ortaya Çıkan Sorun
Bazı özel sunucularda, lonca sembolleri doğru şekilde yüklenmeyebilir veya görüntülenmeyebilir. Bu durum genellikle sunucu tarafında sembol yükleme mantığındaki eksikliklerden veya dosya yollarındaki yanlışlıklardan kaynaklanır. Özellikle C++ tabanlı sistemlerde, sembollerin doğru şekilde render edilmesi için belirli fonksiyonların çalışması gerekir. Eğer bu fonksiyonlardan biri hatalıysa, semboller görünmez veya bozuk olabilir.
Hata Tespiti
Bu hatanın temelinde genellikle pack dosyalarında bulunan sembol resimlerinin doğru şekilde sunucuya entegre edilmemesi yatmaktadır. Ayrıca, game server tarafında sembol yükleme fonksiyonlarında bir eksiklik olması da bu soruna neden olabilir. Örneğin, bazı sistemlerde sembolün boyutu kontrol edilmeden doğrudan yükleme işlemi yapılır. Bu da hatalı veri okumasına yol açabilir.
Hatanın Düzeltme Yöntemi
Bu hatayı düzeltmek için öncelikle client tarafında sembol yükleme işlemini kontrol etmeliyiz. UIScript dosyasında lonca sembolü için ayrılmış olan alanın doğru şekilde tanımlandığından emin olmalıyız. Ayrıca, py root kısmında sembol yükleme fonksiyonu varsa, burada yapılan işlemlerin doğruluğunu kontrol etmeliyiz.
Ardından server side üzerinden, yani auth ve game sunucularında sembol verilerinin doğru şekilde aktarıldığından emin olunmalıdır. Özellikle db core kısmında lonca sembolüne ait verilerin doğru şekilde tutulup tutulmadığı incelenmelidir. Gerekirse SQL sorguları gözden geçirilmelidir.
C++ Kodlarında Değişiklik[/CD][/BR]Eğer hata C++ kaynak kodundan kaynaklanıyorsa, source edit yaparak sembol yükleme fonksiyonlarını güncellemek gerekebilir. Örneğin, sembolün cache edilip edilmediği kontrol edilmeli ve gerekirse cache mekanizması optimize edilmelidir. Ayrıca, sembol verisi sunucudan istemciye gönderilirken bir hata olup olmadığı kontrol edilmelidir.
Test Süreci
Yaptığınız değişikliklerden sonra, sembollerin doğru şekilde görüntülenip görüntülenmediğini test etmek önemlidir. Bunun için bir test loncası oluşturarak, farklı sembollerle deneme yapılabilir. Ayrıca, farklı karakterlerin aynı sembolü taşıyıp taşımadığı da kontrol edilmelidir.
Sonuç
Lonca sembolleri, Metin2 özel sunucularında kullanıcı deneyimini artıran önemli görsel ögelerdir. Bu nedenle, sembollerle ilgili oluşabilecek herhangi bir hatayı erken tespit edip düzeltmek, sunucu sahipleri için kritik öneme sahiptir. Bu makalede anlatılan adımlar sayesinde, sembol hatalarını kolayca teşhis edip çözebilirsiniz.
A Fix for Guild Symbols Related Bug
Guilds represent important structures in Metin2 private servers where players unite to strengthen themselves. One of the visual representations of these structures is guild symbols. However, sometimes issues related to guild symbols may occur, which can affect the gameplay experience and cause technical problems for server owners. In this article, we will discuss how to fix a common issue regarding guild symbols.
What Is a Guild Symbol?
In Metin2, a guild symbol is a visual element used to enhance the recognizability of a guild. These symbols typically help players identify each other and distinguish guild members on screen, usually displayed next to player names or above characters.
The Issue That Occurs
On certain private servers, guild symbols may not load or display correctly. This issue often stems from missing logic in the symbol loading mechanism on the server-side or incorrect file paths. Particularly in C++ based systems, specific functions must run properly to render symbols correctly. If one of these functions contains an error, symbols might not appear or be displayed incorrectly.
Identifying the Error
The root of this error often lies in improper integration of symbol image files located in pack folders into the server. Additionally, missing elements in symbol loading functions on the game server side can also cause this issue. For instance, some systems attempt to load symbols without checking their dimensions first, leading to incorrect data reading.
How to Fix the Error
To fix this issue, first verify the symbol loading process on the client side. Ensure that the area designated for guild symbols in the UIScript file is properly defined. Also, check the correctness of operations performed in the py root section if there is a symbol loading function present.
Next, ensure that symbol data is transferred accurately between the auth and game servers on the server side. Specifically, review whether guild symbol-related data is stored correctly within the db core. If necessary, inspect the SQL queries involved.
Modifications in C++ Code
If the error originates from C++ source code, updating the symbol loading functions via source edit might be required. For example, verify whether symbols are being cached properly, and if needed, optimize the caching mechanism. Also, check for errors during the transmission of symbol data from the server to the client.
Testing Process
After making changes, it's crucial to test whether symbols are displaying correctly. Create a test guild and experiment with different symbols. Also, confirm whether multiple characters can correctly carry the same symbol.
Conclusion
Guild symbols are important visual elements that enhance user experience on Metin2 private servers. Therefore, detecting and fixing any errors related to these symbols early is critical for server owners. With the steps outlined in this article, you can easily diagnose and resolve symbol-related issues.
