Metin2 Server Geliştirme Serisi: SIS Sistemini Tamamen Kaldırma ve Yeni SIS Sistemi Ekleme
Metin2 özel sunucu geliştirme sürecinde, oyuncuların karakterlerinin görsel olarak sunucuda nasıl görüneceğini belirleyen bazı sistemler vardır. Bu sistemlerden birisi de SIS (Server Inventory System) olarak bilinir. SIS, karakterin donanım (equipment) durumunu sunucu tarafında tutar ve istemciye (client) aktarır. Ancak bazı özel sunucularda bu sistemi devre dışı bırakmak veya tamamen kaldırmak isteyebilirsiniz. Aynı şekilde yeni bir SIS sistemi geliştirmek isterseniz, eski sistem üzerinden çalışmak da avantaj sağlayabilir. Bu yazıda, SIS sistemini tamamen kaldırmayı ve alternatif olarak yeni bir SIS sistemi eklemeyi ele alacağız.
SIS Nedir?
SIS, Metin2 sunucularında karakterin giydiği eşyaların görünümünü yöneten bir sistemdir. Sunucu tarafında karakterin giydiği eşyalar bir dizi olarak tutulur ve istemciye gönderilir. Bu sayede oyuncuların karakterleri diğer oyunculara doğru şekilde görünür. Ancak bazı özel sunucular bu sistemi farklı şekillerde ele almak ister. Örneğin PvP odaklı sunucularda karakterlerin donanımı gizlenmek istenebilir. Bu gibi durumlarda SIS sistemini kapatmak veya değiştirmek gerekir.
SIS Sistemini Tamamen Kaldırma[/CHARACTER]
SIS sistemini tamamen kaldırmak için birkaç temel dosyada değişiklik yapmanız gerekir. Bu dosyalar genellikle Game Server kaynak kodlarında yer alır. Aşağıdaki adımları takip ederek SIS sistemini devre dışı bırakabilirsiniz:
1. ClientManager.cpp Dosyasında Değişiklik Yapma
Game server kaynak kodunuzda bulunan ClientManager.cpp dosyasını açın. Bu dosya, istemcilerle sunucu arasındaki iletişimi yönetir. SIS mesajlarının gönderildiği fonksiyonları arayın. Genellikle SendSIS fonksiyonu gibi bir şey olur. Bu fonksiyonu yorum satırına alın veya silin. Bu işlem, karakterin donanım bilgisinin istemciye gönderilmesini engeller.
2. Entity.cpp Dosyasında Donanım Gönderimini Engelleme
Entity.cpp dosyasında, karakterin ekipman bilgilerinin istemciye gönderildiği satırları bulun. Bu satırları kaldırarak karakterin giydiği eşyaların görünmesini engelleyebilirsiniz. Bu işlem, oyuncuların birbirlerinin donanımını görmesini önler.
3. Client Tarafında Değişiklikler
İstemci tarafında da SIS verilerini işlemeyen kodları yazarak sunucudan gelen SIS verilerini yok sayabilirsiniz. Bu, client src üzerinde değişiklik gerektirir. Uiscript veya py root dosyalarında SIS verilerini işleyen kodları silin veya devre dışı bırakın.
Yeni SIS Sistemi Ekleme
Eğer SIS sistemini tamamen kaldırmak yerine, yeni bir sistem geliştirmek istiyorsanız, mevcut SIS yapısını değiştirerek özelleştirebilirsiniz. Örneğin, oyuncuların donanımını belirli koşullara göre gösteren bir sistem oluşturabilirsiniz.
Özel SIS Sistemi Tasarımı
Sunucu tarafında bir koşul belirleyin. Örneğin, aynı guild üyesi olan oyuncular birbirlerinin donanımını görebilsin. Bunun için ClientManager.cpp veya Player.cpp dosyalarında gerekli kontrolleri yapın. Eğer iki oyuncu aynı guild içindeyse, onlara SIS verileri gönderin; değilse göndermeyin.
SIS Paketi Gönderimi
SIS verilerini göndermek için özel bir paket tanımlayabilirsiniz. Bu paket, istemciye özel verileri aktarır. Paketin yapısı, hangi eşyaların görüneceğini belirler. Paket formatını değiştirerek farklı verileri göndermek mümkündür.
Python GUI ve Py Root ile Entegrasyon
Py GUI veya Py Root kullanarak istemci tarafında SIS verilerini daha akıllıca işlemek mümkündür. Örneğin, bir Python betiği ile sunucudan gelen SIS verilerini analiz edip, belirli koşullara göre ekipmanı göstermeyebilirsiniz. Bu tür sistemler, PvP sunucularında avantaj sağlar.
Sonuç
Metin2 özel sunucularında SIS sistemini kaldırma veya değiştirme işlemleri, C++ server kaynak kodları üzerinde değişiklikler yapmayı gerektirir. Bu işlemler, oyuncuların birbirlerinin donanımını görüp görmeyeceğini kontrol etmenizi sağlar. SIS sistemini tamamen kaldırarak PvP deneyimini artırabilir veya özel kurallarla yeni bir SIS sistemi oluşturabilirsiniz. Bu gibi geliştirmeler, Metin2 geliştirme sürecinde yeteneklerinizi artırmak açısından oldukça faydalıdır. Daha fazla bilgi için Metin2 Lobby sitesini ziyaret edin.
Metin2 Server Development Series: Completely Removing SIS and Adding New SIS
In the process of developing Metin2 private servers, there are systems that determine how characters appear visually in the game. One of these systems is called SIS (Server Inventory System). SIS stores character equipment information on the server side and sends it to the client. However, in some private servers, you may want to disable or completely remove this system. If you plan to develop a new SIS system, working from the existing one can also be beneficial. In this article, we will discuss how to fully remove the SIS system and add a new SIS system as an alternative.
What is SIS?
SIS is a system in Metin2 servers that manages the visual representation of equipped items by the character. Equipment worn by the character is stored as an array on the server side and sent to the client. This ensures that players see each other's characters correctly. However, some private servers aim to handle this system differently. For instance, in PvP-focused servers, it might be desired to hide the equipment of characters. In such cases, disabling or changing the SIS system becomes necessary.
Completely Removing the SIS System
To completely remove the SIS system, you need to make changes in several key files. These files are usually located within the Game Server source code. Follow the steps below to disable the SIS system:
1. Modifying ClientManager.cpp
Open the ClientManager.cpp file in your game server source code. This file handles communication between clients and the server. Look for functions that send SIS messages. Often, there is a function like SendSIS. Comment out or delete this function. This prevents equipment information from being sent to the client.
2. Blocking Equipment Transmission in Entity.cpp
In the Entity.cpp file, find the lines where character equipment data is sent to the client. By removing these lines, you prevent the display of equipped items. This stops players from seeing each other's equipment.
3. Client-Side Modifications
On the client side, you can also write code that ignores SIS data received from the server. This requires modifications in client source files. Delete or disable the code in Uiscript or py root files that processes SIS data.
Adding a New SIS System
If instead of completely removing the SIS system, you wish to develop a new one, you can customize the current SIS structure. For example, you can create a system that displays equipment only under certain conditions.
Designing a Custom SIS System
Define a condition on the server side. For example, players in the same guild can see each other's equipment. Implement checks in ClientManager.cpp or Player.cpp files accordingly. If two players are in the same guild, send them SIS data; otherwise, do not.
Sending SIS Packets
You can define a custom packet to send SIS data. This packet transmits specific data to the client. The structure of the packet determines which items are displayed. By modifying the packet format, you can send different types of data.
Integration with Python GUI and Py Root
Using Py GUI or Py Root, it is possible to process SIS data more intelligently on the client side. For example, a Python script can analyze SIS data received from the server and decide whether to show equipment based on certain conditions. Such systems can provide advantages in PvP servers.
Conclusion
Removing or modifying the SIS system in Metin2 private servers requires changes in C++ server source code. These changes allow you to control whether players can see each other's equipment. You can enhance the PvP experience by completely removing the SIS system or creating a new SIS system with custom rules. Such improvements are highly beneficial for enhancing your skills during the Metin2 development process. Visit Metin2 Lobby for more information.
Metin2 özel sunucu geliştirme sürecinde, oyuncuların karakterlerinin görsel olarak sunucuda nasıl görüneceğini belirleyen bazı sistemler vardır. Bu sistemlerden birisi de SIS (Server Inventory System) olarak bilinir. SIS, karakterin donanım (equipment) durumunu sunucu tarafında tutar ve istemciye (client) aktarır. Ancak bazı özel sunucularda bu sistemi devre dışı bırakmak veya tamamen kaldırmak isteyebilirsiniz. Aynı şekilde yeni bir SIS sistemi geliştirmek isterseniz, eski sistem üzerinden çalışmak da avantaj sağlayabilir. Bu yazıda, SIS sistemini tamamen kaldırmayı ve alternatif olarak yeni bir SIS sistemi eklemeyi ele alacağız.
SIS Nedir?
SIS, Metin2 sunucularında karakterin giydiği eşyaların görünümünü yöneten bir sistemdir. Sunucu tarafında karakterin giydiği eşyalar bir dizi olarak tutulur ve istemciye gönderilir. Bu sayede oyuncuların karakterleri diğer oyunculara doğru şekilde görünür. Ancak bazı özel sunucular bu sistemi farklı şekillerde ele almak ister. Örneğin PvP odaklı sunucularda karakterlerin donanımı gizlenmek istenebilir. Bu gibi durumlarda SIS sistemini kapatmak veya değiştirmek gerekir.
SIS Sistemini Tamamen Kaldırma[/CHARACTER]
SIS sistemini tamamen kaldırmak için birkaç temel dosyada değişiklik yapmanız gerekir. Bu dosyalar genellikle Game Server kaynak kodlarında yer alır. Aşağıdaki adımları takip ederek SIS sistemini devre dışı bırakabilirsiniz:
1. ClientManager.cpp Dosyasında Değişiklik Yapma
Game server kaynak kodunuzda bulunan ClientManager.cpp dosyasını açın. Bu dosya, istemcilerle sunucu arasındaki iletişimi yönetir. SIS mesajlarının gönderildiği fonksiyonları arayın. Genellikle SendSIS fonksiyonu gibi bir şey olur. Bu fonksiyonu yorum satırına alın veya silin. Bu işlem, karakterin donanım bilgisinin istemciye gönderilmesini engeller.
2. Entity.cpp Dosyasında Donanım Gönderimini Engelleme
Entity.cpp dosyasında, karakterin ekipman bilgilerinin istemciye gönderildiği satırları bulun. Bu satırları kaldırarak karakterin giydiği eşyaların görünmesini engelleyebilirsiniz. Bu işlem, oyuncuların birbirlerinin donanımını görmesini önler.
3. Client Tarafında Değişiklikler
İstemci tarafında da SIS verilerini işlemeyen kodları yazarak sunucudan gelen SIS verilerini yok sayabilirsiniz. Bu, client src üzerinde değişiklik gerektirir. Uiscript veya py root dosyalarında SIS verilerini işleyen kodları silin veya devre dışı bırakın.
Yeni SIS Sistemi Ekleme
Eğer SIS sistemini tamamen kaldırmak yerine, yeni bir sistem geliştirmek istiyorsanız, mevcut SIS yapısını değiştirerek özelleştirebilirsiniz. Örneğin, oyuncuların donanımını belirli koşullara göre gösteren bir sistem oluşturabilirsiniz.
Özel SIS Sistemi Tasarımı
Sunucu tarafında bir koşul belirleyin. Örneğin, aynı guild üyesi olan oyuncular birbirlerinin donanımını görebilsin. Bunun için ClientManager.cpp veya Player.cpp dosyalarında gerekli kontrolleri yapın. Eğer iki oyuncu aynı guild içindeyse, onlara SIS verileri gönderin; değilse göndermeyin.
SIS Paketi Gönderimi
SIS verilerini göndermek için özel bir paket tanımlayabilirsiniz. Bu paket, istemciye özel verileri aktarır. Paketin yapısı, hangi eşyaların görüneceğini belirler. Paket formatını değiştirerek farklı verileri göndermek mümkündür.
Python GUI ve Py Root ile Entegrasyon
Py GUI veya Py Root kullanarak istemci tarafında SIS verilerini daha akıllıca işlemek mümkündür. Örneğin, bir Python betiği ile sunucudan gelen SIS verilerini analiz edip, belirli koşullara göre ekipmanı göstermeyebilirsiniz. Bu tür sistemler, PvP sunucularında avantaj sağlar.
Sonuç
Metin2 özel sunucularında SIS sistemini kaldırma veya değiştirme işlemleri, C++ server kaynak kodları üzerinde değişiklikler yapmayı gerektirir. Bu işlemler, oyuncuların birbirlerinin donanımını görüp görmeyeceğini kontrol etmenizi sağlar. SIS sistemini tamamen kaldırarak PvP deneyimini artırabilir veya özel kurallarla yeni bir SIS sistemi oluşturabilirsiniz. Bu gibi geliştirmeler, Metin2 geliştirme sürecinde yeteneklerinizi artırmak açısından oldukça faydalıdır. Daha fazla bilgi için Metin2 Lobby sitesini ziyaret edin.
Metin2 Server Development Series: Completely Removing SIS and Adding New SIS
In the process of developing Metin2 private servers, there are systems that determine how characters appear visually in the game. One of these systems is called SIS (Server Inventory System). SIS stores character equipment information on the server side and sends it to the client. However, in some private servers, you may want to disable or completely remove this system. If you plan to develop a new SIS system, working from the existing one can also be beneficial. In this article, we will discuss how to fully remove the SIS system and add a new SIS system as an alternative.
What is SIS?
SIS is a system in Metin2 servers that manages the visual representation of equipped items by the character. Equipment worn by the character is stored as an array on the server side and sent to the client. This ensures that players see each other's characters correctly. However, some private servers aim to handle this system differently. For instance, in PvP-focused servers, it might be desired to hide the equipment of characters. In such cases, disabling or changing the SIS system becomes necessary.
Completely Removing the SIS System
To completely remove the SIS system, you need to make changes in several key files. These files are usually located within the Game Server source code. Follow the steps below to disable the SIS system:
1. Modifying ClientManager.cpp
Open the ClientManager.cpp file in your game server source code. This file handles communication between clients and the server. Look for functions that send SIS messages. Often, there is a function like SendSIS. Comment out or delete this function. This prevents equipment information from being sent to the client.
2. Blocking Equipment Transmission in Entity.cpp
In the Entity.cpp file, find the lines where character equipment data is sent to the client. By removing these lines, you prevent the display of equipped items. This stops players from seeing each other's equipment.
3. Client-Side Modifications
On the client side, you can also write code that ignores SIS data received from the server. This requires modifications in client source files. Delete or disable the code in Uiscript or py root files that processes SIS data.
Adding a New SIS System
If instead of completely removing the SIS system, you wish to develop a new one, you can customize the current SIS structure. For example, you can create a system that displays equipment only under certain conditions.
Designing a Custom SIS System
Define a condition on the server side. For example, players in the same guild can see each other's equipment. Implement checks in ClientManager.cpp or Player.cpp files accordingly. If two players are in the same guild, send them SIS data; otherwise, do not.
Sending SIS Packets
You can define a custom packet to send SIS data. This packet transmits specific data to the client. The structure of the packet determines which items are displayed. By modifying the packet format, you can send different types of data.
Integration with Python GUI and Py Root
Using Py GUI or Py Root, it is possible to process SIS data more intelligently on the client side. For example, a Python script can analyze SIS data received from the server and decide whether to show equipment based on certain conditions. Such systems can provide advantages in PvP servers.
Conclusion
Removing or modifying the SIS system in Metin2 private servers requires changes in C++ server source code. These changes allow you to control whether players can see each other's equipment. You can enhance the PvP experience by completely removing the SIS system or creating a new SIS system with custom rules. Such improvements are highly beneficial for enhancing your skills during the Metin2 development process. Visit Metin2 Lobby for more information.
