Metin2 Geliştirici Eğitimi Serisinde Kullandığım Files

Merhaba arkadaşlar,
Metin2 Geliştirici Eğitimi serisinde kullandığım filesi orijinal konusundaki linkler silindiği için paylaşıyorum.
Tabii ki birebir olduğu gibi kopyalayıp tekrardan yüklemedim. 2-3 gündür files üzerinde yoğun bir şekilde çalışarak bazı düzenlemeler yaptım.

Filesin Geçmişi ve Kaynak Kodları Altyapısı Hakkında Bilgilendirme
Server altyapısı: mainline_released
Client altyapısı: novaline

Vanilla tarafından Vanilla Core geliştirildi ve genel kullanıma açıldı.
Maxmi tarafından Vanilla Core kaynak kodları kullanılarak bu files geliştirildi ve altyapı olarak sunuldu. (Bilinen son yayınlanan sürüm: maxmiblackforce-v.3.6)
Daha sonra frozen bu fileste geliştirmeler yapıp paylaşıma sundu.

Metin2 Geliştirici Eğitimi serisinde bu filesi kullanıyordum. Yeni başlayanlar files konusunda çok sıkıntı yaşadığı için eğitim serisini daha rahat takip edebilmeleri adına bu filesi paylaşacağım. Kısacası bu files son olarak benim elimden geçip halkın kullanımına yeniden sunulmuştur. :)

Not: Filesin derlenebilmesi için gereken freebsd ve visual studio sürümleri güncellenmemiştir. O dönem yayınlandığı gibidir. Sadece göze çarpan sorunlar düzeltildi ve optimizasyon yapıldı. Yapılanlar listesine geçmeden önce source derlenebilmesi için gerekenlerin listesini veriyim.

Not2: Kafa karışıklığı nedeniyle bu notu ekleme gereği duydum. Bu konuda paylaşılan dosyalar Metin2 Sıfırdan Altyapı Server Files Hazırlama Rehberi 'nde hazırlanan dosyalar değildir. 2016 yılında çekimine başladığım Metin2 Geliştirici Eğitimi serisinde kullandığım filesin dosyalarıdır. Zaten konu başlığında belirtmiştim. Eğer sıfırdan altyapı hazırlama rehberini takip ediyorsanız rehberin ana konusunda yazılanları takip ediniz.

Server source derlemek için gereken sürüm: freebsd 9.3 32bit
Client source derlemek için gereken sürüm: Visual Studio 2013 (visual studio 2019 ile build etmek isterseniz platform toolsetten v120'yi seçiniz. Varsayılan olarak seçilidir. Önümüzdeki rehberlerde vs sürümünü yükseltmeyi göstereceğim.)

Server filesin çalışması için.
Freebsd 9.3/10.3/11.2/12.1 (istediğiniz sürümü seçebilirsiniz. Fakat source 9.3'de build edilmektedir.)
Mysql56

Not2: Bu filesi kendinizi geliştirmek için kullanabilirsiniz. Zaten bu amaç ile paylaşıldı. Eğer bu filesi kullanarak ciddi projeler hazırlamak istiyorsanız source dosyalarının güncel sürümlerde derlenebilmesi için düzenlemeler yapmanız gerekmektedir. Bunun içinde Extern ve kaynak kodlarında değişiklikler yapmanız gerekiyor. Güncel sürümlere yükseltmeyi bilmiyorsanız Metin2 Sıfırdan Altyapı Server Files Hazırlama Rehberi 'ne göz atabilirsiniz.

Not3: 2016 yılına ait files olduğu için fazla eklenti bulunmamaktadır. Günümüzün güncel sistemleri yoktur. Altyapı olarak kullanabilirsiniz ve rahatlıkla sistem denemeleri yapabilirsiniz.

Files ve Kaynak Kodlarında Yaptığım Değişiklikler
Server Files Düzenlemeleri

  • Coreler baştan ayarlandı. Artık filesi illa /usr/game altına kurmanıza gerek yok.
  • no_txt özelliği kapatıldı. İsteyenler tekrardan aktif edebilir. (Eğitim videolarında txt üzerinden gittiğim için varsayılan kapalıdır.)
  • MySQL tablolarında yer alan sorunlar çözüldü. Oyun tarafından kullanılmayan tablolar silindi.
  • quest altındaki object klasörü silindi. Filesi kurduktan sonra make.sh yapmayı unutmayınız.
  • Başlatıcı ve Kapatıcı scriptleri baştan ayarlandı.

Source Düzenlemeleri
  • Server ve Clientin düzgün bir şekilde derlenebilmesi için düzenlemeler yapıldı. Çok yer kaplayan gereksiz dosyalar temizlendi.
  • Server src'yi visual studio ile açabilmek için düzenlemeler yapıldı. Sistem geliştirirken rahat oluyor. (En son visual studio 2019 tarafından açılmıştır.)
  • Client src, visual studio ayarları düzenlendi. (En son visual studio 2019 tarafından açılmıştır. Build için platform toolset v120 seçilidir. Sizde gözükmüyorsa visual studio 2013 kurunuz.)
  • Server tarafında makefileler güncellendi.
  • Server Extern'i yeniden yapılandırıldı.
  • Server build olurken cryptopp warningleri çözüldü.
  • Kanalların kapanmasına sebep olan güvenlik açığı kapatıldı.
  • questler için qc artık derlenebilecek.
  • proto dosyalarını okumama sorunu giderildi. (proto dosyalarını filesimize uyarlamak videosunda anlatılanlar.)
  • Orijinal konusunda dump_proto verilmiyordu. Bu filese uygun dump_proto src eklendi.

Not: Oyun içeriğinde ve questlerde değişiklik yapılmamıştır.
Sadece hata veren quest dosyaları düzenlenmiştir.

İndirme Linkleri
Cloud Mail

Toplu İndirme:
Alıntılarda özel içerikler gözükmez.

Client:
Alıntılarda özel içerikler gözükmez.
(1.12 GB)
ClientSource:
Alıntılarda özel içerikler gözükmez.
(18.3 MB)
ServerSource:
Alıntılarda özel içerikler gözükmez.
(24.7 MB)
Server Files:
Alıntılarda özel içerikler gözükmez.
(34.7MB)

Mega
Toplu İndirme:
Alıntılarda özel içerikler gözükmez.

Client:
Alıntılarda özel içerikler gözükmez.
(1.12 GB)
ClientSource:
Alıntılarda özel içerikler gözükmez.
(18.3 MB)
ServerSource:
Alıntılarda özel içerikler gözükmez.
(24.7 MB)
Server Files:
Alıntılarda özel içerikler gözükmez.
(24.7 MB)

Kurulum Nasıl Yapılır?
Kurulumun videolu anlatımı geliştirici eğitiminde mevcuttur.
(Güncel kurulum ve source dosyalarını derleme videosu için: Online Oyun Geliştirme Eğitimi (MMORPG))
Aşağıdan da yazılı rehberi inceleyebilirsiniz.

Freebsd kurulum ve Mysql 56 kurulur.
Freebsd ve mysql kurulumunu bilmiyorsanız;
Freebsd kurulum rehberi: Oracle VM VirtualBox İle Freebsd 9.3 Kurulumu
Freebsd'ye MySQL kurulum rehberi: Freebsd 9.3 MySQL Kurulumu

Çalışma ortamı hazırladıktan sonra filesimizi çalıştırmaya geldi. İleri seviye ve yeni başlayanlar için iki ayrı kurulum seçeneği vardır.

Yeni başlayanlar: Source derlemeye girişmeden
Server files kurulumu

İndirdiğiniz dosyadan serverfilesi filezillanızdan /usr/ dizinize atınız.
Daha sonra şu komutu çalıştırınız;
Bash:
Genişlet Daralt Kopyala
tar -zxf serverfiles.tgz

İndirdiğiniz dosyadan serverdb'yi filezillanızdan /var/db/ dizinine atınız.
Daha sonra şu komutu çalıştırınız;
Bash:
Genişlet Daralt Kopyala
tar -zxf serverdb.tgz
Not: MySQL şifresi değişmemektedir. MySQL kurarken kullandığınız şifre ile giriş yapmalısınız. Server filesi açılması için conf.txt dosyasında yazan bilgilere göre veritabanına yeni kullanıcı hesabı oluşturmanız gerekmektedir.

Daha önce files kurmadıysanız şu videolu rehberi izleyin;


Client kurulumu
İndirdiğiniz Full Client.rar dosyası içindeki Client klasörünü herhangi bir yere çıkarın. Daha sonra pack/root'u açın. serverinfo.py kısmına kendi serverinizin ip adresinizi giriniz.
Packları açıp kapatabilmek için:
EterNexus: Metin2 Pack Açıcı: EterNexus
EPack32: Metin2 Pack Opener: EPack32

A műveletek elvégzése után kattintson a Client/Metin2Release.exe fájlra, és sikeresen belép a játékba.

Haladó szint: Forrásból fordítás (ha a forráson keresztül szeretne rendszert fejleszteni)
Szerverforrású fájlok összeállítása és telepítése

Megjegyzés: A szerver forrása a freebsd 9.3 - 32 bites verzióján fut. A magasabb verziókra való fordításhoz módosítania kell a forráskódot.

Mielőtt megpróbálná a forrásfordítást, futtassa a következő parancsokat.
Bash:
Genişlet Daralt Kopyala
pkg telepítése gmake make depend gcc python
Ha még nem telepítette a Mysql-t, írja be ezt a parancsot is.
Bash:
Genişlet Daralt Kopyala
pkg install mysql56-client mysql56-server

Ha a pkg parancs nem működik, nézze meg az alábbi útmutatókat:
A Freebsd 9x Pkg parancs futtatása
Hogyan telepítsem a Freebsd 9.3 Offline Mysql56-ot?

Húzza a ServerSource mappát a letöltött fájlból a /home/ könyvtárba a filezilla-ból.
Ezután írja be a következő parancsot az ssh-ba az Extern fájl kibontásához.
Bash:
Genişlet Daralt Kopyala
tar -zxf Extern-server-freebsd-93.tgz

A forrás fordításához le kell fordítania a cryptopp-ot. Írja le a következőket sorrendben:
Bash:
Genişlet Daralt Kopyala
cd /home/ServerSource/Srcs/Extern/cryptopp
gmake libcryptopp.a -j6

Várja meg, amíg az építési folyamat befejeződik.
Ezután írja be a következőt a kiszolgáló forrásának lefordításához.
Bash:
Genişlet Daralt Kopyala
cd /home/ServerSource/Srcs/Server
gmake all

Amikor a folyamat befejeződött, megkapja a game_r50060 és db_r50060 fájlokat. Ezek szükségesek a játékunk megnyitásához. Ezt a szakaszt követően kövesse a kezdőknek – kiszolgálófájlok telepítése című cikkben leírtakat.
Mivel saját src fájlt építünk, törölnünk kell a játékot és a db fájlokat a szerverfájlokból.
Törlési parancs;
Bash:
Genişlet Daralt Kopyala
cd /usr/game/share & rm -rf játék
Bash:
Genişlet Daralt Kopyala
cd /usr/game/share & rm -rf db

Prémium információk;
Ahelyett, hogy folyamatosan megpróbálná a lefordított fájlt a fájlba helyezni, létrehozhat egy szimbolikus hivatkozást . Írja be ezeket a parancsokat.
Bash:
Genişlet Daralt Kopyala
ln -s /home/ServerSource/Srcs/Server/game/game_r50060 /usr/game/share/game
Bash:
Genişlet Daralt Kopyala
ln -s /home/ServerSource/Srcs/Server/db/db_r50060 /urs/game/share/db

Symlink létrehozása helyett helyezze el a game_r50060 és db_r50060 fájlokat az usr/game/share mappába , és változtassa meg a nevüket game , db- ra .

Ezután megnyithatja a szervert.:)

Ügyfélforrás összeállítása
Az ügyfél lefordításához telepíteni kell a Visual Studio 2013-at . Ha a Visual Studio 2019-el szeretne építeni , a platform eszközkészletét v120-ként kell kiválasztani .
Írja be a letöltött ClientSource fájlt.
Ezután lépjen be az Srcs/Extern/cryptopp könyvtárba . Futtassa a cryptlib.sl n fájlt, és készítse el.
Megjegyzés: Ha a klienst hibakeresési módban szeretné felépíteni, akkor a cryptopp-t is hibakeresési módban készítse el.

A Cryptopp fordítása után futtassa a ClientSource/Srcs/Client/client.sln fájlt.
Megnyitás után nyomja meg a Compile -> fordítsa le a megoldást / build -> Build solution gombot és várjon.

Ha a felépítési folyamat sikeres, akkor az exe fájlokat kibontja a Client/binary fájlba .

A kliens forrásának összeállítása után kövesse a kezdők -> kliens telepítés részben leírtakat. Az egyetlen különbség itt az, hogy a saját maga által összeállított exe-vel fog belépni a játékba.



Záró beszéd
Metin2 geliştirici eğitim serimi takip etmek isteyenler files konusunda çok sorun yaşıyordu. Bu konu sayesinde eğitimde kullandığım files üzerinde çalışabileceksiniz. O zamanlar orijinal konusu bulunduğu için insanları yönlendiriyordum. Artık orijinal konuda ki linkler kırıldığı için bende kendi sürümümü paylaştım.
Bu dosyaları düzenlemek ve her şeyini enine boyuna test etmek için -Clientin debug, release, distrubite derlenebilmesi, server kısmında her şeyin düzgün derlenmesi vs.- 2 gündür uyumadan uğraştım.

Tüm dosyaları olabildiğinde optimal seviyeye getirdim. Gereksiz dosyaların çoğu temizlenmiştir.

Bu yazının tamamı, videolu anlatım ve dosyalar MMO Tutkunları'na ait özgün içeriktir. Kaynağı gösterildiği sürece başka platformlarda paylaşılabilir.

Thy
 
Geri
Üst