Kopyalama için düzenleme

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 42

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
char_item.cpp aç

if (!IsValidItemPosition(DestCell))
{
return false;
}
Arat

Altına ekle
Kod:
if (m_pkTimedEvent)     {         ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Ãë¼Ò µÇ¾ú½À´Ï´Ù."));         event_cancel(&m_pkTimedEvent);     }//Çıkış İptal etme     if (Cell.cell == DestCell.cell && SWITCHBOT != Cell.window_type && SWITCHBOT != DestCell.window_type)         return false;//Rutil

Eşya hareket ettirilirse çıkışı iptal eder efsun botunda 1 inci slot dışında eklenmeme vs problemi olmayacaktır.
wslik filesinde test etmiştir.. her hangi bir problemle karşılaşamadık.


İkarus için de ufak bir fix
new_offlineshop_manager.cpp aç

bool CShopManager::RecvShopSafeboxGetItemClientPacket(LPCHARACTER ch, DWORD dwItemID)
arat
159999_2ffd60be4e87e5f43c0bb1db91f51bc1.png


159997_99f1c124bfe9b4d006ecff5cdf34c4c1.png


Kod:
if(!ch || !ch->GetShopSafebox() || ch->IsDead())             return false;
Değiştir





.gif



Mini update
input_main.cpp arat
if (test_server && bHeader != HEADER_CG_MOVE)
sys_log(0, "CInputMain::Analyze() ==> Header [%d] ", bHeader);
Altına ekle
if (ch->GetDesc()->GetPhase() != PHASE_GAME && ch->GetDesc()->GetPhase() != PHASE_DEAD)
{
sys_err("no character in game");
sys_log(0, "no character in game %u %u %u", ch->GetPlayerID(), ch->GetDesc()->GetPhase(), bHeader);
d->SetPhase(PHASE_CLOSE);
return (0);
}
160181_b0a6ac14a51bedaecb29d9a69ad531a6.png



desc.h arat
LPCHARACTER GetCharacter() { return m_lpCharacter; }

bool IsPhase(int phase) const { return m_iPhase == phase ? true : false; }
Altına ekle

int GetPhase() const { return m_iPhase; }

160183_be5d0f3ae9c2ee49bc9a7d7abce69092.png

Metin2 Sunucularında Kopyalama Sistemlerini Güvenli Hale Getirmek
Metin2 özel sunucuları geliştiren geliştiriciler için kopyalama sorunları her zaman büyük bir meseledir. Özellikle PvP sistemlerinin yoğun olduğu sunucularda kopyalama, oyuncuların deneyimini ciddi şekilde etkileyebilir. Bu nedenle, kopyalamayı engelleme veya azaltma stratejileri sunucu sahipleri ve geliştiriciler için kritik öneme sahiptir. Bu makalede, Metin2 özel sunucularında kopyalama için düzenleme yaparken dikkat edilmesi gereken konuları ele alacağız.

Kopyalama Nedir?
Kopyalama, bir oyuncunun başka bir karakterin verilerini (özellikle item, level, para gibi) çoğaltarak sahte bir şekilde elde etmesidir. Bu durum, genellikle sunucu tarafında güvenlik açıklarından yararlanılarak gerçekleşir. Bu tür eylemler, hem sunucunun dengesini bozar hem de adil oyun ortamını tehdit eder.

Kopyalama Önleme İçin Genel Yaklaşımlar
Sunucu tarafında güvenliği artırmak için öncelikle DB (veritabanı) ve AUTH/Game sunucuları arasında güçlü bağlantılar kurulmalıdır. AUTH sunucusu üzerinden kimlik doğrulama süreçleri sıkılaştırılmalı, her işlem için loglama yapılmalıdır. Bu sayede kopyalama girişimleri tespit edilebilir.

C++ Sunucu Kaynak Kodlarında Değişiklikler
Metin2 özel sunucuları genellikle C++ tabanlı kaynak kodlar kullanır. Bu kaynak kodlar üzerinde yapılan değişiklikler, kopyalama risklerini azaltabilir. Örneğin, item geçişlerinde kontrol mekanizmaları güçlendirilmeli, her item transferi için sunucu tarafında doğrulama yapılmalıdır. Bu kontroller, martysama veya benzeri kaynak kodlarda yapılandırılabilir.

Python Sistemleri ile Güvenlik
Metin2 sunucularında Python ile yazılmış sistemler de yaygın olarak kullanılır. Özellikle UIscript, py root gibi Python dosyaları üzerinden gelen istekler kontrol altına alınmalıdır. Py GUI arayüzleri ile kullanıcıdan gelen komutlar filtrelenmeli ve her işlem sunucu tarafından teyit edilmelidir. Bu sayede, kopyalama amaçlı kötü niyetli istekler engellenebilir.

PvP Sistemlerinde Kopyalama Riski
PvP sunucularında, kopyalanan eşyalar savaş esnasında kullanılabilir. Bu da dengesizliklere yol açar. Bu nedenle PvP sistemlerinde özel koruma mekanizmaları kurulmalıdır. Örneğin, item drop işlemleri sadece belirli koşullarda yapılmalı ve PvP esnasında item transferleri engellenmelidir.

Otomatik Tespit ve Engelleme Sistemleri
Sunucu yönetiminde, kopyalama tespiti için otomatik sistemler kurmak da oldukça faydalıdır. Bu sistemler, oyuncu davranışlarını analiz ederek anormal aktiviteleri tespit edebilir. Örneğin, kısa sürede çok sayıda item elde eden karakterler otomatik olarak gözaltına alınabilir.

Sonuç
Metin2 özel sunucularında kopyalama sorununu çözmek için hem teknik hem de sistemsel düzenlemeler yapılmalıdır. C++, Python, DB ve AUTH sistemlerinde yapılacak kontroller, güvenliği ciddi anlamda artırır. Sunucu sahipleri, oyuncuların adil oyun deneyimi yaşamaları için düzenli olarak sistemlerini gözden geçirmeli ve gerekli güncellemeleri yapmalıdır.


Securing Copy Prevention Systems on Metin2 Servers
For developers working on Metin2 private servers, duplication issues are always a major concern. Especially in PvP-oriented servers, copying can severely impact player experience. Therefore, strategies for preventing or reducing duplication are critical for server owners and developers. In this article, we will address key points to consider when implementing anti-copy measures on Metin2 private servers.

What is Duplication?
Duplication refers to a player illegally multiplying items, levels, or money by exploiting data from another character. This usually occurs by taking advantage of security loopholes on the server side. Such actions disrupt server balance and threaten fair gameplay.

General Approaches to Prevent Duplication
To enhance server-side security, it's crucial to establish strong connections between the DB (database) and AUTH/Game servers. Authentication processes via the AUTH server should be tightened, with logging implemented for each transaction. This allows detection of duplication attempts.

Modifications in C++ Server Source Code
Metin2 private servers often use C++ based source code. Modifications within these codes can reduce duplication risks. For example, control mechanisms during item transfers should be strengthened, and every item exchange must be validated server-side. These checks can be configured within sources like martysama or similar.

Security with Python Systems
Python-based systems are also widely used in Metin2 servers. Requests originating from Python files such as UIscript and py root should be monitored carefully. Py GUI interfaces must filter commands received from users, and each action should be confirmed by the server to block malicious duplication attempts.

Duplication Risks in PvP Systems
In PvP servers, duplicated items can be used during battles, causing imbalances. Therefore, special protection mechanisms must be established in PvP systems. For example, item drops should only occur under specific conditions, and item transfers during PvP combat should be blocked.

Automatic Detection and Blocking Systems
Implementing automatic detection systems for duplication within server management can be highly beneficial. These systems analyze player behavior and detect unusual activities. For instance, characters acquiring excessive items in a short time can be automatically flagged or suspended.

Conclusion
Solving duplication issues in Metin2 private servers requires both technical and systemic adjustments. Controls implemented in C++, Python, DB, and AUTH systems significantly increase security. Server owners should regularly review their systems and apply necessary updates to ensure fair gaming experiences for players.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt