NeedForMetin2: Temel P2P komutları, yeni komut ekleme veya komple kapatma

  • 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
Selam arkadaşlar,

Mainline source kurcalarken paketler kısmında şöyle bi başlık buldum;

HEADER_CG_TEXT

Baktım game de var clientta yok. Alla ala bi kurcaladım ne çıksa beğenirsinis?

Yıllardır P2P açığı diye ortalarda gesen P2P bağlantısından sorumlu başlığımısmış bu.

Bası arkadaşlar temel P2P komutlarını arıyorlardı;
Kod:
IS_SERVER_UP IS_PASSPOD_UP SHOWMETHEMONEY USER_COUNT CHECK_P2P_CONNECTIONS PACKET_INFO PROFILE DELETE_AWARDID NOTICE CLOSE_PASSPOD OPEN_PASSPOD SHUTDOWN SHUTDOWN_ONLY DC RELOAD_CRC CHECK_CLIENT_VERSION RELOAD EVENT BLOCK_CHAT PRIV_EMPIRE BLOCK_EXCEPTION

Bu komutları php,python,c# vs gibi dillerle oluşturacağınıs socket bağlantıları ile oyunu komuta edebilirsinis. Mesela birini banladınıs dc atmak için oyuna girmenise gerek yok. Sitenise ekleyeceğinis ufak bir betik ve DC komutu ile halledebilirsinis.(Kod örneği vermiyorum kimin hangi platformu kullandığını bilemeyeceğim. İnternette bakın.)

Gelelim yeni komut eklemeye;
24978_2401799319fd6955461ebeb392e6fdff.png

İnput.cpp de deki if (bHeader == HEADER_CG_TEXT) bloğu içine istediğinis komutu oluşturabilirsinis. Kod devamında örnekler var. Ayrıca adminpage şifresi kontrolü için de şöyle bir blok var kopya çekebilirsinis.

24979_f1097b78a306af20f4ca079016efda94.png



Ne gibi komutlar oluşturabilir mesela?

Mesela oyuna girmeden bk okutabilirsinis. Site veya mobil app üserinden bir kaç parametre gondererek işlem yapabilirsini.

Oyun içi alışverişleri oyuna girmeden yapabilirsinis.(Burası biras usmanlık istiyor. Mevcut shop buy fonksiyonu her iki karakter çevrimiçi mi diye kontrol eder ösel bi buy fonksiyonu yasmanıs gerekebilir.)

Veya oyuncularınıs oyuna girmeden sohbet yollayabilir.

Vb. gibi geliştirecek pek çok şey olabilir. Şu Site app üserinden bk okuma fikri iyimiş bi geliştireyim.
NeedForMetin2: Temel P2P Komutları, Yeni Komut Ekleme veya Komple Kapatma

Metin2 özel sunucularında geliştirme yaparken, oyuncu ile sunucu arasında doğrudan haberleşmeyi sağlayan P2P (Player to Player) komutları büyük önem taşır. Bu komutlar sayesinde oyuncular kendi aralarında mesajlaşabilir, bilgi alışverişinde bulunabilir veya belirli sistemsel işlemler gerçekleştirebilir. Ancak bazı durumlarda bu komutlar istenmeyen kullanım biçimlerine dönüşebilir. Bu nedenle hem mevcut komutları tanımak hem de yeni komutlar eklemek ya da tüm sistemi kapatmak çok önemlidir.

P2P Komutları Nedir?
P2P komutları, Metin2 oyununda oyuncuların doğrudan birbirleriyle etkileşime girebilmesini sağlayan sistemsel komutlardır. Genellikle özel mesajlaşma, tehdit, özel sunucu komutları gibi alanlarda kullanılır. Bu komutlar, hem oyun içi sosyal yapıyı destekler hem de bazen güvenlik açıklarına neden olabilir.

Temel P2P Komutları Tanıma
Standart Metin2 sunucularında bulunan temel P2P komutları genellikle aşağıdaki gibidir:

- /w oyuncuadi mesaj - Özel mesaj gönderme
- /f oyuncuadi mesaj - Arkadaşlara mesaj gönderme
- /block oyuncuadi - Oyuncuyu engelleme
- /unblock oyuncuadi - Engeli kaldırma

Bu komutlar genellikle client tarafında tanımlıdır ve bazı özel sunucularda farklı şekillerde genişletilebilir.

Yeni P2P Komutları Eklemek
Metin2 özel sunucularında yeni P2P komutları eklemek, C++ bilgisi gerektiren bir işlemdir. Game server kaynak kodlarında 'packet.h', 'input.h', 'input_main.cpp' gibi dosyalar üzerinde değişiklik yapılmalıdır. Örneğin, özel bir '/admin' komutu oluşturmak için:

1. 'input_main.cpp' dosyasında komutun işleneceği fonksiyon tanımlanır.
2. Gerekirse client tarafında bu komutun tanımı yapılır.
3. Packet yapısı güncellenir.

Python GUI ile yönetim panelleri entegre edildiğinde, bu tür komutların loglanması ve izlenmesi kolaylaşır.

P2P Sistemini Tamamen Kapatmak
Sunucuda P2P komutlarının tamamen devre dışı bırakılması isteniyorsa, öncelikle client tarafında bu komutların tanımlandığı yerler silinmelidir. Ardından game server'da ilgili input fonksiyonları yorum satırına alınabilir veya tamamen kaldırılabilir. Bu işlem, güvenliği artırmak isteyen sunucu sahipleri için idealdir.

Güvenlik ve Performans Açısından Değerlendirme
P2P sistemleri, doğru yönetildiğinde oyun deneyimini zenginleştirir. Ancak kötüye kullanım potansiyeline sahip olduğundan, geliştiricilerin dikkatli olması gerekir. Özellikle spam mesajlar, tehdit içerikli konuşmalar gibi konular için filtreleme sistemleri kurulmalıdır. Ayrıca P2P komutları, sunucu performansını etkileyebilecek ekstra paket trafiğine neden olabilir. Bu nedenle, bu komutların optimize edilmesi önemlidir.

Sonuç
Metin2 özel sunucularında P2P komutları, hem kullanıcı deneyimi hem de güvenlik açısından stratejik bir rol oynar. Geliştiriciler, mevcut komutları analiz edip, yeni komutlar ekleyebilir veya sistemi tamamen kapatabilirler. Bu işlemler için C++ bilgisi, client-side düzenlemeler ve server-side paket yönetimi gerekebilir. NeedForMetin2 sistemlerinde bu işlemleri doğru uygulamak, güçlü ve güvenli bir sunucu altyapısı kurmak için kritik adımlardandır.


NeedForMetin2: Basic P2P Commands, Adding New Commands or Disabling Them Completely

In Metin2 private server development, P2P (Player to Player) commands play a vital role in direct communication between players and the server. These commands allow players to communicate directly, exchange information, or perform specific system operations. However, in some cases these commands can be misused. Therefore, understanding existing commands, adding new ones, or disabling the entire system becomes very important.

What Are P2P Commands?
P2P commands are system-level commands that allow players in Metin2 to interact directly with each other. They are commonly used for private messaging, threats, or custom server commands. While these commands support social interaction within the game, they may sometimes lead to security vulnerabilities.

Understanding Basic P2P Commands
The basic P2P commands found in standard Metin2 servers typically include:

- /w playername message - Sending a private message
- /f playername message - Sending a message to friends
- /block playername - Blocking a player
- /unblock playername - Unblocking a player

These commands are usually defined on the client side and can be extended differently on certain private servers.

Adding New P2P Commands
Adding new P2P commands to Metin2 private servers requires knowledge of C++. Modifications must be made in files such as 'packet.h', 'input.h', and 'input_main.cpp' in the game server source code. For example, to create a custom '/admin' command:

1. Define the function handling the command in 'input_main.cpp'.
2. If necessary, define the command on the client side.
3. Update the packet structure.

When integrated with Python GUI-based admin panels, logging and monitoring such commands becomes easier.

Disabling the P2P System Completely
To completely disable P2P commands on a server, first remove their definitions from the client side. Then, comment out or remove the corresponding input functions in the game server. This approach is ideal for server owners seeking to increase security.

Security and Performance Evaluation
P2P systems enrich the gaming experience when properly managed. However, due to potential misuse, developers must be cautious. Filters should be implemented against issues like spam messages and threatening content. Additionally, P2P commands may generate extra packet traffic affecting server performance, so optimizing these commands is essential.

Conclusion
In Metin2 private servers, P2P commands play a strategic role in both user experience and security. Developers can analyze existing commands, add new ones, or disable the system entirely. Implementing these correctly requires knowledge of C++, client-side modifications, and server-side packet management. Properly applying these processes in NeedForMetin2 systems is critical for building a robust and secure server infrastructure.
 

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

Benzer konular

Geri
Üst Alt