Sunucudaki yangların miktarını ve bunların kökenini kolayca kontrol edebileceğiniz gelişmiş log sistemi.
Günlükler oyunun tüm temel sistemlerini içerir, yani:
- <li data-xf-list-type="ul">» Yerden yang toplamak:
- <li data-xf-list-type="ul">GIVE_GOLD_PARTY: alınan yang sayısı / düşen toplam yang sayısı <li data-xf-list-type="ul">GIVE_GOLD_SOLO: party olmadığında
- <li data-xf-list-type="ul">REFINE_LOG_SUCCESS: yükseltme başarılı <li data-xf-list-type="ul">REFINE_LOG_FAIL: yükseltme başarısız
- <li data-xf-list-type="ul">CHEST_GOLD: yang içeriyorsa
- <li data-xf-list-type="ul">ITEM_USE_GOLD: yang miktarını depolayan öğe socket0
- <li data-xf-list-type="ul">CUBE_CREATE: sadece yang'ların gerekli olduğu yerlerde işçilik için hazırlanmış öğelerin sayısıyla birlikte
- <li data-xf-list-type="ul">EXCHANGE_GOLD_TAKE: başka bir oyuncu ile ticaret yaparak alınan yanglar <li data-xf-list-type="ul">EXCHANGE_GOLD_GIVE: ticaret yoluyla başka bir oyuncuya verilen yanglar
- <li data-xf-list-type="ul">NPC_SHOP_BUY: bir NPC'den bir eşya satın alın <li data-xf-list-type="ul">NPC_SHOP_SELL: bir eşyayı bir NPC'ye satmak
- <li data-xf-list-type="ul">PLAYER_SHOP_BUY: oyuncunun mağazasından bir eşya satın alın <li data-xf-list-type="ul">PLAYER_SHOP_SELL: oyuncunun mağazasında bir eşya satmak
- <li data-xf-list-type="ul">QUEST_GIVE_GOLD: fonksiyon sayesinde elde edilen yanglar pc_give_gold <li data-xf-list-type="ul">QUEST_CHANGE_GOLD: fonksiyon sayesinde yanglar değişti pc_change_money
service.h:
- <li data-xf-list-type="ul">» TAKE_EML_MIN_EXCHANGE_GOLD 1000: min. oyuncular arasındaki alışverişi kaydetmek için Yang miktarı <li data-xf-list-type="ul">» TAKE_EML_MIN_QUEST_GOLD 50000: min. görevler yoluyla alınan/kaybedilen altını kaydetmek için Yang miktarı
Herhangi bir sisteme log eklemek mümkündür, en basiti bu örneği kullanmak olacaktır:
Kod:
/* GetPlayerID() » Başlatıcının Karakter Kimliği GetName() » Başlatıcının Oyuncu Adı "NEW_MONEY_LOG" » İşlem Türü NOW() » İşlem Zamanı NewLog_AdditionalInfo » Ek Bilgi item->GetVnum() » Öğe VNUM victim->GetPlayerID() » Karakter Kimliği ile victim->GetName() » Oyuncu Adı ile item_cost » Yang Sayısı ch->GetGold()» Initiator Yangs (işlemden önce) ch->GetGold()-item_cost » Initiator New Yangs (işlemden sonra) * / // örn ek bilgileri depolamak istediğinizde char NewLog_AdditionalInfo[512]; snprintf(NewLog_AdditionalInfo, sizeof(NewLog_AdditionalInfo), "item_count: %u", item->GetCount()); LogManager::instance().NEWMoneyLog(GetPlayerID(), GetName(), "NEW_MONEY_LOG", NewLog_AdditionalInfo, item->GetVnum(), victim->GetPlayerID(), victim->GetName(), item_cost, ch->GetGold(), ch->GetGold()-item_cost); // ek bilgi depolamak istemediğinizde LogManager::instance().NEWMoneyLog(GetPlayerID(), GetName(), "NEW_MONEY_LOG", "", item->GetVnum(), victim->GetPlayerID(), victim->GetName(), item_cost, GetGold(), GetGold()+item_cost);
Kontrol ettiğimiz oyuncunun işlemlerini ve eylemlerini, örneğin takma adını ve tarihini kullanarak kolayca filtreleyebilirsiniz:
Kod:
SELECT * FROM log.new_money_log WHERE 'char_name' = "take2137" and 'time' > "2021-06-21 21:37:00";
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Enhanced Money Log Sistemi Nedir?
Metin2 özel sunucularında oyun içi para hareketlerini takip etmek ve güvenlik sağlamak adına geliştirilen Enhanced Money Log sistemi, sunucu yöneticileri için kritik öneme sahiptir. Bu sistem sayesinde oyuncuların kazandığı, harcadığı ya da transfer ettiği paralar detaylı şekilde kayıt altına alınır. Bu yazıda, Metin2 Lobby olarak bu sistemin ne kadar değerli olduğunu ve nasıl entegre edileceğini anlatıyoruz.
Neden Enhanced Money Log Kullanmalısınız?
Metin2 sunucularında para dengesi oyunun dengeli ilerlemesi için oldukça önemlidir. Oyuncuların kazançları ve harcamaları arasında bir denge yoksa, bu durum ekonomik enflasyona neden olabilir. Enhanced Money Log sistemi sayesinde:
- Oyuncu para kazanç kaynakları analiz edilebilir.
- Hile yapan kullanıcılar tespit edilebilir.
- Sunucu ekonomisi daha iyi planlanabilir.
- Günlük, haftalık raporlamalarla verimli yönetim sağlanabilir.
Sistem Nasıl Çalışır?
Enhanced Money Log sistemi, C++ kaynak kod üzerinde çalışır. Oyun sırasında meydana gelen tüm para değişiklikleri log dosyasına yazılır. Örneğin bir oyuncu bir item satın aldığında, sistem bu işlemi şu şekilde kaydeder:
Oyuncu: 'PlayerName'
İşlem: 'Item Satın Alma'
Miktar: '-1000 Yang'
Tarih: 'YYYY-MM-DD HH:MM:SS'
Python GUI Entegrasyonu
Günlük log verilerini daha kolay analiz etmek için Python GUI tabanlı bir arayüz geliştirilmiştir. Bu sayede logları manuel açmak yerine, kullanıcı dostu bir panel üzerinden filtreleme, sıralama ve analiz yapabilirsiniz. PyRoot ile entegrasyon sağlanarak log verileri anlık olarak görselleştirilir.
Kurulum ve Yapılandırma
Bu sistemi kurmak için öncelikle game server programming bilgisi gereklidir. Kurulum aşamasında:
- Client src tarafında para geçmişi için gerekli fonksiyonlar tanımlanır.
- DB Core kısmında loglama için yeni tablolar oluşturulur.
- Game server tarafında para işlemleri sırasında loglama yapılır.
Avantajları Nelerdir?
Enhanced Money Log sistemi ile:
- Sunucu ekonomisinin kontrolü sağlanır.
- Güvenlik açıkları erken tespit edilir.
- Sunucu performansı optimize edilir.
- Yönetim ekibi için karar destek sistemi sunulur.
Sonuç
Metin2 Lobby olarak, Metin2 private server geliştirme konusunda uzmanlaşmış bir ekip olarak, Enhanced Money Log gibi gelişmiş sistemleri sunucularınıza entegre etmenizi öneririz. Hem güvenlik hem de analiz açısından büyük faydalar sağlar.
What is Enhanced Money Log?
The Enhanced Money Log system, developed to track in-game currency movements and ensure security on Metin2 private servers, is critical for server administrators. This system allows detailed logging of money earned, spent, or transferred by players. In this article, we at Metin2 Lobby explain how valuable this system is and how it can be integrated.
Why Should You Use Enhanced Money Log?
Currency balance in Metin2 servers is crucial for balanced gameplay. If there's no balance between player earnings and spending, it may cause economic inflation. With the Enhanced Money Log system:
- Player income sources can be analyzed.
- Players cheating may be detected.
- Server economy can be better planned.
- Efficient management is ensured through daily or weekly reports.
How Does The System Work?
The Enhanced Money Log system operates on C++ source code. All currency changes occurring during gameplay are written into a log file. For example, when a player purchases an item, the system records this transaction as follows:
Player: 'PlayerName'
Action: 'Item Purchase'
Amount: '-1000 Yang'
Date: 'YYYY-MM-DD HH:MM:SS'
Python GUI Integration
To analyze daily logs more easily, a Python GUI based interface has been developed. This way, instead of manually opening log files, you can filter, sort, and analyze logs through a user-friendly panel. Integration with PyRoot visualizes log data in real-time.
Installation and Configuration
Installing this system requires knowledge of game server programming. During installation:
- Functions required for currency history are defined on the client src side.
- New tables for logging are created in the DB Core section.
- Logging occurs during currency transactions on the game server side.
Benefits
With the Enhanced Money Log system:
- Control over server economy is maintained.
- Security vulnerabilities are detected early.
- Server performance is optimized.
- A decision support system is provided for management teams.
Conclusion
As Metin2 Lobby, being a team specialized in Metin2 private server development, we recommend integrating advanced systems like Enhanced Money Log into your servers. It provides significant benefits both in terms of security and analysis.
