client/pythonshop.cpp
açılır.
Kod:
return Py_BuildValue("i", c_pItemData->price);
arat
Kod:
return Py_BuildValue("L", c_pItemData->price);
iyi forumlar.
Frozen Max Yang Pazar Bugu: Metin2 Private Serverler İçin Kalıcı ve Güvenilir Çözüm
Metin2 özel sunucularında oyun içi ekonomi sistemlerinin dengeli çalışması için bazı önemli sorunlarla sıkça karşılaşılır. Bunlardan birisi de Max Yang Pazar Bugu'dur. Bu hata, oyuncuların yang pazarında belirli bir miktarın üzerinde yang gönderememesine neden olur. Bu durum hem oyuncu deneyimini olumsuz etkiler hem de sunucu sahipleri için ciddi bir ekonomik dengesizliğe yol açabilir. Özellikle C++ tabanlı sistemler üzerinde çalışan sunucularda bu sorun daha sık görülür.
Max Yang Pazar Bugu Nedir?
Metin2 oyununda yang pazarı, oyuncuların eşya ve para alışverişinde bulunduğu merkezi bir sistemdir. Ancak, sunucu yapılandırmasında bazı sınırlamalar mevcuttur. Bu sınırlamalar bazen hatalı ayarlar veya kodlama eksiklikleri nedeniyle devreye girip, oyuncuların belirli bir yang miktarını aşan işlemlerini engeller. Bu da 'Max Yang Pazar Bugu' olarak adlandırılır. Bu bug, oyuncuların pazarda eşya satarak yüksek miktarlarda yang kazanmalarını engeller ve ekonomik aktivitenin düşmesine sebep olur.
Sorunun Temel Nedenleri
Bu hatanın temel nedeni genellikle client-side ve server-side arasında veri aktarımı sırasında yaşanan taşma (overflow) hatalarıdır. Özellikle 32-bit sistemlerde yang miktarı çok büyük olduğunda, değerlerin depolandığı değişken türleri sınıra ulaşır ve negatif değerlere dönüşebilir. Bu durumda sunucu, bu işlemi reddeder. Bu sorun, game core ya da db core üzerinde yapılan eksik yapılandırmalardan kaynaklanabilir.
Frozen Max Yang Pazar Bugu Çözümü Nedir?
Bu soruna kalıcı bir çözüm getirmek istiyorsanız, hem auth server hem de game server tarafında değişiklikler yapmanız gerekir. Özellikle Martysama gibi popüler Metin2 development kaynak kodları üzerinden geliştirme yapanlar için bu değişiklikler daha kolay uygulanabilir. Source edit süreçlerinde, yang verilerinin saklandığı alanların 64-bit integer türüne dönüştürülmesi gerekir. Bu sayede daha büyük yang miktarları güvenle saklanabilir ve taşma riski ortadan kalkar.
C++ Kaynak Kodlarda Uygulanması Gereken Değişiklikler
C++ system geliştiricileri için, yang verilerinin tutulduğu alanlar genellikle DWORD tipindedir. Bu tip, maksimum 4.2 milyar yang değerini destekler. Ancak bu değerlerin UINT64 (unsigned long long) türüne çevrilmesi, 18 milyon katrilyon yang sınırına kadar çıkmanıza olanak tanır. Client src tarafında da benzer değişiklikler yapılmalıdır. Bu işlem sırasında uiscript dosyalarında da bazı ayarlamalar yapılması gerekebilir.
Python Tabanlı Sistemlerde Uygulama
Eğer Python system ya da Py GUI kullanıyorsanız, bu sistemlerde de yang verilerinin doğru şekilde işlenebilmesi için veri tipleri konusunda dikkatli olmalısınız. Özellikle Py Root dosyalarında yapılan işlemlerde, integer taşmalarını engellemek adına long integer türleri kullanılmalıdır. Metin2dev süreçlerinde bu kontrol oldukça önemlidir.
Database Ayarlamaları
DB tarafında da yang sütununun veri türü BIGINT olarak tanımlanmalıdır. Eğer bu alan hâlâ INT olarak ayarlanmışsa, bu sorun devam edecektir. Game sunucu kodları ile veritabanı arasındaki uyum sağlanmadıkça, bu sorun tekrar edebilir.
Çözümün Sunucuya Entegrasyonu
Yapılan tüm değişikliklerden sonra, sunucu derlenmeli (compile) ve test ortamında kontrol edilmelidir. Pack dosyaları güncellenmeli ve oyuncuların bu değişiklikten etkilenmemesi için gerekli duyurular yapılmalıdır. Channel yapıları bu süreçte etkilenmemelidir.
Sonuç
Frozen Max Yang Pazar Bugu, Metin2 özel sunucularında karşılaşılan ve ekonomik dengeleri bozan ciddi bir sorundur. Ancak doğru source code düzenlemeleri ve database güncellemeleri ile bu sorun kalıcı olarak çözülebilir.
Frozen Max Yang Market Bug: A Permanent and Reliable Solution for Metin2 Private Servers
In Metin2 private servers, several issues often arise that disrupt the balanced functioning of in-game economy systems. One of these issues is the Max Yang Market Bug. This error prevents players from sending yang amounts exceeding certain limits on the yang market. This situation not only negatively affects the player experience but also causes significant economic imbalances for server owners. This problem is especially common on servers running on C++ based systems.
What Is the Max Yang Market Bug?
In the Metin2 game, the yang market is a central system where players trade items and money. However, there are certain limitations in server configurations. Sometimes, due to incorrect settings or coding errors, these limitations activate and prevent players from making transactions above certain yang values. This is called the 'Max Yang Market Bug'. This bug prevents players from earning high amounts of yang by selling items on the market, which can reduce economic activity.
Root Causes of the Issue
The main cause of this error is usually overflow errors during data transmission between client-side and server-side. Especially in 32-bit systems, when yang values become too large, the variable types storing these values reach their limits and can turn negative. In such cases, the server rejects the transaction. This issue may stem from incomplete configurations within the game core or db core.
What Is the Frozen Max Yang Market Bug Solution?
To permanently resolve this issue, you must make changes on both the auth server and game server sides. For those developing with popular Metin2 development source codes like Martysama, these changes can be more easily applied. During source edit processes, areas storing yang data should be converted to 64-bit integer types. This allows larger yang values to be stored safely, eliminating overflow risks.
Changes Required in C++ Source Codes
For C++ system developers, yang data storage areas are typically of type DWORD. This type supports up to 4.2 billion yang. Converting these types to UINT64 (unsigned long long) enables support for up to 18 quintillion yang. Similar changes must also be made on the Client src side. During this process, adjustments might be needed in uiscript files as well.
Implementation in Python-Based Systems
If you're using Python system or Py GUI, ensure yang data is processed correctly by using appropriate data types. Particularly in Py Root files, use long integer types to prevent integer overflows. Such controls are very important in Metin2dev processes.
Database Configurations
On the DB side, the yang column type must be defined as BIGINT. If this field remains as INT, the issue will persist. Without proper alignment between game server codes and the database, this issue may repeat itself.
Integration of the Solution to the Server
After all changes are completed, the server must be compiled (compile) and tested in a testing environment. The pack files must be updated, and necessary announcements should be made so that players are not affected by these changes. Channel structures must remain unaffected during this process.
Conclusion
The Frozen Max Yang Market Bug is a serious issue encountered in Metin2 private servers that disrupts economic balances. However, with correct source code modifications and database updates, this issue can be permanently resolved. At
