Metin2 sunucu geliştirme sürecine başlamak isteyenler için, 2014'te sızdırılan Kraizy.tgz kaynak kodlarına dayalı bir başlangıç rehberi hazırladım. Amacım, başkalarının hazırladığı dosyalarla değil, doğrudan bu kodlarla başlamak isteyenlere hızlı ve hatasız bir başlangıç sunmak.
Yapılan İyileştirmeler:
Windows ve FreeBSDSunucu tarafındaki kaynak kodları, hem Windows hem de FreeBSD üzerinde hatasız bir şekilde derlenebilecek şekilde düzenlendi. Kendi çalışma ortamımda kullandığım Windows sürümü Windows 11, FreeBSD sürümüm ise FreeBSD 14.0-RELEASE. Hem Windows hem de FreeBSD kullanmanın avantajları var. FreeBSD, sunucu stabilitesi ve performansı açısından Windows’tan daha verimli olabiliyor, ancak Windows üzerinde hata ayıklamak ve geliştirme sürecini yönetmek daha kolay. Bu nedenle, Windows ortamında geliştirme yapıp, sonrasında FreeBSD’ye geçiş yapmanız önerilir.
Bu rehber, Metin2 sunucusu geliştirmek isteyenlerin başlangıçta karşılaşabileceği zorlukları minimize etmeyi hedefliyor. Bu adımlarla, daha stabil ve verimli bir sunucu geliştirme sürecine adım atabilirsiniz.
Not: Mysql80-server'i pkg ile kuramıyorsanız veya FreeBSD kurulumu yapmak istemiyorsanız buradan hazır FreeBSD sanal makinesi indirebilirsiniz.
FreeBSD 14 kurduktan sonra aşağıdaki adımları izleyerek sunucuyu derlemeye ve açmaya hazır hale getirebilirsiniz.
FreeBSD K. Adı: root
Şifre: 123
Veritabanı Kurulumu ve Sunucu Dosyalarının Yüklenmesi
MySQL Veritabanı Kurulumu
İlk olarak, Navicat aracılığıyla MySQL veritabanınıza bağlanın. Ardından, MySQL Databases klasöründeki .sql dosyalarını ilgili veritabanlarının üzerine sürükleyerek kolayca veritabanlarını kurabilirsiniz. Bu adım, veritabanı tablolarının ve yapılarının doğru şekilde aktarılmasını sağlayacaktır.
Sunucu Dosyalarının Yüklenmesi (WinSCP ile)
Sunucu dosyalarını yüklemek için WinSCP aracını kullanın. Bağlantınızı kurduktan sonra, FreeBSD ana dizinindeki /home klasörünü açın ve içine aşağıdaki klasörleri atın:
Server kaynak dosyalarının olduğu dizine git:
cd /home/ServerSource/
Temizle:
gmake clean
şimdi sunucuyu tam derleyin (-j değeri aynı anda kaç dosya derleneceğini belirler, makine hızınıza göre bir değer belirleyin):
gmake all -j10
c+:
cd /home/ServerFiles-FreeBSD/
kod:
chmod 777 *.sh
gerekli dosyaları ve bağlantıları oluştur:
./generate.sh
questi hallet:
cd /home/ServerFiles-FreeBSD/share/locale/turkey/quest
queste izin ver:
chmod 777 qc
questleri derleyin:
sh make.sh
Oyun başlamaya hazır. Server files kısmına git:
cd /home/ServerFiles-FreeBSD
start:
./start.sh
bu komutla oyunu durdur veritabanı sorunu yaşama:
./stop.sh
ek komut: arta kalan syserr ve log dosyalarını bu komutla silin::
./clear.sh
Freebsd kısmı sona erdi.
Mysql Komutları:
CREATE DATABASE account;
CREATE DATABASE log;
CREATE DATABASE common;
CREATE DATABASE player;
GRANT ALL PRIVILEGES ON *.* TO 'kaptan'@'localhost' WITH GRANT OPTION;
Sunucu Kurulum Adımları
Veritabanlarını Kurma
Videodaki 3:25 - 4:05 aralığında gösterilen adımları takip ederek, veritabanlarını kolayca kurabilirsiniz.
Sunucuyu Kurma ve Başlatma
Sunucuyu başlatmaya geçmeden önce, şu adımları izleyin:
Sunucuyu Kapatma
Sunucuyu kapatmak için, sırasıyla: auth, ch1, ch2, ch99 ve db dosyalarına tıklayın ve ardından ESC tuşuna basın.
Quest Derleme ServerSource\Bin\Release klasöründeki qc.exe dosyasını ServerFiles-Windows\cores\xx\locale\turkey\quest klasörüne kopyalayın. Derlemek istediğiniz quest dosyalarını qc.exe'ye sürükleyin ve derleme işlemini başlatın.
Not: Windows ve FreeBSD ayrı veritabanlarında çalıştığı için, birinde yaptığınız oyun içi işlemler diğerine yansımaz. Bu durumu göz önünde bulundurarak her iki platformu birbirinden bağımsız olarak yönetmeniz gerekecektir.
İyi kullanımlar dilerim.
Yapılan İyileştirmeler:
- Kod Temizliği: Kullanılmayan ve ölü sistemler ile gereksiz kodlar kaldırıldı.
- Dosya Düzeni: Dosya yapısı iyileştirildi, daha düzenli bir hale getirildi.
- Derleme İyileştirmeleri: Visual Studio 2022 ile hatasız bir şekilde derlenebilecek şekilde güncellendi.
- Güncel Çeviri Desteği: Official Client Locale String güncellemesi yapıldı.
- Hata Düzeltmeleri: Bilinen açıklar kapatıldı ve birkaç küçük hata düzeltmesi gerçekleştirildi.
Windows ve FreeBSDSunucu tarafındaki kaynak kodları, hem Windows hem de FreeBSD üzerinde hatasız bir şekilde derlenebilecek şekilde düzenlendi. Kendi çalışma ortamımda kullandığım Windows sürümü Windows 11, FreeBSD sürümüm ise FreeBSD 14.0-RELEASE. Hem Windows hem de FreeBSD kullanmanın avantajları var. FreeBSD, sunucu stabilitesi ve performansı açısından Windows’tan daha verimli olabiliyor, ancak Windows üzerinde hata ayıklamak ve geliştirme sürecini yönetmek daha kolay. Bu nedenle, Windows ortamında geliştirme yapıp, sonrasında FreeBSD’ye geçiş yapmanız önerilir.
Bu rehber, Metin2 sunucusu geliştirmek isteyenlerin başlangıçta karşılaşabileceği zorlukları minimize etmeyi hedefliyor. Bu adımlarla, daha stabil ve verimli bir sunucu geliştirme sürecine adım atabilirsiniz.
İletişim ve Server Files Dosyaları | Contact Down |
Güncellemeler | İncele |
Hata Düzeltmeleri | İncele |
Güncelleme Geçmişi | İncele |
Not: Mysql80-server'i pkg ile kuramıyorsanız veya FreeBSD kurulumu yapmak istemiyorsanız buradan hazır FreeBSD sanal makinesi indirebilirsiniz.


FreeBSD 14 kurduktan sonra aşağıdaki adımları izleyerek sunucuyu derlemeye ve açmaya hazır hale getirebilirsiniz.
FreeBSD K. Adı: root
Şifre: 123

Veritabanı Kurulumu ve Sunucu Dosyalarının Yüklenmesi
MySQL Veritabanı Kurulumu
İlk olarak, Navicat aracılığıyla MySQL veritabanınıza bağlanın. Ardından, MySQL Databases klasöründeki .sql dosyalarını ilgili veritabanlarının üzerine sürükleyerek kolayca veritabanlarını kurabilirsiniz. Bu adım, veritabanı tablolarının ve yapılarının doğru şekilde aktarılmasını sağlayacaktır.
Sunucu Dosyalarının Yüklenmesi (WinSCP ile)
Sunucu dosyalarını yüklemek için WinSCP aracını kullanın. Bağlantınızı kurduktan sonra, FreeBSD ana dizinindeki /home klasörünü açın ve içine aşağıdaki klasörleri atın:
- ServerFiles-FreeBSD
- ServerExtern-FreeBSD
- ServerSource
Artık sunucu derlenip açılmaya hazır. Windows Terminal'e dönüp bu adımları takip edin:
Server kaynak dosyalarının olduğu dizine git:
cd /home/ServerSource/
Temizle:
gmake clean
şimdi sunucuyu tam derleyin (-j değeri aynı anda kaç dosya derleneceğini belirler, makine hızınıza göre bir değer belirleyin):
gmake all -j10
c+:
cd /home/ServerFiles-FreeBSD/
kod:
chmod 777 *.sh
gerekli dosyaları ve bağlantıları oluştur:
./generate.sh
questi hallet:
cd /home/ServerFiles-FreeBSD/share/locale/turkey/quest
queste izin ver:
chmod 777 qc
questleri derleyin:
sh make.sh
Oyun başlamaya hazır. Server files kısmına git:
cd /home/ServerFiles-FreeBSD
start:
./start.sh
bu komutla oyunu durdur veritabanı sorunu yaşama:
./stop.sh
ek komut: arta kalan syserr ve log dosyalarını bu komutla silin::
./clear.sh
Freebsd kısmı sona erdi.
Mysql Komutları:
CREATE DATABASE account;
CREATE DATABASE log;
CREATE DATABASE common;
CREATE DATABASE player;
GRANT ALL PRIVILEGES ON *.* TO 'kaptan'@'localhost' WITH GRANT OPTION;
Sunucu Kurulum Adımları
Veritabanlarını Kurma
Videodaki 3:25 - 4:05 aralığında gösterilen adımları takip ederek, veritabanlarını kolayca kurabilirsiniz.
Sunucuyu Kurma ve Başlatma
Sunucuyu başlatmaya geçmeden önce, şu adımları izleyin:
- M2Server Çözümü: ServerSource klasöründeki m2server.2008.sln dosyasını açın.
- Derleme: Sunucuyu 32 bit modda hem Release hem de Debug olarak derleyin.
- SendToServerfiles.bat: Derleme işlemi tamamlandıktan sonra, ServerSource/Bin klasöründeki SendToServerfiles.bat komut dosyasını çalıştırın.
- Sunucu Başlatma: ServerFiles-Windows içindeki start.bat dosyasını çalıştırarak sunucuyu başlatın.
Sunucuyu Kapatma
Sunucuyu kapatmak için, sırasıyla: auth, ch1, ch2, ch99 ve db dosyalarına tıklayın ve ardından ESC tuşuna basın.
Quest Derleme ServerSource\Bin\Release klasöründeki qc.exe dosyasını ServerFiles-Windows\cores\xx\locale\turkey\quest klasörüne kopyalayın. Derlemek istediğiniz quest dosyalarını qc.exe'ye sürükleyin ve derleme işlemini başlatın.
Not: Windows ve FreeBSD ayrı veritabanlarında çalıştığı için, birinde yaptığınız oyun içi işlemler diğerine yansımaz. Bu durumu göz önünde bulundurarak her iki platformu birbirinden bağımsız olarak yönetmeniz gerekecektir.
İyi kullanımlar dilerim.