Hikayeler

Reklam vermek için turkmmo@gmail.com
Kaynak ikonu

Turkmmo Server Files Projesi #1 - Altyapı Server Files 2020-07-15

indirmek için izniniz yok
Merhaba,

Turkmmo Server Files projesi admini olarak tüm ekip arkadaşlarımın emeğine sağlık ve 7 aydır üzerinde çalıştığımız projemizin birinci adımı olan altyapı server files'i sizinle paylaşmanın gururu içerisindeyiz. Bu projede aslan payını tüm ekip arkadaşlarımın da takdir edeceğini düşünerek @Tungа 'ya vermeliyiz.

7 ay içerisinde toplulukta paylaşılan tüm hata çözümleri proje ekibi tarafından toplandı, zararlı olabilecekler ayrıştırıldı, geriye kalanların tamamı proje ekibi tarafından dikkatli şekilde denenerek projeye dahil edildi. Bunlara ilaveten detaylı hata tespitleri yapıldı. Tespit edilen harici hatalar çözümlendi ve projeye dahil edildi. Bazı fonksiyonlarının çalışma şeklinde değişikliklere gidilerek daha kullanışlı hale getirildi. Bu çözümlemelerin tamamına konunun devamından ulaşabilirsiniz. Dosyalar içerisinde @turkmmo tagiyle aratarak da bu çözümlemelerin konumlarına ulaşabilirsiniz.
Bu projedeki asıl amacımız, sizlere zararlı hata çözümlerinden ayrıştırılmış, bilinen tüm hataların çözümlenmiş olan 2020 model bir ServerFiles sunmaktı. Geldiğimiz yıla global bir files yakışır. Biz client taraflı olarak hem eşyaların hemde canavarların 16 dildeki official çevirilerini sizlere sunduk. Buna ilaveten 2020 yılına kadar official sunucuya gelmiş olan tüm petler, binekler ve kostümler projemizde bulunmaktadır.
Kendi oyun dosyalarınızı hazırlamanızın ilk adımı bizden, geri kalanlar sizin hayal gücünüze kalmış.

Projemizin ilerleyen adımları için sizlerin önerileri çok değerli, sıradaki server files hangi tür olsun, sistemler vb. lütfen yorumlarda da belirtmeyi unutmayın. ( 1-99 , 1-105, 1-120, 55-120 vs. vs. )

Turkmmo ServerFiles Projesi Ekibi:
Tungа
ShineSun
doganemirhan
MaviAy44

Katkıda Bulunanlar:
XxZeMaHSeRxX
AsiLZаde
SoymalıkPortakal
Mavi Ruh ✔
JinxTheLux
Eric Bloodaxe
Emreckdr
ates1972
VexraDev



26720_1d47aea16a2d781adbc0fc88692b04cf.png


26721_7046c99ec519c56a1b3436a11d1a2a02.png


26722_b823e3f5edf6c69a00e7377ec83b8a87.png




Visual Studio Sürümü: Visual Studio 2019(Client, Dump Proto etc)
CrytoPP 8.20
Boost 1.68
Granny 2.11.8.0
DevIL 1.8.0
LibJpeg 9C
LZ4 1.9.1
LZO 2.10
Python 2.7.15
GCC10
Client taraflı olarak official sunucuda bulunan 16 dil, 1e1 olarak eklendi.
Official sunucudan protolar alınarak bütün pet, binek ve kostümler files'a eklendi.
Pack dosyaları, amaçlarına göre kategorize edildi (Örn:Tüm map dosyaları maps packinde bulunmakta.) ve Index dosyası client dosyasına eklendi.(UserInterface.cpp dosyasından düzenleyebilirsiniz.)
CodeMaid uygulaması ile birlikte kodlar temizlendi ve sınıf, fonksiyon yapısına uygun şekilde tab düzenine getirildi.
Server projesine install komutu eklendi.
Yeni, stabil ve quest core bulunmadan çalışan questler eklendi.
turkmmo1: Arkadaş listesinden bir oyuncuyu sildiğinizde diğer oyuncunun arkadaş listesinde bulunulması hatası giderildi.
turkmmo2: At üstündeyken ateş hayaletinin hasar vermemesi hatası giderildi.
turkmmo3: Lens Gösterimi Fix
turkmmo4: Otomatik ataktaki okçu ninja fix
turkmmo5: Pazara vurulma hatası giderildi.
turkmmo6: set align de derece hesaplaması hatası çözümlendi.
turkmmo7: Karakter becerileri sıfırlandığında eski beceri grubuna ait güçlendirmelerin temizlenmemesi problemi giderildi.
turkmmo8: Bineklerin geriye atması hatası giderili.
turkmmo9: Bossların yere düşmesi hatası giderildi.
turkmmo10: Büyülü Silah ve Hava Kılıcı skillerinin silahsız kullanılması engellendi.
turkmmo11: Client taraflı bir memory leak giderildi. Burada bulunan continue ifadesi alt satırda bulunan obje temizlenme işlemini engellemekteydi.
turkmmo13: Cube Result'ın taşması sorunu giderildi.
turkmmo14: Blend fonksiyonunda üst üste binmesi durumunda elde edilen obje silinmediği için oluşan memory leak giderilmiştir.
turkmmo15: Son seviyeye ulaşıldığında tecrübe elde edilemeyeceği için beceri kitabı okunulamaması hatası giderildi.
turkmmo16: pc.select fonksiyonunda ch değeri tanımlandıktan sonra hiçbir kontrol olmadan kullanılıyordu. Bununla ilgili hata çözümü uygulandı.
turkmmo17: Yeşil ve mor pot aktifken tekrar kullanılması engellendi.
turkmmo18: Görünmez moddan çıktıktan sonra efektlerin gözükmemesi hatası giderildi.
turkmmo19: Partideyken bayrak değiştirme hatası giderildi.
turkmmo20: Sys_err daki type değerinin değişkenler arasında bulunmaması hatası giderildi.
turkmmo21: pPc'nin olmaması durumunda oluşan çökme hatası giderildi.
turkmmo22: İstiflenen taşlar kullanıldığında tamamının silinmesi hatası giderildi.
turkmmo23: Karakter yaratılırken karakter adının uzunluğa ait sunucu taraflı bir kontrol bulunmadığı için istenilen uzunlukta karakter ismi yapılabiliyordu. Bu hata çözümlendi.
turkmmo24: Cesaret pelerinin %50 şansla çalışması durumu kaldırıldı ve menzili 2 katına çıkartıldı.
turkmmo25: CHARACTER_NAME_MAX_LEN 24->64 yapıldı. Mob_names'de 24den daha fazla karaktere sahip canavar ve npclerin isminin yarım gözükmesi için çözüm olacaktır.
turkmmo26: Kostüm takılıyken cinsiyet değiştirme fix. --- fix kaldırıldı. alternatif çözüm uygulanacak.
turkmmo27: GetQuestFlag fonksiyonunda pPc değerinin bulunmaması durumunda yaşanan çökme hatası giderildi.
turkmmo28: Savaş ilanındaki savaş tipi değerin negatif olması nedeniyle oluşan çökme giderildi.
turkmmo29: intrologin odak hatası giderilddi.
turkmmo30: Skybox bulut kırpma hatası giderildid.
turkmmo31: Depo'da oluşan memory leak hatası giderildi.
turkmmo32: Ejderha Atışı işlememesi hatası çözümlendi.
turkmmo33: Ejderha Kükremesi işlememesi hatası çözümlendi.
turkmmo34: Canavar sayısı olarak oyuncu olmayanların değil canavar ve metin taşlarının sayısına göre hesaplanması çözümü uygulandı.
turkmmo35: d.notice fonksiyonunda Desc olmayan oyunculara gönderilmesi hatası giderildi.
turkmmo36: ITEM_NAME_MAX_LEN 24->64 yapıldı. Item_names'de 24den daha fazla karaktere sahip eşyaların isminin yarım gözükmesi için çözüm olacaktır.
turkmmo37: Party fonksiyonlarının tamamında bulunan kontrol bulunmadan değişkenin kullanılması hatası giderildi.
turkmmo38: pkOldGrid objesi kullanıldıktan sonra bellekten silinmiyordu. Bununla ilgili hata çözümü uygulandı.
turkmmo39: Monarşi sistemindeki tablo ile QUERY'nin uyuşmaması sorunu giderildi.
turkmmo40: 5300->30000 Default değer değiştirildi.
turkmmo41: 600->3600 Default değer değiştirildi.
turkmmo42: Level atlayınca pot verme kapatıldı.
turkmmo43: Cesaret pelerini sınırsız yapıldı.
turkmmo44: Pack yükleme sistemi baştan sona düzenlendi. Pack isimleri client üzerinden alınacaktır. Debug modda D:/Ymir Work klasörü yüklenecek ancak Release ve Distribute modda yüklenmeyecektir.(Debug modda pack kilitlemeden düzenleme yapılabilir. Debug olmayan modda ise loading ekranı daha kısa sürecektir.)
turkmmo45: /costume ve /hair komutunda efsunun FN_Point_string de bulunmamasından dolayı oluşan çökme sorunu giderildi.
turkmmo46: Karakter öldüğünde eğer çevrede zehir etkisinde olan bir canavar varsa karakterin kalkmasına izin vermemekte. Bunun için bir çözüm uygulandı.
turkmmo47: ShopEx Memoryleak fix.
turkmmo48: Maksimum level 250ye yükseltildi. config.cpp(gPlayerMaxLevel=250) yada kanal ayarlarından(max_level:250) düzenleyebilirsiniz.
turkmmo49: utils.h üzerindeki str_to_number fonksiyonları düzenlendi. unsigned long long için gerekli fonksiyon eklendi.
turkmmo50: Test server aktifken herkesin GM olması ve GM logosu gözükmesi sağlandı.
turkmmo51: get_leader_vid çalıştığı sırada party yoksa core düşmesine sebep olan hata giderildi.
turkmmo52: oyuncu isminde büyük-küçük harfler bulunmasından dolayı karakter üzerinde komutların çalışmaması sorunu giderildi.
turkmmo53: İzleyici modundayken veya sersemleme etkisindeyken saldırı işlemesi engellendi.
turkmmo54: RemoveGoodAffect'e ateş hayaleti eklendi. Skill sıfırlandığında ateş hayaleti silinecek.
turkmmo55: Exp ve Gold için çarpan eklendi. Service.h dan düzenleyebilirsiniz.
turkmmo56: pDungeon oluşmaması durumunda core düşmesine sebep olan hata giderildi.
turkmmo57: Normalde karakter skilleri almadan ata sahip olamaz. Bu düzenleme ile alınabilir oluyor ancak oyununuzda karakterler atsız/bineksiz başlıyorsa bu düzenleme sağlıklı değildir.
turkmmo58: 0 yang eşya alınmaması hatası fixlendi.
turkmmo59: Cmd fonksiyonlarında kullanılan one_argument, two_argument'e ilave olarak 3,4,5,6 arguments alternatifleri eklendi. Şuanlık bir kullanım alanı yok ama ihtiyaç olacaktır.
turkmmo60: Pet, binek, pazarlar düşman olarak gözükmeyecek.
turkmmo61: Simyanın 30 leveldeki görevden önce açılabilmesi için pack ayarı değiştirildi.
turkmmo62: Core düşmesi yaşanmaması için kontrol eklendi.
turkmmo63: AutoGiveItem'da eşyaların kaybolmaması için koyulan engeldeki hesaplama hatası giderilerek eşya kaybolması sorununun önüne geçildi.
turkmmo64: Kamera hareket ettirilince görünmezlerin görünür olması hata çözümü.
turkmmo65: At üzerindeki şamanın saldırı işlememe hata çözümü.
turkmmo66: Char.cpp ve Char_item.cpp de bulunan hatalı ';' lar düzeltildi.
turkmmo67: Proto okunurken size değerinin 0 olması nedeniyle core vermesi sorunu giderildi.
turkmmo68: Eşya bulunmaması durumunda oluşabilecek core düşmesi sorunu giderildi.
turkmmo69: Bu fonksiyonun GM'leri kapsamaması gerekiyor.
turkmmo70: Bu quest fonksiyonunda name veya arg değerlerinin bulunmaması durumunda oluşabilecek core düşmesi engellendi.
turkmmo71: Bu quest fonksiyonunda ch değerinin bulunmaması durumunda oluşabilecek core düşmesi engellendi.
turkmmo72: Simya 1 levelde görevsiz olarak aktif hale getirildi.
MySQL:
Kullanıcı Adı:turkmmo
Şifre:ij26bXZa
GM Hesap:
Kullanıcı Adı:Tunga
Şifre:12345
TurkmmoSF-server.tgz dosyasını FreeBSD işletim sistemindeki herhangi bir yere koyarak çalıştırabilirsiniz. /usr/game klasörüne koymak zorunda değilsiniz.
Kurmak istediğiniz yere karar verdikten sonra
cd /kurmak istedigim klasor/ && tar zxvf TurkmmoSF-server.tgz
TurkmmoSF-mysql.tgz dosyasını /var/db/ klasörünün içine atalım ve aşşağıdaki kodu yazalım.
rm -rf mysql && tar zxvf TurkmmoSF-mysql.tgz
Oyunda 4 kanal eklidir. Oyunu files içerisinde bulunan admin panelinden başlatabilirsiniz. Admin paneli açmak için server dizinine geldikten sonra bu kodu yazalım.
sh admin_panel.sh
Daha sonrasında sırasıyla '1i' 'srv1' '1' yazalım ve sadece 1.kanalı açalım.
Tüm kanalları açmak için '1', vrunner ile tüm kanalları açmak için '1a' yazabilirsiniz.
Kanalları seçerek kapatmak için '2i', tüm kanalları kapatmak için '2', vrunner ile başlatıldıktan sonra tüm kanalları kapatmak için '2a' yazabilirsiniz.
İndir bölümünde yer alan Source dosyalarını indirdikten sonra source dosyalarını build edebilirsiniz.
source/client/Client dizininde yer alan TurkmmoSF.sln dosyasını çalıştırın.
Sol üstte yer alan Debug/Release/Distribute seçeneklerinden derleme biçimini seçelim. Test aşamasında Debug olarak derlemenizi, oyunculara verirken Distribute/Release olarak derlemenizi öneririm.
Solution 'TurkmmoSF' (16 of 16 projects) üstüne gelip sağ tıklayalım.
Clean Solution diyelim, daha sonra da Build solution tıklayalım.
Derlenen client dosyaları aynı klasör içerisinde yer alan bin klasörüne gelecektir.
source/server/ klasöründe yer alan dosyaların tamamını FreeBSD işletim sistemimize taşıyalım. Nereye taşıdığınızın hiçbir önemi yok. /usr/src dizinine yada kendi belirlediğiniz bir dizine taşıyabilirsiniz.
İlk buildde kütüphane dosyalarının derlenmesi için
/server/Server/ klasörü içerisinde gelip 'gmake all' yazmanız yeterlidir.
cd /usr/src/server/Server/ && gmake all
Daha sonrasında harici olarak db yada game projesini derleyebilirsiniz.
cd /usr/src/server/Server/db/src && gmake clean && gmake
cd /usr/src/server/Server/game/src && gmake clean && gmake
Yazar
CorpeX
Kaynak İndirilme
7
Görüntüleme
978
İlk yayınlama
Son Güncelleme
Değerlendirme
0.00 yıldız(lar) 0 rating

CorpeX - Kaynakları

Geri
Üst