- Katılım
- 6 Mayıs 2022
- Konular
- 48,291
- Mesajlar
- 48,601
- Tepkime puanı
- 75
- M2 Yaşı
- 3 yıl 11 ay 10 gün
- Trophy Puan
- 48
- M2 Yang
- 488,879
Merhaba Değerli Forum Üyeleri ve Okuyucular;
Bu projeyi C++’ta oyun geliştirmeye ve metin2 yazılım yapısını anlamaya yeni başlayanlar için hazırladım.
Amacım C++, Python ve Shell Script kullanarak yapmış olduğum basit bir Sayı Tahmin Oyun'u ile metin2 dosya yapısını, derlemeyi,
Makefile kullanımını ve modüler programlamayı somut küçük bir örnek üzerinden göstermek.
Dosya yapısı: .cpp dosyaları oyunun mantığını taşır, .hpp dosyaları ise sınıf tanımları ve ayarları içerir. Bu sayede kod düzenli ve yönetilebilir olur.
Makefile kullanımı:
Makefile, tüm kaynak dosyalarını derleyip bir çalıştırılabilir program (binary) üretir. gmake clean ile eski derlemeler silinir, gmake ile yeniden derlenir. Bu, kod değişikliklerinde işleri kolaylaştırır.
service.h ile projeye modülerlik nasıl sağlanır;
Örneğin bonus sistemini #define ENABLE_BONUS_SYSTEM ile açıp kapatabilirsiniz. Kodun içinde #ifdef
NOT: Windows ortamında herhangi bir derleme veya client.exe üretilmemiştir. Şuan sadece direkt Python ile giriş yapılacak şekilde ayarlanmıştır.
İleri ki aşamalarda onunda anlatımını yapmayı planlıyorum.
Projenin çalıştığı ortam ve kullanılan temel araçlar:
İşletim Sistemi: FreeBSD 14.0-RELEASE
Derleyici: Clang 16.0.6 (i386)
Veritabanı: MariaDB 10.11.9
Python Sürümü: Python 3.13.9 (Bilgisayarınızda yüklü olmalı ve Sistem Ortam Değişkenlerinde PATH yolu olmalıdır.)
Kurulum ve başlatma
Varsayılan Hesap Bilgileri:
Oyun: kullanıcı adı: root parola: 1
FreeBSD: kullanıcı adı: root parola: password
MariaDB: kullanıcı adı: root parola: password
Dipnot: Alınan hataların çözümü ve sistemin genel yapısı için Yapay Zeka'dan bir çok yerde faydalanılmıştır.
Files İndir
Freebsd İndir
Virüstotal:
Yeni Başlayanlar İçin Metin2 Dosya Yapısını ve Modülerliği Anlama Rehberi
Metin2 Server Geliştirme Nedir?
Metin2, özellikle Asya kökenli MMORPG severler arasında popüler olan bir oyundur. Ancak bu oyunun özel sunucularını (private server) çalıştırmak isteyen geliştiriciler için temel adım, dosya yapısını ve modüler bileşenlerini anlamaktır. Bu rehber, yeni başlayanların Metin2 Lobby gibi platformlarda karşılaştıkları yapıları daha iyi anlamasına yardımcı olacaktır.
Metin2 Sunucu Yapısı Temelleri
Metin2 özel sunucularında genellikle üç ana bileşen vardır:
- Game Sunucusu
- Auth Sunucusu
- Database (DB)
Game Sunucusu, oyuncuların doğrudan etkileşimde bulunduğu koddur. Karakterlerin hareketi, savaş sistemi, envanter gibi tüm oyun içi işlemleri içerir. Auth Sunucusu ise giriş kimlik doğrulaması ve hesap yönetimi gibi işlemleri sağlar. Database ise oyuncu verileri, eşyalar, seviyeler gibi tüm kalıcı verileri barındırır.
C++ ve Python Kombinasyonu
Metin2'nin sunucu tarafı genellikle C++ ile yazılmıştır. Özellikle game server programming konusunda uzmanlaşan geliştiriciler, C++ bilgisine ihtiyaç duyar. Oyun içindeki arayüzler (UIscript), bazı sistemler ve betikler ise Python ile geliştirilir. Bu nedenle Py Root ve Py GUI gibi yapılar önemli rol oynar. Martysama gibi geliştiricilerin katkı sunduğu sistemlerde Python tabanlı GUI'lerin ne kadar yaygın olduğunu görebilirsiniz.
Dosya ve Paketleme Sistemleri
Metin2 dosya yapısında önemli bir diğer unsur da pack sistemidir. Client tarafında tüm grafikler, ses dosyaları ve UI dosyaları genellikle paketlenmiş olarak gelir. Bu paketlerin açılması ve düzenlenmesi, client src üzerinde çalışırken oldukça önemlidir. Paketleme sistemleri sayesinde dosya güvenliği sağlanır ve gerekirse özel sunucuya özgü içerik eklenebilir.
Modüler Yapı ve Kaynak Kod Düzeni
Metin2 sistemleri modülerdir. Örneğin bir PvP sistemini etkinleştirmek istiyorsanız, sadece o modülü etkinleştirmeniz yeterlidir. Bu sayede PvP sistemleri, party sistemleri veya guild sistemleri bağımsız olarak geliştirilebilir ve test edilebilir. Source Edit yaparken bu modülerliği dikkate almak büyük avantaj sağlar. Metin2 Development dünyasında, her modülün kendi bağımlılıkları ve yapılandırması vardır.
Compile ve Build Süreçleri
Sunucu kaynak kodlarını değiştirdikten sonra derleme (compile) işlemi gerekebilir. Metin2 Compile süreci genellikle Visual Studio veya GCC gibi derleyicilerle yapılır. Her modülün derlenmesi için belirli yapılandırma dosyaları (.sln, .vcxproj) kullanılır. Derleme hatası yaşamamak için core dosyalarının doğru şekilde yapılandırıldığından emin olunmalıdır. Channel sunucular için ayrı yapılandırmalar gerekebilir.
Sonuç
Metin2 özel sunucu geliştirme, hem teknik hem de yaratıcı bir alandır. C++ ve Python bilgisi, server src üzerinde çalışırken çok değerlidir. Dosya yapısını ve modüler yapıyı anlamak, PvP sistemleri ya da diğer gelişmiş oyun mekaniklerini geliştirmek için güçlü bir temel oluşturur. Metin2 Lobby üzerinden sunucu geliştirme ile ilgili kaynaklara ulaşabilir, toplulukla fikir alışverişinde bulunabilirsiniz.
Understanding Metin2 File Structure and Modularity for Beginners Guide
What Is Metin2 Server Development?
Metin2 is a popular MMORPG among Asian gaming enthusiasts. However, for developers who wish to run their own private servers, understanding the file structure and modular components is crucial. This guide aims to help newcomers better understand the structures they encounter on platforms like Metin2 Lobby.
Basics of Metin2 Server Architecture
In Metin2 private servers, there are typically three main components:
- Game Server
- Auth Server
- Database (DB)
The Game Server contains the code that players directly interact with, including character movement, combat systems, inventory, and other in-game mechanics. The Auth Server handles login authentication and account management. The Database stores persistent data such as player information, items, and levels.
Combining C++ and Python
The server-side of Metin2 is primarily written in C++. Developers specializing in game server programming must have a strong command of C++. Meanwhile, in-game interfaces (UIscript), certain systems, and scripts are developed using Python. Therefore, structures like Py Root and Py GUI play an important role. You can observe how widespread Python-based GUIs are in systems contributed by developers like Martysama.
File and Packaging Systems
An essential aspect of the Metin2 file structure is the pack system. On the client side, graphics, audio files, and UI elements are usually distributed in packaged formats. Unpacking and editing these packages is critical when working on the client src. Packaging systems ensure file security and allow custom content to be added to private servers if needed.
Modular Architecture and Source Code Organization
Metin2 systems are modular. For example, if you want to activate a PvP system, you only need to enable that specific module. This allows PvP systems, party systems, or guild systems to be developed and tested independently. When performing source edits, considering this modularity provides significant advantages. In the world of Metin2 Development, each module has its own dependencies and configurations.
Compilation and Build Processes
After modifying the server source code, you may need to perform a compilation (compile). The Metin2 Compile process is usually done using compilers like Visual Studio or GCC. Specific configuration files (.sln, .vcxproj) are used to compile each module. To avoid compilation errors, ensure that core files are properly configured. Different configurations might be required for channel servers.
Conclusion
Developing Metin2 private servers is both a technical and creative field. Knowledge of C++ and Python is highly valuable when working with server src. Understanding the file structure and modular architecture forms a strong foundation for developing advanced game mechanics such as PvP systems. You can access resources related to server development via Metin2 Lobby and exchange ideas with the community.
Bu projeyi C++’ta oyun geliştirmeye ve metin2 yazılım yapısını anlamaya yeni başlayanlar için hazırladım.
Amacım C++, Python ve Shell Script kullanarak yapmış olduğum basit bir Sayı Tahmin Oyun'u ile metin2 dosya yapısını, derlemeyi,
Makefile kullanımını ve modüler programlamayı somut küçük bir örnek üzerinden göstermek.
Dosya yapısı: .cpp dosyaları oyunun mantığını taşır, .hpp dosyaları ise sınıf tanımları ve ayarları içerir. Bu sayede kod düzenli ve yönetilebilir olur.
Makefile kullanımı:
Makefile, tüm kaynak dosyalarını derleyip bir çalıştırılabilir program (binary) üretir. gmake clean ile eski derlemeler silinir, gmake ile yeniden derlenir. Bu, kod değişikliklerinde işleri kolaylaştırır.
service.h ile projeye modülerlik nasıl sağlanır;
Örneğin bonus sistemini #define ENABLE_BONUS_SYSTEM ile açıp kapatabilirsiniz. Kodun içinde #ifdef
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
bu özellik sadece aktif olduğunda çalışır. Böylece
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
o#ifd#ifd#ifdef
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
inde ve yönetilebilir. (dosyalar içerisinde daha detaylı anlatılmıştır.)NOT: Windows ortamında herhangi bir derleme veya client.exe üretilmemiştir. Şuan sadece direkt Python ile giriş yapılacak şekilde ayarlanmıştır.
İleri ki aşamalarda onunda anlatımını yapmayı planlıyorum.
Projenin çalıştığı ortam ve kullanılan temel araçlar:
İşletim Sistemi: FreeBSD 14.0-RELEASE
Derleyici: Clang 16.0.6 (i386)
Veritabanı: MariaDB 10.11.9
Python Sürümü: Python 3.13.9 (Bilgisayarınızda yüklü olmalı ve Sistem Ortam Değişkenlerinde PATH yolu olmalıdır.)
Kurulum ve başlatma
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
.zip içerisindeki OKU.txt de detaylı bir şekilde tarafımca anlatılmıştır
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Varsayılan Hesap Bilgileri:
Oyun: kullanıcı adı: root parola: 1
FreeBSD: kullanıcı adı: root parola: password
MariaDB: kullanıcı adı: root parola: password
Dipnot: Alınan hataların çözümü ve sistemin genel yapısı için Yapay Zeka'dan bir çok yerde faydalanılmıştır.
Files İndir
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Freebsd İndir
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Virüstotal:
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Yeni Başlayanlar İçin Metin2 Dosya Yapısını ve Modülerliği Anlama Rehberi
Metin2 Server Geliştirme Nedir?
Metin2, özellikle Asya kökenli MMORPG severler arasında popüler olan bir oyundur. Ancak bu oyunun özel sunucularını (private server) çalıştırmak isteyen geliştiriciler için temel adım, dosya yapısını ve modüler bileşenlerini anlamaktır. Bu rehber, yeni başlayanların Metin2 Lobby gibi platformlarda karşılaştıkları yapıları daha iyi anlamasına yardımcı olacaktır.
Metin2 Sunucu Yapısı Temelleri
Metin2 özel sunucularında genellikle üç ana bileşen vardır:
- Game Sunucusu
- Auth Sunucusu
- Database (DB)
Game Sunucusu, oyuncuların doğrudan etkileşimde bulunduğu koddur. Karakterlerin hareketi, savaş sistemi, envanter gibi tüm oyun içi işlemleri içerir. Auth Sunucusu ise giriş kimlik doğrulaması ve hesap yönetimi gibi işlemleri sağlar. Database ise oyuncu verileri, eşyalar, seviyeler gibi tüm kalıcı verileri barındırır.
C++ ve Python Kombinasyonu
Metin2'nin sunucu tarafı genellikle C++ ile yazılmıştır. Özellikle game server programming konusunda uzmanlaşan geliştiriciler, C++ bilgisine ihtiyaç duyar. Oyun içindeki arayüzler (UIscript), bazı sistemler ve betikler ise Python ile geliştirilir. Bu nedenle Py Root ve Py GUI gibi yapılar önemli rol oynar. Martysama gibi geliştiricilerin katkı sunduğu sistemlerde Python tabanlı GUI'lerin ne kadar yaygın olduğunu görebilirsiniz.
Dosya ve Paketleme Sistemleri
Metin2 dosya yapısında önemli bir diğer unsur da pack sistemidir. Client tarafında tüm grafikler, ses dosyaları ve UI dosyaları genellikle paketlenmiş olarak gelir. Bu paketlerin açılması ve düzenlenmesi, client src üzerinde çalışırken oldukça önemlidir. Paketleme sistemleri sayesinde dosya güvenliği sağlanır ve gerekirse özel sunucuya özgü içerik eklenebilir.
Modüler Yapı ve Kaynak Kod Düzeni
Metin2 sistemleri modülerdir. Örneğin bir PvP sistemini etkinleştirmek istiyorsanız, sadece o modülü etkinleştirmeniz yeterlidir. Bu sayede PvP sistemleri, party sistemleri veya guild sistemleri bağımsız olarak geliştirilebilir ve test edilebilir. Source Edit yaparken bu modülerliği dikkate almak büyük avantaj sağlar. Metin2 Development dünyasında, her modülün kendi bağımlılıkları ve yapılandırması vardır.
Compile ve Build Süreçleri
Sunucu kaynak kodlarını değiştirdikten sonra derleme (compile) işlemi gerekebilir. Metin2 Compile süreci genellikle Visual Studio veya GCC gibi derleyicilerle yapılır. Her modülün derlenmesi için belirli yapılandırma dosyaları (.sln, .vcxproj) kullanılır. Derleme hatası yaşamamak için core dosyalarının doğru şekilde yapılandırıldığından emin olunmalıdır. Channel sunucular için ayrı yapılandırmalar gerekebilir.
Sonuç
Metin2 özel sunucu geliştirme, hem teknik hem de yaratıcı bir alandır. C++ ve Python bilgisi, server src üzerinde çalışırken çok değerlidir. Dosya yapısını ve modüler yapıyı anlamak, PvP sistemleri ya da diğer gelişmiş oyun mekaniklerini geliştirmek için güçlü bir temel oluşturur. Metin2 Lobby üzerinden sunucu geliştirme ile ilgili kaynaklara ulaşabilir, toplulukla fikir alışverişinde bulunabilirsiniz.
Understanding Metin2 File Structure and Modularity for Beginners Guide
What Is Metin2 Server Development?
Metin2 is a popular MMORPG among Asian gaming enthusiasts. However, for developers who wish to run their own private servers, understanding the file structure and modular components is crucial. This guide aims to help newcomers better understand the structures they encounter on platforms like Metin2 Lobby.
Basics of Metin2 Server Architecture
In Metin2 private servers, there are typically three main components:
- Game Server
- Auth Server
- Database (DB)
The Game Server contains the code that players directly interact with, including character movement, combat systems, inventory, and other in-game mechanics. The Auth Server handles login authentication and account management. The Database stores persistent data such as player information, items, and levels.
Combining C++ and Python
The server-side of Metin2 is primarily written in C++. Developers specializing in game server programming must have a strong command of C++. Meanwhile, in-game interfaces (UIscript), certain systems, and scripts are developed using Python. Therefore, structures like Py Root and Py GUI play an important role. You can observe how widespread Python-based GUIs are in systems contributed by developers like Martysama.
File and Packaging Systems
An essential aspect of the Metin2 file structure is the pack system. On the client side, graphics, audio files, and UI elements are usually distributed in packaged formats. Unpacking and editing these packages is critical when working on the client src. Packaging systems ensure file security and allow custom content to be added to private servers if needed.
Modular Architecture and Source Code Organization
Metin2 systems are modular. For example, if you want to activate a PvP system, you only need to enable that specific module. This allows PvP systems, party systems, or guild systems to be developed and tested independently. When performing source edits, considering this modularity provides significant advantages. In the world of Metin2 Development, each module has its own dependencies and configurations.
Compilation and Build Processes
After modifying the server source code, you may need to perform a compilation (compile). The Metin2 Compile process is usually done using compilers like Visual Studio or GCC. Specific configuration files (.sln, .vcxproj) are used to compile each module. To avoid compilation errors, ensure that core files are properly configured. Different configurations might be required for channel servers.
Conclusion
Developing Metin2 private servers is both a technical and creative field. Knowledge of C++ and Python is highly valuable when working with server src. Understanding the file structure and modular architecture forms a strong foundation for developing advanced game mechanics such as PvP systems. You can access resources related to server development via Metin2 Lobby and exchange ideas with the community.
