Whistle

Ruhsuz Filozof
Kurucu
Kurumsal Üye
Geliştirici
Yardımsever Üye
Mesaj
11.494
Çözümler
546
Beğeni
12.054
Puan
5.864
Merhaba arkadaşlar,
Bu konumuzda Metin2 Sıfırdan Altyapı Server Files Hazırlama Rehberi 'nde hazırladığımız filesin dosyalarını paylaşacağım. Eğer files oluşturmayı öğrenmek istiyorsanız bu konuyu görmezden gelip rehber konusunu takip edebilirsiniz.
Daha önce bir üyemiz benden izin alarak rehberin final dosyalarını paylaşmıştı. Konusuna buradan bakabilirsiniz.

Filesin kurulumuyla ilgili videolu rehbere ulaşmak için buraya tıklayın.

Başlamadan önce not: Fileste gördüğünüz sorunları bana bildirebilirsiniz. Belirli aralıklarla git repolarını güncelleyeceğim. Sizlerde yaptığınız düzenlemeleri git ile bana gönderebilirsiniz. Güncellemeleri takip etmek için git repolarını takip etmeyi unutmayın.

Filesi kurmak için gerekenler;​

  1. Visual Studio 2019 (c++ oyun geliştirme kurulu olmalı)
  2. Freebsd 13.0, Freebsd 12.2 veya Freebsd 11.4
  3. Freebsd kurulumu için Oracle VM VirtualBox veya VMWare Workstation programını kullanabilirsiniz.
  4. MySQL 8.0, gcc9 (MariaDB veya MySQL 5.6 kullanmak isterseniz altyapı oluşturma rehberinde ilgili bölümleri izleyiniz.)
  5. Eternexus veya Epack32
  6. Python kodlarını düzenlemek için herhangi bir editör. Notepad++ basit olduğu için tavsiye ederim.

İndirme Linkleri​

Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.


İsteyenler hazır kurulmuş VDI ve Client dosyasını indirebilirler;
Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.


Server Filesin Kurulumu​

Gerekli Paketlerin Kurulması ve Dosyaların İndirilmesi​

Freebsd'yi kurduktan sonra şu paketleri kurunuz;
  • mysql80-client
  • mysql80-server
  • openssl
  • python
  • git
  • gcc9
  • gmake
  • makedepend
  • subversion

MySQL 8.0 kurulumu hakkında detaylı bilgiyi buradan edinebilirsiniz.

Daha sonra sırası ile şu komutları çalıştırınız.
git clone https://github.com/MMOTutkunlari/AltyapiServer.git
git clone https://github.com/MMOTutkunlari/AltyapiSF.git

Server Source Derlenmesi​

Extern dosyalarını çıkartın
cd /home/AltyapiServer/Srcs/
tar -zxf Extern-server-freebsd-12.tgz

Cryptopp'u build edin. (-j aynı anda ne kadar dosya build edeceğini belirtir.)
cd /home/AltyapiServer/Srcs/Extern/cryptopp
gmake -j6
mv libcryptopp.a ../lib

Server source build edin. (-j aynı anda ne kadar dosya build edeceğini belirtir.)
cd /home/AltyapiServer/Srcs/Server
gmake all -j6

Server Filesin Kurulması​

İlk önce veritabanına oyunun tablolarını ekliyoruz.​

Server files sql dosyalarının bulunduğu dizine gidin..
cd /home/AltyapiSF/sql/

Sql dosyaları içerisinde yer alan komutlar ile server files için gerekli olan tabloların otomatik olarak oluşturulmasını sağlayan shell scriptini çalıştırmak için aşağıdaki komutu girin.
Veritabanı şifrenizi girin: <buraya mysql'u oluştururken tanımladığınız şifreyi girin.>

Çekirdek dosyalarının filese tanımlanması​

İlk önce bin klasörünü oluşturuyoruz..
mkdir /home/AltyapiSF/share/bin

Oluşturduğumuz bin klasörüne gidiyoruz.
cd /home/AltyapiSF/share/bin

Kaynak kodlarımızı derledikten sonra elde ettiğimiz game ve db dosyasını filesimize kısayol oluşturacak şekilde tanımlıyoruz. Böylelikle her sourceyi derleme işleminde tekrar tekrar bu dosyaları atmanız gerekmez.
ln -s /home/AltyapiServer/Srcs/Server/game/game_r40020 game
ln -s /home/AltyapiServer/Srcs/Server/db/db_r40020 db


Server files kanallarının oluşturulması​

Server filesin kurulu olduğu ana dizine gidiyoruz.

Server filesin çalışması için gerekli olan yapılandırmaları ve kanalları otomatik oluşturan shell scriptini aşağıdaki komut ile çalıştırın.
(Shell scriptini düzenleyerek kanal sayısını değiştirebilirsiniz. Bir serverde en fazla 10 kanal olabilir.)

Questlerin derlenmesi​

Server fileste questler derlenmemiş biçimde gelmektedir. İlk kurulumda hepsini derletmeniz gerekecek. İlk önce questlerin olduğu dizine gidin.
cd /home/AltyapiSF/share/locale/turkey/quest

Aşağıdaki komutu çalıştırarak tüm questleri derletin.


Server filesin yönetimi​

Oyunu başlatma

Oyunu kapatmak


Log kayıtlarını temizlemek (logs klasörü ve kanallar içerisindeki tüm kayıtları, core dosyalarını kaldırır)
(Belirli aralıklarla logların temizlenmesini sağlamak isterseniz FreeBSD cronlarına ekleyebilirsiniz. Eğer filesi geliştireceksiniz eklemeyin.)


Server files açıklığını kontrol ettirmek. (kanallar düşerse otomatik yeniden başlatır)


Client Source Derlenmesi​

Extern-client-vs2019.rar arşivi içindeki dosyaları AltyapiClient içerisine atın.

Cryptopp'un derlenmesi​

Extern/cryptopp/crytest.sln dosyasını Visual Studio 2019 ile açın ve cryptlib derletin ve çıkan lib dosyasını Extern/lib içerisine atın..
Release ile derlediyseniz ismini şu şekilde ayarlayın: cryptlib-8.2.0Release.lib
Debug ile derlediyseniz ismini şu şekilde ayarlayın: cryptlib-8.2.0Debug.lib

Altyapı hazırlama rehberinden ilgili videoyu izleyerek yapabilirsiniz.


Client Source derlenmesi​

ClientSource/Client/Metin2Client_VC90.sln dosyasını Visual Studio 2019 ile açın ve derletin.


Pack Dosyalarının Yapılandırılması ve Oyuna Giriş​

root/serverinfo.py içeriğini kendi ip adresinize göre düzenleyin ve dosyaları kapatıp Client/pack içerisine atın. Daha sonra oyuna giriş yapabilirsiniz.


Kurduğunuz bu files sistem eklentisiz haldedir. Bundan sonra kendi oyun türünüze göre düzenlemeler yapabilirsiniz. 2014 yılında sızdırılan kraizy.tgz dosyaları kullanılarak bu files oluşturuldu sizde sıfırdan files oluşturmayı öğrenmek isterseniz Metin2 Sıfırdan Altyapı Server Files Hazırlama Rehberi 'ne bakabilirsiniz.

Bu files MMO Tutkunları adına Whistle tarafından hazırlanmıştır. Kaynağı gösterilmek şartıyla paylaşabilirsiniz.
 
Son düzenleme:
Bilgisayar hapı yutunca çaresizce dosyaların paylaşıldığını görünce ben öyle güzel sistemli eklentiler yapasım geliyorki 5 yıllık proje mesela her 6 ayda bir yenilik ve herşey birbirine bağlantılı.. Gerekli olan sadece dupduru bir files oda şuan paylaşımda ve ben çaresizlik içindeyim.. Emeğine yüreğine sağlık.. Diğer arkadaşın paylaşımındada dediğim gibi emeğin bilginin hakkı ödenmez lakin helallik istenir... Bir şey başarmak hiçbirşey yapmamaktan iyidir yolun bahtın açık olsun inşallah sağlıcakla kal Eray..
 
bence martysama altyapı kullanıp videodaki güncellemeleri yapabilirsiniz.
martysamada 700 yakın fix var.
Martysamada uygulanan her fixi alırsanız işiniz yaş maalesef. Önce o hatanın sizde olup olmadığını kontrol edin. Ondan sonra fixleyin. Maalesef şuana kadar paylaşılan fixlerin %60 70'i gerçek çözümler değil, martysama dosyaları da dahil.
 
Karşılaştığınız sorunları bana bildirirseniz çözümünü yapıp yüklerim. Böylelikle herkes faydalanmış olur. Dileyenler çözümü ile beraber git üzerinden gönderebilir. Kontrol ettikten sonra duruma göre onaylarım.

Hala git kullanmayı bilmeyenler için yakında yazılı bi rehber hazırlarım
 
Ya adam gibi adam ya, Dün yazdım bugün yaptı sen nasıl bir kralsın. Karadenizli olmak böyle bir şey diyeceğim ırkçılıkla suçlayacaklar. Ama var kanımızda kardeşim :)

Kral Eline sağlık...

Ya whistle reis mysql80 doğru kurmama rağmen bir türlü bağlanmıyor ayar oldum. Hep şu hatayı alıyorum.
2003 can't connect to mysql server on "192.168.1.111"(10061 Unknown Error)

Herşeyi doğru yaptığıma rağmen
 
Ya whistle reis mysql80 doğru kurmama rağmen bir türlü bağlanmıyor ayar oldum. Hep şu hatayı alıyorum.
2003 can't connect to mysql server on "192.168.1.111"(10061 Unknown Error)

Herşeyi doğru yaptığıma rağmen
my.cnf dosyasundan Bind ip 127.0.0.1 yazıyo onu 0.0.0.0 olarak değiş

my.cnf /usr/local/mysql da olcak heralde tam hatırlamıyorum
 
Senin ben canını yiyim aslan parçası. Teşekkür ederim başardım. /usr/local/etc/mysql bu konumda yer alıyormuş
 
Yukardaki kodda hata var şu şekilde düzeltilmesi lazım

Hata:
ln -s /home/AltyapiServer/Srcs/Server/game/game_r40020 game
ln -s /home/AltyapiServer/Srcs/Server/db/db_r40020 db

Fazla sıfırlar ve Dosya adında hata vardı. Olayı çözdüm :)
 
Son düzenleme:
Client derlerken şu hatayı alıyorum

Bağlayıcı Araçları Hatası LNK1181​


crytoplib.lib dosyası açılamıyor
 
Geri
Üst