Merhabalar, öncelikle şunu belirtmeliyim; Eğer yeterli seviyede bilginiz yoksa kaldırma işlerine hiç bulaşmayın, çünkü yanlış yaptığınız kullanılan bir dosyada sıkıntılar yaşayabilirsiniz.
Aşağıdaki listede verdiklerim client taraflı optimizasyon için kaldırılabilir.
UYARI : clientte c++20, serverde ise gnu++2a kullanıyorum, düşük sürümlerde sıkıntılar çıkabilir!
NOT : cryptopp kaldırmak size kalmış, client de ki Boost bildiğiniz Boost kütüphanesi, ben altyapı kullandığımdan ötürü(bazı sistemler Boost kullanabiliyor) direkt std kullanıyorum(Boost kaldırırken source dosyalarında bir kaç değişiklik yapıcaksınız).
PERFORMANCE_CHECKER
__PERFORMANCE_CHECK__
bu ikisini yine tercihen kaldırabilirsiniz, client optimizasyonu ile uğraşanlar için kısmen yararlı(visual studio daha işe yarar sonuçlar veriyor, ben vs kullanıyorum) olan makrolar bunlar.
Three Way, bildiğiniz 3 yol savaşı. ben hiç kullanmadım, kullanan görmedim ve kullanmayı da düşünmedim/istemedim, bu yüzden kaldırdım, yine sizin tercihinize bağlı bunu kaldırmak.
PTS ise bildiğiniz server de ki channel(ler) içersinde ki PTS dosyası, yine tercih size kalmış..
Arabic ise arapça da ki ters yazı şekli için gerekli. eğer bunu kaldırırsanız arapça alfabe kullanamazsınız, kullansanız da ters olmaz.
JPEG oyun içi F10 muydu tam hatırlamıyorum, SS alma tuşuna bastığınızda görüntünün alınmasını sağlıyor.
Empire Text Convert: sarı - mavi - kırmızı bayrak arasında ki oyuncuların, dil seviyesi olmadığında yazıların değişik çıkmasını sağlıyor
serveri windows üzerinden çalıştıranlar WIN32 ve MSC_VER kaldırmasın.
client taraflı kaldırılanların bazıları python taraflı da mevcut, kaldırırken python kısımlarını da kaldırın, hata verir..
bu yazanların hepsini kaldırdığınızda clientte cryptopp + boost, serverde ise cryptopp + libserverkey + xtrap + hackshield i silebilirsiniz;
client tarafında packet_login_success4 fonksiyonunu SILMEYIN
Bu kaldırılanların çoğunun kullanılmayan fonksiyonlar olduğunu düşünüyorum. Cryptopp kaldırırsanız farkedilen bir hızlanma görürsünüz, diğerlerinden bazıları da hızlandırır ama farkedilir mi bilmiyorum, en azından ciddi şekilde derleme süresini azaltıyor.
Source Dosyalarından Gereksiz Kodları Kaldırmak
Metin2 özel sunucu geliştirme süreçlerinde, performans artışı ve daha düzenli bir yapı elde etmek adına source kodlar üzerinden gereksiz ya da kullanılmayan kodların temizlenmesi oldukça önemlidir. Bu işlem, hem derleme süresini kısaltır hem de hata ayıklama sürecini kolaylaştırır. Bu yazıda, source dosyalarından kaldırılabilecek kodları ve bu işlem sırasında dikkat edilmesi gereken noktaları listeledik.
Neden Gereksiz Kodları Kaldırmalısınız?
Geliştiriciler, özellikle projeler büyüdükçe, bazı fonksiyonlar veya sınıflar zamanla kullanılmaz hale gelebilir. Bu durumda, kod tabanı gereksiz yere şişer. Bu durum:
- Derleme süresini uzatabilir
- Hata ayıklamayı zorlaştırabilir
- Kod okunabilirliğini düşürebilir
- Performansı olumsuz etkileyebilir
Bu nedenle, proje yaşam döngüsünde düzenli olarak kod temizliği yapmak, kaliteli bir geliştirme sürecinin parçasıdır.
Kaldırılabilecek Kod Türleri
Aşağıda, Metin2 özel sunucularında genellikle kullanılmayan ya da artık gerekli olmayan kod örnekleri listelenmiştir:
1. Yorum Satırları (Commented Out Codes): Kod satırları silinmeden yorum satırına alınmış olabilir. Bu tür kodlar, uzun vadede yer kaplamaktan başka işe yaramaz.
2. Tanımlanmış Ama Kullanılmayan Fonksiyonlar: Bazı fonksiyonlar tanımlanmış olabilir ancak hiçbir yerde çağrılmayabilir. Bu gibi durumlarda fonksiyonun silinmesi gerekir.
3. Artık Kullanılmayan Değişkenler: Global ya da lokal olarak tanımlanmış, fakat hiç kullanılmayan değişkenler temizlenmelidir.
4. Eski GUI Bölümleri (Python veya PyUI): Özellikle UI script dosyalarında, artık kullanılmayan grafik arayüz bileşenleri silinmelidir.
5. Eski veya Test Amaçlı Eklenmiş Sistemler: Geliştirme aşamasında test amacıyla eklenmiş, ancak sonradan kullanılmayan sistemler temizlenmelidir.
Dikkat Edilmesi Gereken Noktalar
Kod temizliği yaparken aşağıdaki konulara dikkat etmelisiniz:
- Kod silmeden önce mutlaka yedek alınmalıdır.
- Silinen kodun başka bir modül tarafından kullanılıp kullanılmadığı kontrol edilmelidir.
- Temizlik sonrası mutlaka test edilmelidir.
Temizlik İçin Kullanılabilecek Araçlar
Modern IDE'ler (örneğin Visual Studio Code, CLion, PyCharm) kullanarak kod temizliği yapabilirsiniz. Bu araçlar sayesinde:
- Kullanılmayan değişkenleri gösterebilir
- Kullanılmayan fonksiyonları işaretleyebilir
- Kod analizi yapabilir
Bu tür araçlar, gereksiz kodları tespit etmekte oldukça yardımcı olur.
Sonuç
Source kod temizliği, Metin2 özel sunucularında performans artırımı ve sürdürülebilirlik açısından önemli bir adımdır. Düzenli bakım ve kod temizliği, daha stabil ve hızlı çalışan sistemlerin oluşturulmasına olanak tanır.
Removing Unnecessary Code from Source Files
In the process of developing Metin2 private servers, removing unnecessary or unused code from source files is very important for performance improvement and a more organized structure. This process shortens compilation time and makes debugging easier. In this article, we listed the codes that can be removed from source files and the points to consider during this process.
Why Should You Remove Unnecessary Code?
Developers, especially as projects grow, may find certain functions or classes become unused over time. In such cases, the codebase unnecessarily swells. This situation can:
- Prolong compilation time
- Make debugging harder
- Reduce code readability
- Negatively affect performance
Therefore, regularly cleaning up code during the project lifecycle is part of a high-quality development process.
Types of Code That Can Be Removed
Below are examples of code usually unused or no longer needed in Metin2 private servers:
1. Commented-Out Codes: Code lines might have been left commented out instead of deleted. Such code serves no purpose but to take up space over time.
2. Defined But Unused Functions: Some functions may be defined but never called anywhere. In such cases, these functions should be removed.
3. Unused Variables: Global or local variables that are defined but never used should be cleared.
4. Old GUI Sections (Python or PyUI): In UI script files, outdated GUI components that are no longer used should be removed.
5. Outdated or Test Systems: Systems added for testing purposes during development but not used afterward should be cleaned up.
Points to Consider During Cleanup
While performing code cleanup, pay attention to the following:
- Always take a backup before deleting any code.
- Check whether the deleted code is used by other modules.
- Test thoroughly after cleaning.
Tools for Cleaning Up Code
You can use modern IDEs like Visual Studio Code, CLion, or PyCharm to clean up your code. These tools allow you to:
- Highlight unused variables
- Mark unused functions
- Perform code analysis
Such tools are very helpful in identifying unnecessary code.
Conclusion
Source code cleanup is crucial for performance improvements and maintainability in Metin2 private servers. Regular maintenance and code cleanup enable the creation of more stable and faster-running systems.
Aşağıdaki listede verdiklerim client taraflı optimizasyon için kaldırılabilir.
Kod:
Server; 01-) Passpod 02-) OpenID 03-) Teen 04-) Auction 05-) VCard 06-) Net Marble 07-) Auth Brazil 08-) PCBang 09-) Server Key 10-) Hack Shield 11-) XTrap 12-) Matrix Card 13-) Limit Time 14-) Login Sim 15-) SMS 16-) Block Country 17-) Monarch 18-) GTest 19-) Panama 20-) Over9Refine 21-) FreeBSD File Monitor 22-) Billing 23-) Mobile 24-) Three Way 25-) Quest_Lua Forked 26-) Speed Server 27-) Block Exception 28-) Lotto 29-) Hot Backup 30-) China Event Server 31-) Traffic Profiler 32-) Distribution Test Server 33-) Roulette 34-) Sequence 35-) CryptoPP 36-) ReloadCRC 37-) ClientPackageCrypt 38-) Pool 39-) Lock 40-) PTS 41-) UNITTEST 42-) MSC_VER 43-) FISHING_MAIN 44-) USE_DEBUG_PTR 45-) M2_USE_POOL 46-) DEBUG_ALLOC 47-) WIN32 48-) CRC MagicCube 49-) Performance Schema 50-) Test Server 51-) MonsterLog 52-) DetailLog 53-) IUseLocale 54-) Safebox Money 55-) UDP 56-) ANI 57-) Attack Log 58-) Profile Unit 59-) High Score 60-) Dragon Lair 61-) Empire Text Convert 62-) GetTokenColor 63-) D3DTYPE 64-) Any Functions 65-) Poly 66-) Stamina 67-) Weight ------------------------------------ Client; 01-) PCBang 02-) PassPod 03-) Matrix Card 04-) OpenID 05-) HackShield 06-) NProtect 07-) XTrap 08-) Sequence 09-) CryptoPP 10-) Mobile 11-) SMS 12-) ClientPackageCrypt 13-) MovieMan / Movie_Mode 14-) ProcessCRC 15-) LOGO 16-) Panama 17-) CheckLatestFiles 18-) Vietnam 19-) Test 20-) ExceptionSender 21-) Is/Test/Live/Dev/Stage 22-) IsNotPing 23-) Profiler 24-) Auction 25-) VTUNE 26-) UNITTEST 27-) 20040725_CAMERA_WORK 28-) ATTACK_SPEED_CHECK 29-) ATTACK_TIME_LOG 30-) NEEDED_COMMAND_CLIPBOARD 31-) USE_RELATIVE_PATH 32-) GAIDEN 33-) WORLD_EDITOR 34-) PERFORMANCE_CHECKER 35-) _TEST 36-) SPHERELIB_STRICT 37-) COUNT_SHOWING_SPHERE 38-) MAKE_PACK 39-) THEMIDA 40-) HEIGHT_CACHE_TRACE 41-) WINDOW_LEAK_CHECK 42-) DEMO 43-) CRC MagicCube 44-) CHECK_LATEST_DATA_FILES 45-) __PERFORMANCE_CHECK__ 46-) CHECKSUM_CHECK_MD5 47-) Boost 48-) DYNAMIC_POOL_STRICT 49-) __STATIC_RANGE__ 50-) CHECK_LOD 51-) Safebox Money 52-) Software/Auto Tiling 53-) Software Cursor 54-) Arabic 55-) JPEG 56-) Net Datagram 57-) CRC Report 58-) Dump File List 59-) Vertex Buffer Dynamic 60-) Vertex Buffer Static 61-) Vertex Shader 62-) Pixel Shader 63-) Area Loader Thread 64-) Python Marshal 65-) Blur 66-) Empire Text Convert 67-) CMake Pack Log 68-) Shadow Texture 69-) Background Loading 70-) Code Page 71-) Read/Find Token 72-) isHAL 73-) Monster Area Info 74-) File Loader Thread 75-) Eter Locale 76-) CWeb Browser 77-) Targa 78-) Image 79-) Mutex 80-) Dimm 81-) Dynamic 82-) Log File 83-) Stamina 84-) Weight 85-) Save Sound Information 86-) Direct Enter 87-) Qedit
UYARI : clientte c++20, serverde ise gnu++2a kullanıyorum, düşük sürümlerde sıkıntılar çıkabilir!
NOT : cryptopp kaldırmak size kalmış, client de ki Boost bildiğiniz Boost kütüphanesi, ben altyapı kullandığımdan ötürü(bazı sistemler Boost kullanabiliyor) direkt std kullanıyorum(Boost kaldırırken source dosyalarında bir kaç değişiklik yapıcaksınız).
PERFORMANCE_CHECKER
__PERFORMANCE_CHECK__
bu ikisini yine tercihen kaldırabilirsiniz, client optimizasyonu ile uğraşanlar için kısmen yararlı(visual studio daha işe yarar sonuçlar veriyor, ben vs kullanıyorum) olan makrolar bunlar.
Three Way, bildiğiniz 3 yol savaşı. ben hiç kullanmadım, kullanan görmedim ve kullanmayı da düşünmedim/istemedim, bu yüzden kaldırdım, yine sizin tercihinize bağlı bunu kaldırmak.
PTS ise bildiğiniz server de ki channel(ler) içersinde ki PTS dosyası, yine tercih size kalmış..
Arabic ise arapça da ki ters yazı şekli için gerekli. eğer bunu kaldırırsanız arapça alfabe kullanamazsınız, kullansanız da ters olmaz.
JPEG oyun içi F10 muydu tam hatırlamıyorum, SS alma tuşuna bastığınızda görüntünün alınmasını sağlıyor.
Empire Text Convert: sarı - mavi - kırmızı bayrak arasında ki oyuncuların, dil seviyesi olmadığında yazıların değişik çıkmasını sağlıyor
serveri windows üzerinden çalıştıranlar WIN32 ve MSC_VER kaldırmasın.
client taraflı kaldırılanların bazıları python taraflı da mevcut, kaldırırken python kısımlarını da kaldırın, hata verir..
bu yazanların hepsini kaldırdığınızda clientte cryptopp + boost, serverde ise cryptopp + libserverkey + xtrap + hackshield i silebilirsiniz;
konunun bir çoğu alıntıdır.
client tarafında packet_login_success4 fonksiyonunu SILMEYIN
Bu kaldırılanların çoğunun kullanılmayan fonksiyonlar olduğunu düşünüyorum. Cryptopp kaldırırsanız farkedilen bir hızlanma görürsünüz, diğerlerinden bazıları da hızlandırır ama farkedilir mi bilmiyorum, en azından ciddi şekilde derleme süresini azaltıyor.
Source Dosyalarından Gereksiz Kodları Kaldırmak
Metin2 özel sunucu geliştirme süreçlerinde, performans artışı ve daha düzenli bir yapı elde etmek adına source kodlar üzerinden gereksiz ya da kullanılmayan kodların temizlenmesi oldukça önemlidir. Bu işlem, hem derleme süresini kısaltır hem de hata ayıklama sürecini kolaylaştırır. Bu yazıda, source dosyalarından kaldırılabilecek kodları ve bu işlem sırasında dikkat edilmesi gereken noktaları listeledik.
Neden Gereksiz Kodları Kaldırmalısınız?
Geliştiriciler, özellikle projeler büyüdükçe, bazı fonksiyonlar veya sınıflar zamanla kullanılmaz hale gelebilir. Bu durumda, kod tabanı gereksiz yere şişer. Bu durum:
- Derleme süresini uzatabilir
- Hata ayıklamayı zorlaştırabilir
- Kod okunabilirliğini düşürebilir
- Performansı olumsuz etkileyebilir
Bu nedenle, proje yaşam döngüsünde düzenli olarak kod temizliği yapmak, kaliteli bir geliştirme sürecinin parçasıdır.
Kaldırılabilecek Kod Türleri
Aşağıda, Metin2 özel sunucularında genellikle kullanılmayan ya da artık gerekli olmayan kod örnekleri listelenmiştir:
1. Yorum Satırları (Commented Out Codes): Kod satırları silinmeden yorum satırına alınmış olabilir. Bu tür kodlar, uzun vadede yer kaplamaktan başka işe yaramaz.
2. Tanımlanmış Ama Kullanılmayan Fonksiyonlar: Bazı fonksiyonlar tanımlanmış olabilir ancak hiçbir yerde çağrılmayabilir. Bu gibi durumlarda fonksiyonun silinmesi gerekir.
3. Artık Kullanılmayan Değişkenler: Global ya da lokal olarak tanımlanmış, fakat hiç kullanılmayan değişkenler temizlenmelidir.
4. Eski GUI Bölümleri (Python veya PyUI): Özellikle UI script dosyalarında, artık kullanılmayan grafik arayüz bileşenleri silinmelidir.
5. Eski veya Test Amaçlı Eklenmiş Sistemler: Geliştirme aşamasında test amacıyla eklenmiş, ancak sonradan kullanılmayan sistemler temizlenmelidir.
Dikkat Edilmesi Gereken Noktalar
Kod temizliği yaparken aşağıdaki konulara dikkat etmelisiniz:
- Kod silmeden önce mutlaka yedek alınmalıdır.
- Silinen kodun başka bir modül tarafından kullanılıp kullanılmadığı kontrol edilmelidir.
- Temizlik sonrası mutlaka test edilmelidir.
Temizlik İçin Kullanılabilecek Araçlar
Modern IDE'ler (örneğin Visual Studio Code, CLion, PyCharm) kullanarak kod temizliği yapabilirsiniz. Bu araçlar sayesinde:
- Kullanılmayan değişkenleri gösterebilir
- Kullanılmayan fonksiyonları işaretleyebilir
- Kod analizi yapabilir
Bu tür araçlar, gereksiz kodları tespit etmekte oldukça yardımcı olur.
Sonuç
Source kod temizliği, Metin2 özel sunucularında performans artırımı ve sürdürülebilirlik açısından önemli bir adımdır. Düzenli bakım ve kod temizliği, daha stabil ve hızlı çalışan sistemlerin oluşturulmasına olanak tanır.
Removing Unnecessary Code from Source Files
In the process of developing Metin2 private servers, removing unnecessary or unused code from source files is very important for performance improvement and a more organized structure. This process shortens compilation time and makes debugging easier. In this article, we listed the codes that can be removed from source files and the points to consider during this process.
Why Should You Remove Unnecessary Code?
Developers, especially as projects grow, may find certain functions or classes become unused over time. In such cases, the codebase unnecessarily swells. This situation can:
- Prolong compilation time
- Make debugging harder
- Reduce code readability
- Negatively affect performance
Therefore, regularly cleaning up code during the project lifecycle is part of a high-quality development process.
Types of Code That Can Be Removed
Below are examples of code usually unused or no longer needed in Metin2 private servers:
1. Commented-Out Codes: Code lines might have been left commented out instead of deleted. Such code serves no purpose but to take up space over time.
2. Defined But Unused Functions: Some functions may be defined but never called anywhere. In such cases, these functions should be removed.
3. Unused Variables: Global or local variables that are defined but never used should be cleared.
4. Old GUI Sections (Python or PyUI): In UI script files, outdated GUI components that are no longer used should be removed.
5. Outdated or Test Systems: Systems added for testing purposes during development but not used afterward should be cleaned up.
Points to Consider During Cleanup
While performing code cleanup, pay attention to the following:
- Always take a backup before deleting any code.
- Check whether the deleted code is used by other modules.
- Test thoroughly after cleaning.
Tools for Cleaning Up Code
You can use modern IDEs like Visual Studio Code, CLion, or PyCharm to clean up your code. These tools allow you to:
- Highlight unused variables
- Mark unused functions
- Perform code analysis
Such tools are very helpful in identifying unnecessary code.
Conclusion
Source code cleanup is crucial for performance improvements and maintainability in Metin2 private servers. Regular maintenance and code cleanup enable the creation of more stable and faster-running systems.
