Merhaba arkadaşlar,
Ultima Online ekosistemindeki oyuncu deneyimini modernize etmek ve platform bağımsız kararlı bir bağlantı sunmak adına üzerinde çalıştığım launcher projesinin teknik detaylarını ve mimari şemasını paylaşmak istiyorum.
Mevcut üçüncü parti başlatıcıların getirdiği kararsızlıkları ve platform bağımlılıklarını ortadan kaldırmak adına, projenin launcher kod tabanını Rust ile sıfırdan inşa ettim. Geliştirdiğim bu özel (kapalı kaynak) launcher; açık kaynaklı ClassicUO istemcisini hedef işletim sisteminde yerel (native) olarak derleyip çalıştırıyor ve bu istemcinin açık kaynaklı ServUO emülatör sunucularına doğrudan, kayıpsız bir şekilde bağlanmasını sağlıyor.
Projenin Teknik Mimarisi
Sistem, açık kaynak dünyasının en güçlü iki projesini (ClassicUO ve ServUO) performans odaklı Rust köprüsüyle bir araya getiriyor:
[Özel Rust Launcher] │ ├──> [ClassicUO] (Hedef OS üzerinde Native Derleme) │ └───(Doğrudan Bağlantı)───> [ServUO Sunucu Altyapısı]
Mimari Yaklaşım ve Rust Seçimi
Projenin arkasında Rust dilini tercih etmemin en büyük sebebi; uygulamanın runtime (çalışma zamanı) performansının maksimumda olması, bellek yönetiminin güvenli yapılması (memory safety) ve arka planda sistem kaynaklarını neredeyse hiç tüketmemesidir.
Launcher kapalı kaynak bir mimariye sahip olsa da, tetiklediği ve yönettiği tüm süreçler açık kaynaklı ekosistem standartlarıyla tam uyum içinde çalışmaktadır.
1. Linux Dağıtımları (CachyOS) ve Native Derleme Süreci
Linux tarafındaki en büyük sorun, istemcilerin Proton veya Wine gibi emülasyon/uyumluluk katmanlarına sıkışmasıdır. Bu projede bu yaklaşımı tamamen terk ettik.
Katmansız ClassicUO Deneyimi: Launcher, açık kaynaklı ClassicUO projesini doğrudan Native Linux olarak derleyip ayağa kaldırır.
CachyOS ile Kusursuz Entegrasyon: Özellikle kernel optimizasyonlarıyla bilinen Arch tabanlı CachyOS üzerinde yaptığım kararlılık ve stres testlerinde, yerel derlenen ClassicUO'nun donanım kaynaklarına (CPU/GPU) doğrudan eriştiğini doğruladım. Sonuç; sıfır katman gecikmesi ve thread çakışmalarından uzak bir Linux oyun deneyimi.
2. Windows Platformu ve Yerel Optimizasyon
Windows kullanıcılarının en güncel işletim sistemi sürümlerinde sorunsuz bir süreç yaşaması için istemciyi bu platformda da tamamen yerel olarak ayağa kaldırıyoruz.
Native Windows Derlemesi: ClassicUO projesinin Windows sürümünü yerel mimaride derleyerek, Windows 10 ve Windows 11'in ağ ve grafik API'leriyle doğrudan konuşmasını sağladım.
Hafif Arka Plan Servisi: Rust'ın getirdiği hafiflik sayesinde launcher, arka planda çalışırken donanımınızı yormaz; ani FPS düşüşlerine (stuttering) veya bellek sızıntılarına (memory leak) yol açmaz.
ServUO Bağlantısı ve Dosya Bütünlüğü (Integrity)
Rust tabanlı bu yeni altyapı, ClassicUO'nun ServUO sunucu mimarilerine bağlanma sürecindeki dosya yönetimini ve kararlılığı en üst düzeye çıkarıyor:
Hızlı Dosya Doğrulama: ServUO sunucularının ihtiyaç duyduğu güncellemeler ve özel dosya değişiklikleri (mul/uop vb.), Rust'ın çoklu iş parçacığı (multi-threading) gücüyle yerel API'ler üzerinden anlık olarak taranır ve hızlıca doğrulanır.
Sade ve Odaklanmış Arayüz: Karmaşık terminal komutlarına veya harici konfigürasyon dosyalarına gerek bırakmayan, ServUO tabanlı herhangi bir sunucu adresine kolayca yönlendirilebilen, her iki platformda da hızlıca stabil çalışan sade bir arayüz tasarlanmıştır.
Modern teknolojileri ve açık kaynak dünyasının güçlü altyapılarını bir araya getirerek hayata geçirdiğim bu launcher projesi, ServUO altyapısını kullanan toplulukların Linux ve Windows platformlarındaki oyunculara çok daha performanslı bir deneyim sunabilmesi adına önemli bir adımdır.
