Service.h
Ekle:
Arat:
Üstüne ekle:
Nemere İçin Source Kontrolleri
Metin2 özel sunucularında (private server) oyun geliştirme sürecinde kaynak kodların yönetimi son derece kritiktir. Özellikle Nemere gibi gelişmiş bir sunucu yapısı üzerinde çalışıyorsanız, doğru source kontrol stratejileri kullanmak, hem ekip içi koordinasyonu kolaylaştırır hem de hata riskini azaltır. Bu makalede, Nemere için gerekli olan kaynak kod kontrol yöntemlerini, araçlarını ve en iyi uygulamaları detaylı şekilde ele alacağız.
Source Control Nedir?
Source control, yazılım geliştirme süreçlerinde dosya değişikliklerinin takip edilmesini sağlayan sistemlerdir. Bu sistemler sayesinde, C++ ve Python tabanlı kaynak kodlar üzerinde yapılan değişiklikler versiyon bazında saklanabilir. Bu durum, özellikle Metin2 gibi karmaşık sistemlerde, eski sürümlere dönme, çatallama (branching), birleştirme (merging) gibi işlemleri mümkün kılar.
Git ile Source Control
Git, en yaygın kullanılan source control sistemlerinden biridir. Nemere projelerinde, hem game server hem de client tarafında bulunan src dosyaları bu sistemle yönetilebilir. Örneğin, Martysama veya başka bir Metin2 geliştirici ile iş birliği yaparken, ortak bir repository üzerinden değişiklikler paylaşılabilir. Branch yapıları sayesinde farklı özellikler ayrı ayrı geliştirilip test edilebilir.
Hatalı Kaynak Kod Yönetimi Riskleri
Source kontrol sistemleri kullanılmadığında, kod üzerinde yapılan değişiklikler izlenemez. Bu da Metin2 özel sunucularında ciddi sorunlara yol açabilir. Örneğin, bir PvP sistem değişikliği sırasında yapılan küçük bir hata, tüm sunucuyu çökertebilir. Bu nedenle, Nemere gibi gelişmiş sistemlerde, tüm değişikliklerin loglanması ve yedeklenmesi zorunludur.
Python ve C++ Kodlarında Farklılıklar
Metin2 geliştirme sürecinde hem C++ tabanlı server-side kodlar hem de Python ile yazılmış UI scriptleri (örneğin: uiscript, py root) yer alır. Bu iki dil farklı yapılar içerdiği için, source control stratejileri de buna göre ayarlanmalıdır. Python dosyalarında genellikle PyGUI veya benzeri arayüz sistemleri yer alırken, C++ kodlar doğrudan game core ve db core işlevlerini yönetir. Her iki yapı için de ayrı branch'ler oluşturulması önerilir.
Nemere İçin En Uygun Workflow
1. Master branch sadece kararlı sürümleri barındırmalıdır.
2. Geliştirme için develop branch kullanılmalıdır.
3. Özellik bazlı geliştirme için feature branch'ler oluşturulmalıdır.
4. Hata giderme için hotfix branch'leri önerilir.
5. Tüm değişiklikler pull request ile merge edilmelidir.
Yedekleme ve Güvenlik Önlemleri
Nemere için geliştirilen tüm kaynak kodlar, güvenli bir şekilde yedeklenmelidir. GitHub, GitLab gibi platformlar, hem sürüm kontrolü hem de yedekleme açısından oldukça uygundur. Ayrıca, Metin2 projelerinde kullanılan auth, game ve db sunucu yapıları için ayrı repository'ler oluşturmak, güvenlik ve organizasyon açısından faydalıdır.
Sonuç
Nemere tabanlı Metin2 özel sunucularında source kontrol sistemlerinin kullanımı, uzun vadede geliştirme sürecini hızlandırır ve hata riskini azaltır. Doğru workflow’larla, C++ ve Python tabanlı sistemler daha organize bir şekilde yönetilebilir. Bu nedenle, Metin2 geliştiricilerinin, git, version control ve branch management konularında bilgi sahibi olması büyük önem taşır.
Source Controls for Nemere
In the process of developing private servers for Metin2, managing source codes is extremely critical. Especially if you are working on an advanced server structure like Nemere, employing correct source control strategies makes team coordination easier and reduces error risks. In this article, we will thoroughly discuss the methods, tools, and best practices required for source code control for Nemere.
What is Source Control?
Source control refers to systems that allow tracking file changes during software development processes. These systems enable changes made to C++ and Python-based source codes to be stored by version. This allows operations such as reverting to older versions, branching, and merging, which are especially important in complex systems like Metin2.
Source Control with Git
Git is one of the most widely used source control systems. In Nemere projects, both game server and client side src files can be managed using this system. For instance, when collaborating with another developer like Martysama, changes can be shared through a common repository. Thanks to branch structures, different features can be developed and tested separately.
Risks of Poor Source Code Management
When source control systems are not used, changes made to the code cannot be tracked. This can cause serious issues in private Metin2 servers. For example, a minor mistake during a PvP system update could crash the entire server. Therefore, in advanced systems like Nemere, logging and backing up all changes is essential.
Differences Between Python and C++ Codes
During the development of Metin2, both C++-based server-side codes and Python-written UI scripts (e.g., uiscript, py root) are present. Since these two languages have different structures, source control strategies should be adjusted accordingly. While Python files typically involve GUI systems like PyGUI, C++ codes directly manage game core and db core functions. Separate branches are recommended for both structures.
Optimal Workflow for Nemere
1. The master branch should only host stable releases.
2. Use the develop branch for development purposes.
3. Create feature branches for feature-based development.
4. Use hotfix branches for bug fixes.
5. All changes should be merged via pull requests.
Backup and Security Measures
All source codes developed for Nemere must be backed up securely. Platforms like GitHub and GitLab are highly suitable for both version control and backup purposes. Additionally, creating separate repositories for auth, game, and db server configurations used in Metin2 projects is beneficial for security and organization.
Conclusion
Using source control systems in Nemere-based private Metin2 servers accelerates the development process and reduces error risks in the long term. With proper workflows, C++ and Python-based systems can be managed more systematically. Therefore, it is crucial for Metin2 developers to have knowledge about git, version control, and branch management.
Ekle:
Kod:
ENABLE_NEMERE_ADDONS
Arat:
Kod:
if (type == DAMAGE_TYPE_MELEE || type == DAMAGE_TYPE_RANGE || type == DAMAGE_TYPE_MAGIC)
Üstüne ekle:
Kod:
#ifdef ENABLE_NEMERE_ADDONS if (pAttacker && !IsPC()) { if ((IsMonster() || IsNPC() || IsStone()) && pAttacker->IsPC()) { if (GetRaceNum() == 6151) { quest::CQuestManager& q = quest::CQuestManager::instance(); LPDUNGEON pDungeon = q.GetCurrentDungeon(); if (pDungeon) { uint32_t dwDungeonLevel = pDungeon->GetFlag("level"); if (dwDungeonLevel == 4) { if (!pAttacker->IsAffectFlag(AFF_HOSIN)) { SendDamagePacket(pAttacker, 0, DAMAGE_BLOCK); return false; } } else if (dwDungeonLevel == 7) { if (!pAttacker->IsAffectFlag(AFF_GICHEON)) { SendDamagePacket(pAttacker, 0, DAMAGE_BLOCK); return false; } } } } if (GetRaceNum() == 8058) { if (pAttacker->GetJob() != JOB_SHAMAN) { SendDamagePacket(pAttacker, 0, DAMAGE_BLOCK); return false; } } if (GetRaceNum() == 20399) { if (pAttacker->GetJob() == JOB_WARRIOR || pAttacker->GetJob() == JOB_SURA || pAttacker->GetJob() == JOB_WOLFMAN) { SendDamagePacket(pAttacker, 0, DAMAGE_BLOCK); return false; } } } } #endif
Nemere İçin Source Kontrolleri
Metin2 özel sunucularında (private server) oyun geliştirme sürecinde kaynak kodların yönetimi son derece kritiktir. Özellikle Nemere gibi gelişmiş bir sunucu yapısı üzerinde çalışıyorsanız, doğru source kontrol stratejileri kullanmak, hem ekip içi koordinasyonu kolaylaştırır hem de hata riskini azaltır. Bu makalede, Nemere için gerekli olan kaynak kod kontrol yöntemlerini, araçlarını ve en iyi uygulamaları detaylı şekilde ele alacağız.
Source Control Nedir?
Source control, yazılım geliştirme süreçlerinde dosya değişikliklerinin takip edilmesini sağlayan sistemlerdir. Bu sistemler sayesinde, C++ ve Python tabanlı kaynak kodlar üzerinde yapılan değişiklikler versiyon bazında saklanabilir. Bu durum, özellikle Metin2 gibi karmaşık sistemlerde, eski sürümlere dönme, çatallama (branching), birleştirme (merging) gibi işlemleri mümkün kılar.
Git ile Source Control
Git, en yaygın kullanılan source control sistemlerinden biridir. Nemere projelerinde, hem game server hem de client tarafında bulunan src dosyaları bu sistemle yönetilebilir. Örneğin, Martysama veya başka bir Metin2 geliştirici ile iş birliği yaparken, ortak bir repository üzerinden değişiklikler paylaşılabilir. Branch yapıları sayesinde farklı özellikler ayrı ayrı geliştirilip test edilebilir.
Hatalı Kaynak Kod Yönetimi Riskleri
Source kontrol sistemleri kullanılmadığında, kod üzerinde yapılan değişiklikler izlenemez. Bu da Metin2 özel sunucularında ciddi sorunlara yol açabilir. Örneğin, bir PvP sistem değişikliği sırasında yapılan küçük bir hata, tüm sunucuyu çökertebilir. Bu nedenle, Nemere gibi gelişmiş sistemlerde, tüm değişikliklerin loglanması ve yedeklenmesi zorunludur.
Python ve C++ Kodlarında Farklılıklar
Metin2 geliştirme sürecinde hem C++ tabanlı server-side kodlar hem de Python ile yazılmış UI scriptleri (örneğin: uiscript, py root) yer alır. Bu iki dil farklı yapılar içerdiği için, source control stratejileri de buna göre ayarlanmalıdır. Python dosyalarında genellikle PyGUI veya benzeri arayüz sistemleri yer alırken, C++ kodlar doğrudan game core ve db core işlevlerini yönetir. Her iki yapı için de ayrı branch'ler oluşturulması önerilir.
Nemere İçin En Uygun Workflow
1. Master branch sadece kararlı sürümleri barındırmalıdır.
2. Geliştirme için develop branch kullanılmalıdır.
3. Özellik bazlı geliştirme için feature branch'ler oluşturulmalıdır.
4. Hata giderme için hotfix branch'leri önerilir.
5. Tüm değişiklikler pull request ile merge edilmelidir.
Yedekleme ve Güvenlik Önlemleri
Nemere için geliştirilen tüm kaynak kodlar, güvenli bir şekilde yedeklenmelidir. GitHub, GitLab gibi platformlar, hem sürüm kontrolü hem de yedekleme açısından oldukça uygundur. Ayrıca, Metin2 projelerinde kullanılan auth, game ve db sunucu yapıları için ayrı repository'ler oluşturmak, güvenlik ve organizasyon açısından faydalıdır.
Sonuç
Nemere tabanlı Metin2 özel sunucularında source kontrol sistemlerinin kullanımı, uzun vadede geliştirme sürecini hızlandırır ve hata riskini azaltır. Doğru workflow’larla, C++ ve Python tabanlı sistemler daha organize bir şekilde yönetilebilir. Bu nedenle, Metin2 geliştiricilerinin, git, version control ve branch management konularında bilgi sahibi olması büyük önem taşır.
Source Controls for Nemere
In the process of developing private servers for Metin2, managing source codes is extremely critical. Especially if you are working on an advanced server structure like Nemere, employing correct source control strategies makes team coordination easier and reduces error risks. In this article, we will thoroughly discuss the methods, tools, and best practices required for source code control for Nemere.
What is Source Control?
Source control refers to systems that allow tracking file changes during software development processes. These systems enable changes made to C++ and Python-based source codes to be stored by version. This allows operations such as reverting to older versions, branching, and merging, which are especially important in complex systems like Metin2.
Source Control with Git
Git is one of the most widely used source control systems. In Nemere projects, both game server and client side src files can be managed using this system. For instance, when collaborating with another developer like Martysama, changes can be shared through a common repository. Thanks to branch structures, different features can be developed and tested separately.
Risks of Poor Source Code Management
When source control systems are not used, changes made to the code cannot be tracked. This can cause serious issues in private Metin2 servers. For example, a minor mistake during a PvP system update could crash the entire server. Therefore, in advanced systems like Nemere, logging and backing up all changes is essential.
Differences Between Python and C++ Codes
During the development of Metin2, both C++-based server-side codes and Python-written UI scripts (e.g., uiscript, py root) are present. Since these two languages have different structures, source control strategies should be adjusted accordingly. While Python files typically involve GUI systems like PyGUI, C++ codes directly manage game core and db core functions. Separate branches are recommended for both structures.
Optimal Workflow for Nemere
1. The master branch should only host stable releases.
2. Use the develop branch for development purposes.
3. Create feature branches for feature-based development.
4. Use hotfix branches for bug fixes.
5. All changes should be merged via pull requests.
Backup and Security Measures
All source codes developed for Nemere must be backed up securely. Platforms like GitHub and GitLab are highly suitable for both version control and backup purposes. Additionally, creating separate repositories for auth, game, and db server configurations used in Metin2 projects is beneficial for security and organization.
Conclusion
Using source control systems in Nemere-based private Metin2 servers accelerates the development process and reduces error risks in the long term. With proper workflows, C++ and Python-based systems can be managed more systematically. Therefore, it is crucial for Metin2 developers to have knowledge about git, version control, and branch management.
