ÖNSÖZ
Metin2 çoğumuz için sıradan bir oyun değil: ilk lonca, ilk Metin taşı, ilk +9 burada. Yıllar geçti, oyun aynı kaldı ama altındaki motor yerinde saydı. 2000'lerin başında DirectX 8 ile yazılmış istemci, bugünün ekran kartlarında, çözünürlüklerinde ve bugünün oyuncusunun beklentisi karşısında zorlanıyor.
Bu projeye tek bir soruyla başladık:
"Metin2'yi ruhuna dokunmadan bugünün motoruna taşıyabilir miyiz?"
Cevabı bu konuda. Eski istemcinin üstüne yama yapmadık, kopyasını da çıkarmadık. İstemciyi Unity'de, C# ile, ilk satırından yeniden yazdık. Kuralımız basitti: oyuncu farkı oynanışta değil; görüntüde, akıcılıkta ve rahatlıkta hissedecek. Kılıcın savrulduğu an, okun uçuşu, itme mesafesi, hasar sayısının çıktığı an... Hepsi orijinal kaynaktan ölçülerek aktarıldı.
Sunucuyu da yalnız bırakmadık. Yıllardır bilinen hataları düzelttik, oyuncuyu yoran eski kuralları güncelledik, yarım kalmış ve kullanılmayan sistemleri kalıntısız söktük, üstüne yeni sistemler kurduk.
Bu konu o emeğin vitrini.
PROJE HAKKINDA
Proje iki parçadan oluşur: sıfırdan yazılmış bir Unity istemcisi ve onunla birlikte geliştirilmiş bir sunucu.
İstemci
- Unity 6 (URP), tamamen C#. 70.000 satırı aşkın oyun kodu, ayrıca geliştirme için editör araçları.
- Orijinal ağ protokolünü konuşur: el sıkışma, şifreleme, giriş, karakter seçimi, oyun ve ışınlanma orijinal sunucuyla paket paket uyumludur.
- Modeller, animasyonlar, efektler, sesler ve haritalar orijinal dosyalardan aktarıldı. Arayüz, orijinal pencere tanımlarından birebir kuruldu.
- Modern altyapı: Unity'nin ışık ve gölge sistemi, yüksek çözünürlükte kendiliğinden ölçeklenen arayüz, Addressables içerik paketleriyle çok hızlı oyun geçişleri; tam istemci yalnız ~770 MB.
Sunucu
- Orijinal C++ sunucu kaynağı üzerine 100'ü aşkın yama: yeni sistemler, hata düzeltmeleri, temizlik.
- FreeBSD + MySQL. Açma, kapatma, yedekleme ve sıfırlama için hazır betikler.
- Her yama belgeli ve yedekli; neyin neden değiştiği kayıt altında.
Yaklaşımımız
Orijinale sadık, gerektiği yerde modern. Oynanışa dokunan her değişiklik bilinçli bir karar; orijinalden ayrılan yerler kodda işaretli. Amacımız "başka bir oyun" yapmak değil, Metin2'yi olması gerektiği gibi oynatmaktı.
NEDEN UNITY?
Bu proje, Metin2'yi mobile taşımaya çalışan diğer projelerle karıştırılmasın!
Bu proje, Metin2'yi mobile taşımaya çalışan diğer projelerle karıştırılmasın!
Eski istemciyi başka bir cihazda çalıştırmıyoruz, üstüne kaplama da yapmıyoruz. Metin2'yi dünyanın en yaygın oyun motorlarından biri olan Unity üzerinde, C# ile baştan yazdık. Elinizdeki şey eski bir istemcinin yaması değil; modern bir oyun motorunda çalışan, sınırsız geliştirilebilir bir Metin2.
Tek Proje, Bütün Platformlar
Unity ile aynı projeden Windows, macOS, Linux, Android ve iOS için derleme alınabilir. Proje bugün Windows için hazır; mobil sürüm için dokunmatik kontroller ve arayüz uyarlaması gerekir, motor tarafında hiçbir engel yoktur.
Oyunu Bambaşka Bir Seviyeye Taşıyın
- Modern grafik: gerçek zamanlı ışık ve gölge, görüntü sonrası efektler (parlama, renk düzenleme, alan derinliği), özel shader'lar. DirectX 8'in sınırları artık yok.
- Asset Store: binlerce hazır model, efekt, arayüz ve sistem; projeye eklemek dakikalar sürer.
- C# ile geliştirme: modern bir dil ve güçlü hata ayıklama; yeni bir sistem yazmak eski C++ / Python istemcisine göre kat kat hızlı.
- Görsel editör: harita, canavar, NPC, efekt ve arayüz Unity editöründe görülerek düzenlenir.
- Hazır motor sistemleri: fizik, animasyon, parçacık ve ses sistemleri motorla birlikte gelir.
- Dev topluluk: Unity, dünyanın en büyük oyun geliştirici topluluklarından birine sahip; aradığınız çözüm büyük ihtimalle zaten yazılmış.
- Sınır sizin hayal gücünüz: yeni görsel stiller, yeni oyun modları (bu konudaki MOBA modu gibi), Metin2'de hiç görülmemiş sistemler.
ÖNE ÇIKANLAR
Sınıflar ve Savaş
- 4 sınıf, 8 ırk: Savaşçı, Ninja, Sura ve Şaman'ın kadın ve erkek ırkları; her sınıfın iki beceri grubu, kombolar ve at becerileri (Ninja'nın Ok Fırtınası dahil).
- Orijinal vuruş hissi: silahın savrulma anı, vuruş alanı, itme mesafesi ve yere serilme orijinal animasyon verisinden ölçülerek aktarıldı. Vuruşu "yaklaşık" değil, orijinalin kendi hesabıyla yapar.
- Orijinal efekt motoru: beceri, aura, yükseltme parıltısı ve vuruş efektleri, orijinal efekt motorunun C#'a birebir aktarılmış haliyle oynar. Efektlerin sesleri de orijinal ses betiklerinden.
- Oklar ve mermiler: okçu ve büyücü canavarların mermileri gerçekten uçar; hasar mermi hedefe vardığında gelir.
- Hasar sayıları: sana gelen hasar kırmızı; kritik ve delici vuruşların kendi efektleri. Sayı, canavarın vuruşu sana değdiği anda çıkar.
- PvP senkronu: diğer oyuncuların vuruşları, itmeleri ve yere serilmeleri senin ekranında da orijinaldeki gibi görünür.
Dünya
- 34 harita, her biri orijinal arazi, doku, engel, su ve obje verisinden kuruldu:
3 imparatorluğun 1. ve 2. köyleri, Seungryong Vadisi, Yongbi Çölü, Hwang Tapınağı, Sohan Dağı, Doyyumhwan, Hayalet Orman, Kızıl Orman, Yılan Vadisi, Devler Diyarı, 3 lonca bölgesi, Örümcek Zindanı (3 kat + Barones yuvası), Şeytan Kulesi (9 kat), Maymun Zindanı (kolay / orta / zor), Sürgün Mağarası (2 kat + Beran-Setaou odası), OX, düğün haritası, lonca savaşı arenası. - Orijinal SpeedTree ağaçları: ağaçlar başka bir paketle değiştirilmedi; orijinal ağaç dosyalarını Unity'ye çeviren kendi aracımızla aktarıldı.
- Zindan ışığı: zindanlar, orijinal oyunun dosyalarına gömülü ışık haritalarıyla aydınlatılır; orijinaldeki karanlık atmosfer korunur.
- Harita efektleri: şelaleler, meşaleler, ışınlanma kapıları, mağara kristalleri orijinal yerlerinde ve yönlerinde.
- Su, sis, gökyüzü: her haritanın kendi orijinal ortam ayarlarıyla.
- Karakter görünür kalır: kamera ile karakter arasına giren ağaç ve bina saydamlaşır.
- Kamera: orijinal görüş açısı ve uzaklık; kamera dağın, tepenin içine girmez.
Arayüz
- Orijinal arayüz birebir: pencereler, orijinal oyunun pencere tanımlarından kuruldu; yerleşim, yazı tipi ve resimler orijinal. Envanter, karakter, beceri, lonca, parti, ticaret, fısıltı, arkadaş listesi, mini harita + atlas, dükkan, depo, nesne market, görev pencereleri.
- Yüksek çözünürlük: 1080p üstünde arayüz kendiliğinden ölçeklenir, keskin kalır.
- Yeni pencereler: orijinalde dağınık ya da hiç olmayan sistemler için oyunla uyumlu yeni pencereler (biyolog, at geliştirme, üretim, çevrimdışı pazar, eşya kilidi, balık oyunu). Ayrıntıları videolu sistemler bölümünde.
- Yeni etki ikonları: çerçeveli küçük ikonlar; şebnem ve iksirlerde kendi ikonu, kalan süre ipucunda.
- Yeni giriş ekranı: kanal seçimi ve 6 kayıtlı hesap; şifreler Windows korumasıyla şifreli saklanır.
- Kopyala / yapıştır: yazı kutularında Ctrl+A, Ctrl+C, Ctrl+X, Ctrl+V.
At ve Binekler
- At: midilliden zırhlı ata, oradan asker atına; at üstünde silaha göre saldırı (kılıç, hançer, yay, çift el) ve 4 sınıfın at becerileri.
- Binekler: Deniz Atı ve Dev Böcek; mühre tıkla bin, bir daha tıkla in. Binikken mühür yuvası parlar.
Oyuncu İçin Ekstralar
- Hoş geldin penceresi: ilk girişte karakterin sınıfına göre başlangıç paketi.
- Kostüm: Melek kostüm seti (zırh + saç, 8 ırk) ve yeni bonus türü: Metin taşlarına karşı güçlü.
- Seviye gizleme: istersen seviyen kimsenin ekranında görünmez.
- Discord "Oynuyor" durumu: karakter adı, sınıf, seviye, harita ve o an ne yaptığı (savaşıyor, Metin taşı kesiyor, balık tutuyor, pazar kurmuş...).
- Pazar masası: pazar kuran oyuncu orijinal pazar masasına dönüşür; çevrimdışı pazar da aynı masa.
Performans
- Addressables içerik sistemi: haritalar, canavarlar, karakterler, sesler ve arayüz ayrı paketlerde; her şey yalnız gerektiği an yüklenir.
- Işık hızında geçişler: karakter seçtikten sonra oyuna giriş yaklaşık 0,6 saniye, ışınlanma ve harita geçişi yaklaşık 0,4 saniye (yerel sunucuda ölçüldü).
- Tam istemci yalnız ~770 MB! 34 harita, 4 sınıf, bütün modeller, efektler, sesler ve müzikler dahil.
- Kalabalıkta akıcı: boss'tan yüzü aşkın eşya düşse de yere düşen eşyalar kareye yayılarak kurulur, oyun takılmaz.
VİDEOLU SİSTEMLER
Çevrimdışı Pazar (Offline Shop)
- Oyundan çıksan da pazarın açık kalır; köyde masa olarak durur, üstünde tabelan.
- Bohça ile kurulur; 80 yuva, ikinci sayfa mühürle açılır.
- Sahip paneli: tabela adı, kalan süre, eşya sayısı, toplam fiyat, biriken Yang ve "Yang Çek".
- Satış geçmişi: son 50 satış; eşya, alıcı, fiyat ve ne zaman satıldığı.
- Oyuna girdiğinde "sen yokken satıldı" bildirimi.
- Fiyat hafızası: aynı eşyayı tekrar koyarken son fiyatın hazır gelir.
- Pazarı istediğin an durdur, düzenle, yeniden aç.
Yeni At Sistemi
- Bütün at işleri Seyis'te tek pencerede: atın aşaması, seviyesi, sıradaki yükseltmenin bedeli ve atın resmi.
- 3 aşama: Midilli (1-10), Zırhlı At (11-20), Asker Atı (21-30).
- Yükseltme bedeli Yang + At Madalyonu; yetiyorsa yeşil, yetmiyorsa kırmızı.
- Seviye 30'da ata binikken bonus: +69 savunma, +100 güç, canavarlara ve Metin taşlarına karşı %20.
- Ölen atı canlandırma ve kaybolan at kitabını yenileme aynı NPC'de.
- Eski 18 ayrı at görevinin yerini tek sistem aldı.
Biyolog Sistemi
- Bütün araştırmalar tek pencerede; 8 araştırma hep görünür: biten, sıradaki, kilitli.
- Bekleme süresi YOK: eşyan varsa art arda teslim edersin.
- Başarı şansı %60, Araştırmacının Özütü ile %90; özüt envanterdeyse kendiliğinden kullanılır.
- Şans koruması: 3 başarısız teslimden sonraki teslim kesin başarılı.
- İlerleme ve şans koruması göstergeleri; araştırma bitince kalıcı ödül ve ödül sandığı.
Balıkçılık Mini Oyunu
- Oltayı attığın an mini oyun açılır; balığın vurmasını beklemek yok.
- Yayı ger, nişan al, bırak: 3 isabet = balık kesin senin.
- Nadir balık daha hızlı yüzer; iyi olta ve yem nişan dairesini büyütür.
- Hiç ıskalamadan 3'te 3 = daha uzun balık. Iskalamak süreden yer.
- Balık tablosu Türkçeleştirildi; tutulamayan ve işlevsiz balıklar temizlendi.
Eşya Kilidi
- Köy Gardiyanı'nda "Eşya Kilidi": silah ve zırhını kilitle.
- Kilitli eşya verilemez, takas edilemez, yere atılamaz, satılamaz, pazara konamaz, ölünce düşmez, yükseltilemez.
- Kilidi açmak 3 gün sürer (gerçek zaman); istersen iptal edebilirsin. Hesabın çalınsa bile eşyan hemen gitmez.
- Kilitli eşyanın yuvasında rozet, ipucunda kilit satırı; depoya koymak ve giymek serbest.
Envanter Mührü (4 Sayfa Envanter)
Linkleri görebilmek için
giriş yap veya kayıt ol.
- Envanter 4 sayfa, 180 hücre.
- III. ve IV. sayfa kilitli başlar; Envanter Mührü'nü kilitli hücreye sürükleyerek açarsın.
- Açılan hücreler kalıcıdır.
Üretim ve Dönüşüm (Baek-Go)
Linkleri görebilmek için
giriş yap veya kayıt ol.
- Baek-Go'da iki pencere: Üretim (bitki + boş şişe → şebnem) ve Dönüşüm (5 şebnem → Kritik, Delici ve Ejderha Tanrı iksirleri).
- Solda tarif listesi; sağda malzemeler adlarıyla, elindeki / gereken: yetiyorsa yeşil, eksikse kırmızı.
- Tek tıkla üretim; ücret ve sonuç pencerede.
- Şebnemler sabit değerli ve 50'ye kadar üst üste biner.
HD Lonca Amblemi ve Lonca Bayrağı
Linkleri görebilmek için
giriş yap veya kayıt ol.
- HD amblem (64x48): oyuncu adının üstünde ve lonca penceresinde net görünür; eski küçük amblem de yanında çalışır.
- Lonca bayrağı (64x128): lonca arsasındaki bayrak direğinde görünür.
- Resmi Windows dosya penceresinden seçersin; yalnız lonca lideri yükleyebilir, sunucu doğrular.
- Her haritadan yüklenebilir.
Yeni OX Yarışması
Linkleri görebilmek için
giriş yap veya kayıt ol.
- Tamamen otomatik: GM, mektuptan kişi sınırını, giriş süresini ve ödülü seçer; gerisini sunucu yürütür.
- Soru ekranda sabit panoda, geri sayımla; süre bitince doğru cevap.
- Yanlış bilen seyirciye geçer; tek kişi kalınca ödül verilir ve kazanan duyurulur.
- 160 soru.
Sistem Seçenekleri
Linkleri görebilmek için
giriş yap veya kayıt ol.
- Efekt ve müzik sesi, müzik değiştirme, kamera uzaklığı.
- Pencere / tam ekran, çözünürlük ve gölge kalitesi oyun içinden.
- Haritaya özel müzikler.
- Oyun seçeneklerinde seviyeni gizleme ve Discord durumunu açıp kapama.
Sihirdar Vadisi (5'e 5 MOBA Modu)
Linkleri görebilmek için
giriş yap veya kayıt ol.
- Metin2 içinde LoL tarzı takım savaşı: Mavi ve Kırmızı takım, 3 koridor, takım başına 6 kule.
- Oda sistemi: Köy Gardiyanı'ndan pencereyi aç, oda kur ya da bir odaya katıl, takımını kendin seç; odayı kuran maçı başlatır. 1'e 1 ve 5'e 5.
- Her maç kendi harita kopyasında oynanır; aynı anda birden fazla maç.
- Herkes gelince 10 saniye geri sayım, ardından her 30 saniyede bir iki taraftan köpek dalgaları koridorlara akar.
- Kuleler gerçek MOBA kuralıyla atar: önce menzildeki köpeklere; kulenin takımından bir oyuncuya vuran rakip kule menzilindeyse, kule ona döner. Yıkılan kule parçalara ayrılarak yere saçılır.
- Can iksiri yok: can yalnız kendi üssünde ve karşı takımın köpeklerine vurdukça dolar.
- Ölünce eşya ya da EXP kaybı yok; 40 saniye sonra kendi üssünde doğarsın.
- TAB ile skor tablosu: öldürme, ölüm, yıkılan kule ve öldürülen köpek; kule yıkılınca herkese duyuru.
- Karşı takımın Ana Kulesi'ni yıkan takım kazanır.
- Mod çalışıyor, geliştirmesi sürüyor.
SUNUCU TARAFINDAKİ YENİLİKLER
Oynanış
- Otomatik Yang: canavar Yang'ı yere hiç düşmez, boss para yağmuru dahil. Doğrudan en çok hasar verenin hesabına gelir, grupta yakındaki üyelerle paylaşılır. Üçüncü El takana +%20.
- Anında ölüm: canavarlar 3 saniye sersem beklemeden ölür; düşen eşya, EXP ve Metin taşı muhafızlarının ölümü anında. Oyuncular için orijinal kural aynen.
- Ruh Taşı: ekleme şansı %50. Başarısız olursa taş gider, yuva boş kalır; yuvaya kırık parça yazılmaz.
- Vergisiz ticaret: NPC'ye satıştaki %3 vergi ve alım vergisi kaldırıldı.
- Beceri puanı: M seviyesi 17. seviyede kesin. Toplam beceri puanı sınıfın beceri sayısına göre hesaplanır; hiçbir beceri yarım kalmaz.
- Durum puanı: Shift + tık ile 10 puan tek seferde, oyundan atılma yok.
- EXP oranı: sunucu genelinde 2 kat; tek komutla değiştirilebilir.
- Şebnemler: her şebnem sabit değerli ve 3 saat sürer; 50'ye kadar üst üste biner. Dönüşüm iksirleri de 3 saat, şebnemlerle birlikte çalışır.
- Otomatik iksir: Güneş Özütü (HP) ve Ay Özütü (SP) eklendi; sağ tıkla aç / kapat.
- Beceri kitapları: Liderlik, Kombo, Dönüşüm ve Madencilik kitaplarının düşme oranları artırıldı.
- Lonca savaşı: yalnız arenada; köyde savaştaki loncanın üyesine saldırı yok.
- Boşanma: eşin gerekmeden tek taraflı boşanma (1 milyon Yang).
- Işınlayıcı: hedef listesi baştan yazıldı; sayfalı, olmayan haritalara giden seçenekler temizlendi.
- Demirci: işlevsiz menü seçenekleri kaldırıldı; tıklayınca tek satır yol gösterir, eşyayı demirciye sürükleyip yükseltirsin.
- Çıkış: "Çıkış" 3 saniye sayar; "Karakter Değiştir" ve "Oyun Sonu" beklemez.
- Sürgün Mağarası ve Barones yuvası: görevi, düşüşleri ve canavar değerleriyle sunucu tarafında baştan kuruldu.
Yönetim Betikleri
- Güvenli kapatma: oyunda duyuru ve 60 saniye geri sayım, ardından oyunun kendi 10 saniyelik sayacı. Önce oyun çekirdekleri her karakteri kaydederek kapanır, en son veritabanı çekirdeği. Kapanınca veritabanının yedeği otomatik alınır, son 10 yedek saklanır.
- Tek komutla açılış: açmadan önce denetim yapar, her çekirdeğin portunu dinlemeye başlamasını bekler.
- Günlük temizliği: sunucu açıkken çalışmaz; bir önceki hata günlüğünü saklar.
- Sıfırlama aracı: yeni sunucu açılışı için. Önce "dene" kipiyle neyin silineceğini sayılarıyla gösterir. Karakterleri, eşyaları, loncaları ve günlükleri ya da istersen hesapları da tek komutla siler. Silmeden önce tam yedek alır, oran ayarlarını korur.
- EXP oranı: tek komutla gösterilir ve değiştirilir; sunucu açıksa anında etkili olur.
- Okunabilir veri dosyaları: düşüş dosyalarında Korece adlar yerine eşya numarası ve Türkçe açıklama; balık tablosu Türkçe.
- Bütün betikler yaptıklarını tek bir günlük dosyasına yazar.
GM Araçları
- Tam set komutu: baştan yazıldı. Karakterin sınıfına göre bütün becerileri en yüksek seviyeye çıkarır, +9 seti giydirir, efsunları canlı efsun tablosunun en üst değerleriyle basar.
- Yeniden başlatmadan GM: GM listesine eklenen ya da çıkarılan hesap, sunucu kapanmadan anında yetki alır ya da kaybeder.
- Haritadan ışınlanma: GM, atlas haritasına sağ tıklayıp oraya ışınlanır. Atlası olmayan zindanlarda harita, engel verisinden kendiliğinden çizilir.
- Oran mektubu: GM'e özel mektuptan eşya, Yang ve EXP oranlarını süreli olarak açıp kapatır; oyuncular duyuruyla haberdar olur.
- OX yönetimi: kişi sınırı, giriş süresi ve ödül tek mektuptan.
- Her haritaya ışınlanma: bütün haritalar harita numarasıyla ışınlanma listesinde.
KAPATILAN AÇIKLAR VE DÜZELTİLEN HATALAR
Sunucu tarafında işe "çalışıyor" görünen yerlere güvenmeden başladık. Her sistemi canlı kaynaktan, çağrıldığı her yerle birlikte okuduk; veri dosyalarını sunucunun kendi okuyucusunu taklit eden araçlarla satır satır taradık.
Piyasada dolaşan 94 maddelik hazır "açık / fix" listesini de tek tek kaynağımızla karşılaştırdık: 27'si zaten vardı, 11 gerçek eksik kapatıldı. Hazır kodları körü körüne yapıştırmadık; listedeki bazı "fix"ler zararlıydı (biri oyuncunun bütün komutlarını kapatıyor, biri grubun tek üyesi çıkınca herkesi zindandan atıyordu). Her düzeltme kendi kaynağımıza göre yeniden yazıldı, belgelendi ve geri alınabilir şekilde yedeklendi.
Aşağıdaki liste bu çalışmanın özeti.
1) Sunucuyu Çökerten Hatalar
- NPC'ye lonca daveti: lonca daveti bir NPC'ye gönderildiğinde çekirdek çöküyordu. Davet artık yalnız bağlantısı olan oyunculara gider.
- Görev yenileme + açık pencere: görevler yeniden yüklenirken ekranında görev penceresi açık olan oyuncu cevap verince kanal çöküyordu. Yenilemede askıdaki bütün görev pencereleri güvenle kapatılıyor; çökme dökümüyle teşhis edildi, düzeltildi.
- Boş görev kaydı: görev bayrağı okuma / yazma, kaydı olmayan oyuncuda çekirdeği çökertiyordu.
- Üretim penceresi taşması: malzeme satırını okuyan kodda bellek taşması vardı (iki ayrı yerde). Kapatıldı.
- Bayrak savaşı: eksik veri yüzünden bayrak savaşı açıldığı an çekirdeği çökertiyordu. Sistem kaynağıyla birlikte söküldü; lonca savaşı artık yalnız arenada.
- Binekle ışınlanma: binek etkisi girişte geç yüklendiği için o sırada yürüyen oyuncu geçersiz konuma düşüp oyundan atılıyordu. Giriş anındaki yürüyüş düzeltildi, etkiler artık girişte anında (1 sn yerine 40 ms) yükleniyor.
- Harita sınırı: bir çekirdek 32'den fazla harita açtığı için son 5 harita diğer çekirdeklere hiç duyurulmuyordu; diğer kanallardan o haritalara geçiş sorun çıkarıyordu. Harita dağılımı düzenlendi.
2) Eşya Çoğaltma ve Eşya Hileleri
- Görev açıkken eşya kullanma: görev penceresi beklerken eşya kullanılabiliyordu. Artık sunucu reddediyor.
- Depo + ekipman: depo açıkken eşya giyip çıkarmak, giyili eşyayı depoya koymak, depodan doğrudan ekipman yuvasına çekmek mümkündü. Üçü de kapatıldı.
- Ölüyken eşya işlemi: ölü karakter eşya kullanabiliyor, giyebiliyor, taşıyabiliyor, atabiliyor, takas edebiliyordu. Artık ölüyken kullanma, giyme, çıkarma, taşıma, atma, verme, yükseltme, takas, depo, yerden alma, NPC'ye tıklama ve dükkandan / pazardan alma kapalı.
- Binek mührü: bindiğin bineğin mührü başkasına verilebiliyordu. Binerken o mühür verilemez, takas edilemez, atılamaz, satılamaz, pazara ve depoya konamaz.
- Çıkış koruması: takas, depo ve pazar işleminden sonraki çıkış beklemesi (çoğaltma koruması) korundu; ESC menüsündeki gereksiz savaş beklemeleri kaldırıldı.
- Şeytan Kulesi demircisi: yükseltme hakkı, yükseltme gerçekleşmese bile siliniyordu. Hak artık yalnız işlem başarıyla yapılınca düşer.
- Grup ganimeti: grup üyesinin eşyasını alınca eşya sahibinin elindeki yığına eklenmeyip ayrı hücre kaplıyordu. Düzeltildi.
3) Güvenlik
- Lonca amblemi: orijinal kaynakta amblem yüklemede hiçbir kimlik kontrolü yoktu; hileli bir istemci herhangi bir loncanın amblemini değiştirebiliyordu. Artık yalnız lonca lideri, kendi bağlantısının gizli anahtarıyla doğrulanarak yükleyebilir; yetkisiz deneme kayda geçer.
- Lonca bayrağı: bayrak yüklemesi de lider doğrulamalı; dosyanın gerçekten JPG olup olmadığı içeriğinden denetlenir, değilse bağlantı kesilir.
- Amblem devri: yeni kurulan lonca, aynı numaradaki eski (silinmiş) loncanın amblemini devralıyordu. Kapatıldı.
- Amblem kayıt dosyası: her çekirdek amblem dizinini kendi bayat belleğinden diske yazıyordu; amblemler karışıyor, kayboluyordu. Dizini artık yalnız amblem sunucusu yazar.
- Arkadaş listesi: arkadaş silmede hesap adı veritabanına kaçışlanmadan gidiyordu; boş ya da sınırdan uzun adlar da kabul ediliyordu. Kaçışlama ve sınır eklendi.
- Çekirdekler arası bağlantı: veritabanı çekirdeği yalnız yerel adresten dinler, dışarıdan görünmez. İzinsiz P2P bağlantıları reddedilir ve hata günlüğüne yazılır; çok makineli kurulum için izinli adres listesi eklendi.
- Eski giriş sistemleri: kullanılmayan "matrix kart" ve passpod giriş kodları kaynağından söküldü; giriş yolu sadeleşti.
4) Çalışmayan ya da Yarım Kalmış Sistemler
- Canavardan hiç düşmeyen 70 eşya: düşüş dosyası (etc_drop) 2017'den beri boştu; yükseltme malzemeleri ve biyolog eşyaları canavarlardan hiç düşmüyordu. Dosya dolduruldu.
- Hiç düşmeyen 82 ortak düşüş: kayık yazılmış satırlar yüzünden 82 düşüş kaydı hiç işlemiyordu. Satırlar doğru dizilimde yeniden yazıldı.
- Kaynağı olmayan malzemeler: Akrep Kuyruğu+, Yılan Kuyruğu+ ve Eskrim Broşürü'nün oyunda hiçbir kaynağı yoktu; ilgili canavarlara ve boss sandıklarına bağlandı.
- Etkisiz eşyalar: Üçüncü El, Tecrübe Yüzüğü, Hırsız Eldiveni, Balıkçılık Kılavuzu, Liderin Kitabı, Genişletilmiş Depo ve Altın Şans Parası tanımları eksik olduğu için takılıyor ama hiçbir şey yapmıyordu. Hepsi çalışıyor.
- Efsun tablosu: 8 bozuk satır efsun eklemenin sessizce başarısız olmasına yol açıyordu. Temizlendi.
- Boss sandıkları: Lusifer ve Barones sandıklarında çift tanımlı 28 satır hiç çıkmıyordu. Düzeltildi.
- Doğmayan gruplar: lideri tanımsız gruplar sessizce hiç doğmuyordu: köyde gezen NPC grupları, Örümcek Zindanı 2. katta boş geçen turlar. Tarandı, düzeltildi.
- Karakter silme: bu sunucuda karakter silme hiç çalışmıyordu (veritabanı sorgusunda tablo adı hatası). Ayrıca yeni karakter açtıktan sonra 30 saniye ikinci karakter açılamıyordu. İkisi de düzeltildi.
- İmparatorluk değiştirme: gerekli tablo hiç yoktu; gruptayken işlem sessizce başarısız oluyordu; başarılı olsa bile yeniden girişe kadar eski imparatorluğun kuralları işliyordu. Üçü de düzeltildi.
- Lusifer sonrası: Şeytan Kulesi'nde Lusifer ölünce oyuncular dışarı atılmıyordu (görevde tanımsız bir metin yüzünden Lua hatası). Düzeltildi, 30 saniye sonra şehre ışınlanıyorsun.
- Sürgün Mağarası girişi: giriş oyuncuyu duvarın içine ışınlıyordu. Doğru noktaya alındı.
- Ok Fırtınası: becerinin türü veritabanında boştu; kritik, delici ve beceri hasarı bonusları hiç işlemiyordu. Düzeltildi.
- Üretim listesi: üretim penceresinin tarif listesi ilk açılışta gelmiyordu. Düzeltildi.
- GM araçları: GM yetkisini yenileme komutu veritabanına boş paket gönderiyordu, hiçbir şeyi yenilemiyordu; set verme komutu küpeyi takmıyordu. İkisi de düzeltildi.
- Ekonomi günlüğü: para günlüğü tablosu yanlış kolonlarla kuruluydu, saatlik ekonomi özeti hiç yazılmıyordu. Düzeltildi.
- Kehribar zinciri: eritme fırını cevheri ve Yang'ı alıp eşya vermiyordu; zincirin damarı ve binası da oyunda yoktu. Zincir kalıntısız kaldırıldı.
5) Oynanış Hataları
- Canavar köye girmesi: canavarlar güvenli alana girip köydeki oyunculara saldırabiliyordu. Artık güvenli alandaki oyuncuyu hedef almazlar, kovalarken bırakırlar, yürüyerek ya da itilerek giremezler.
- Duvar içine itme: Hamle ve Kılıç Darbesi canavarı duvarın, nesnenin hatta haritanın dışına itebiliyordu. İtme artık engelin önünde durur.
- Cesaret Pelerini: canavarlar pelerinin basıldığı noktaya koşup oyuncuyu ancak oraya varınca fark ediyordu. Artık hedefi yol boyunca takip ederler.
- Beceri sıfırlama: beceri sıfırlandığında o becerinin aurası ve etkileri üstünde kalıyordu. Artık kalkar (iksirlere dokunmadan).
- Arkadaş silme: silme tek taraflıydı, karşı tarafın listesinde kalıyordun. Artık iki taraftan da anında silinir.
- Ata binip inme: binip inince can / mana oranı bozuluyordu. Artık oran korunur. Seri binip inme ve kamp ateşi kötüye kullanımı da sınırlandı.
- Bozuk mesajlar: balık tutarken sohbete Tayvanca kodlanmış bozuk yazılar düşüyordu; lonca savaşı başlarken çevirisi olmayan bir satır gidiyordu. Düzeltildi.
- Sunucu - istemci hız farkı: 18 canavarın sunucudaki yürüme hızı istemcidekinden farklıydı; canavar ekranda bir yerde, sunucuda başka yerde duruyordu. Bütün canavarlar tek tek karşılaştırıldı, fark sıfırlandı.
6) Temiz Kaynak, Temiz Açılış
- Ejderha Taşı, hükümdar, kale kuşatması, üç imparatorluk savaşı, piyango, SMS, lisan, cep telefonu, eski düello arenası gibi ölü ya da yarım sistemler kaynak kodundan, veritabanından ve veri dosyalarından kalıntısız söküldü.
- Hiçbir sorgunun kullanmadığı 17 veritabanı tablosu ve 32 gereksiz hesap kolonu kaldırıldı.
- Her açılışta hata günlüğüne düşen gereksiz satırların kaynağı tek tek bulundu ve kapatıldı. Sunucu artık her çekirdekte temiz bir hata günlüğüyle açılıyor; günlüğe düşen her satır gerçek bir sorun demek.
GELİŞTİRİCİ ARAÇLARI
Projeyi alan kişi yalnız bitmiş bir oyun değil, onu büyütecek araçları da alır. Yeni harita, canavar, efekt ya da eşya eklemek elle saatler süren bir iş değil; çoğu tek menüdür.
Unity Editörü İçinde
- Harita aktarma hattı: bir Metin2 haritası tek menüyle Unity sahnesine kurulur: arazi, doku katmanları, engel / su / güvenli bölge verisi, sis + ışık + gökyüzü, su yüzeyi, bütün objeler, orijinal ağaçlar, harita efektleri, mini harita ve tıklama yüksekliği. Açık haritalar ve zindanlar (ışık haritalı bloklar) ayrı ayrı desteklenir.
- Canavar / NPC hattı: orijinal model ve animasyon dosyasından hazır, animasyonlu, sesli prefab; saldırı zamanlaması ve vuruş verisi orijinal dosyalardan otomatik üretilir.
- Efekt aktarıcı: orijinal efekt dosyalarını içe aktarır ve editörde oyundakiyle aynı motorla önizler.
- NPC Yön Editörü: haritanın bütün NPC'lerini sahnede modelleriyle görürsün; yönlerini serbest açıyla, yerlerini sürükleyerek değiştirirsin. Değişiklikler sunucuya tek komutla, yedek alınarak uygulanır.
- Engel Fırçası: haritaya engel, su ve güvenli bölge boyarsın; kenarlar yumuşak, yarım metre inceliğe kadar.
- Önizleme ve denetim menüleri: pencereler, modeller, efektler ve haritalar oyunu açmadan resim olarak alınır; zindanlarda düşülecek boşluk taraması, at becerisi ve ses verisi denetimi gibi kontrol menüleri.
- Hızlı derleme: içerik paketleri değişmediyse paketleme adımı atlanır; yalnız kod değişince derleme dakikalar yerine saniyeler sürer.
EKRAN GÖRÜNTÜLERİ
SATIŞ
Türkiye'de bir ilk: kaynak koduyla birlikte satılan Unity Metin2 projesi.
SATIŞ
Türkiye'de bir ilk: kaynak koduyla birlikte satılan Unity Metin2 projesi.
Paket İçeriği
- Unity istemcisi: projenin tamamı, kaynak koduyla.
- Sunucu dosyaları: her şeyiyle.
- Bu konuda anlatılan bütün sistemler, araçlar ve düzeltmeler pakete dahildir.
Tek Kişiye Satış
Kaynak kodu yalnız bir kişiye satılacaktır. Satıştan sonra proje başka kimseye satılmaz.
1 Ay Tam Destek
Satın alan kişiye 1 ay boyunca tam destek verilir:
- İstemediğin sistem sökülür, istediğin sistem eklenir.
- Açacağın oyunun tarzına göre proje baştan sona düzenlenir.
- Projenin ve araçların kullanımı öğretilir.
Test
Test imkânı yalnız ciddi alıcılara, görüşmeden sonra verilir.
Fiyat ve İletişim
Fiyat teklif usulüdür. Teklifinizi konuya yorum olarak yazabilir ya da bize özelden ulaşabilirsiniz:
- MMOTutkunları: Özel Mesaj
- Discord: rand06m
Peki hocam saol