Metin2 WebClient – Tarayıcıdan Metin2 Oyna | Linux Server Files & Open Source - en iyisi
admin
Katılım
23 Eki 2022
Mesajlar
9,697
Çözümler
14
Tepkime puanı
9,381
Puanları
113
Yaş
28
Web sitesi
farming-simulator.r10dev.net

[Release] Metin2 WebClient – Tarayıcıdan Metin2 Oynayın | Linux Server Files & Open Source

Metin2'yi Artık Tarayıcıdan Oynayabilirsiniz

Merhaba arkadaşlar,

Metin2 server geliştirme ve singleplayer server projeleriyle ilgilenenler için oldukça dikkat çekici bir proje paylaşmak istiyorum.

Metin2 WebClient, oyunu klasik Windows istemcisini indirmeye gerek kalmadan doğrudan Chromium tabanlı web tarayıcıları üzerinden çalıştırmayı amaçlayan açık kaynaklı bir sistemdir.

Proje aynı zamanda yalnızca WebClient'tan ibaret değil. Linux üzerinde çalışabilen Metin2 server altyapısı, Docker desteği, web tabanlı yönetim paneli ve klasik Windows Client ile birlikte kullanılabilen bir yapı sunuyor.
metin2 web client.webp


Projenin GitHub repository'si:


🚀 Metin2 WebClient Nedir?

WebClient sayesinde Metin2 istemcisini oyuncunun bilgisayarına klasik şekilde kurmadan, desteklenen Chromium tabanlı tarayıcı üzerinden çalıştırabilirsiniz.

Başlıca özellikler:

  • 🌐 Tarayıcı üzerinden Metin2 oynama
  • 💻 Windows Client desteği
  • 🔄 WebClient ve Desktop Client arasında crossplay
  • 📦 İlk aşamada büyük bir client indirme gerektirmeyen yapı
  • ⚡ Oyun verilerini ihtiyaç oldukça yükleme
  • 🧠 Daha düşük başlangıç bellek kullanımı
  • 🔐 HTTPS ve domain desteği
  • ☁️ Cloudflare arkasında çalıştırabilme
  • 👤 Web üzerinden hesap kayıt sistemi
  • 🛠️ Web Admin Panel
  • 🐳 Docker tabanlı server kurulumu
  • 🐧 Linux VPS desteği
  • 🇹🇷 Türkçe, 🇬🇧 İngilizce ve 🇩🇪 Almanca yönetim paneli
WebClient şu anda Chromium tabanlı tarayıcılarda test edilmiştir:

  • Google Chrome
  • Microsoft Edge
  • Brave
Oyuncunun tarafında Java, plugin veya ek bir browser eklentisi gerektirmez.


🎮 WebClient ile Desktop Client Aynı Sunucuyu Kullanıyor

Sistemin önemli özelliklerinden biri WebClient ve klasik Windows Client'ın aynı server altyapısını kullanabilmesidir.

Örneğin:

Oyuncu A
→ Tarayıcıdan giriş yapar.

Oyuncu B
→ Windows Client üzerinden giriş yapar.

İki oyuncu aynı server üzerinde karşılaşabilir.

Ayrıca karakter WebClient üzerinden oluşturulup daha sonra Windows Client ile açılabilir.

Bu özellik özellikle browser tabanlı Metin2 sunucuları oluşturmak isteyen geliştiriciler için oldukça kullanışlıdır.


🖥️ Metin2 Server Altyapısı

Projenin arkasındaki sistem yalnızca WebClient değildir.

Repository, 2014 dönemindeki r40250 tabanını Linux üzerinde çalıştırmayı hedefleyen bir server altyapısı sunmaktadır.

Orijinal server binaries yapısı FreeBSD üzerinde çalıştığı için proje içerisinde Linux portu hazırlanmıştır.

Port tarafında kqueue → epoll dönüşümü, signal handling, 32-bit build ve çeşitli uyumluluk çalışmaları yapılmıştır.

Projenin server tarafı Docker ile paketlenmektedir. Böylece game core'lar, MariaDB, admin panel ve client builder aynı compose yapısı içerisinde çalıştırılabilir.

Kaynakta ayrıca server altyapısının Linux ve Docker odaklı olduğu, eski FreeBSD installer'ın repository'den kaldırıldığı belirtiliyor.


🐳 Docker Desteği

Kurulum Docker Compose üzerinden gerçekleştirilebilir.

Temel yapı:

docker compose up -d --build

Docker yapısında genel olarak:

  • Metin2 Game Core
  • MariaDB
  • Web Admin Panel
  • Client Builder
gibi bileşenler bulunur.

Bu sayede server bileşenlerinin birbirinden ayrılmış ve yönetilebilir bir şekilde çalıştırılması amaçlanmıştır.


🛠️ Web Admin Panel

Projenin bir diğer önemli bölümü web tabanlı Admin Panel'dir.

Panel Flask ile hazırlanmıştır ve:

  • İngilizce
  • Almanca
  • Türkçe
dillerini destekler.

Panel üzerinden çeşitli oyun yönetimi işlemleri yapılabilir.

Admin Panel Özellikleri

  • Oyuncu hesaplarını yönetme
  • Item verme
  • Yang verme
  • Level verme
  • EXP oranını değiştirme
  • Drop oranını değiştirme
  • Yang oranını değiştirme
  • Game Master yetkisi verme
  • Password reset işlemleri
  • Oyun dilini değiştirme
  • Oyuncu yönetimi
Sistem toplam 15 farklı oyun dili için yapılandırma desteği sunmaktadır.


⚙️ Server Rate Ayarları

Admin Panel üzerinden server'ın temel oranlarını değiştirebilirsiniz.

Örneğin:

EXP Rate
Drop Rate
Yang Rate

Bu sayede server'ın daha klasik veya daha hızlı ilerleyen bir yapıya dönüştürülmesi mümkün olur.

Ancak rate değişikliklerinin oyun tarafından başlangıçta okunması nedeniyle rate değişikliklerinden sonra game server'ın yeniden başlatılması gerekir.

Kaynak dokümantasyonda bunun oyuncuların bağlantısının kısa süreli kesilmesine neden olabileceği belirtiliyor.


🐧 Linux Metin2 Server Kurulumu

Proje Ubuntu ve Debian tabanlı Linux sistemlerde çalıştırılabilir.

Desteklenen ortamlar:

  • Ubuntu 22.04
  • Ubuntu 24.04
  • Debian 12
  • Debian 13
  • Windows 10/11 + Docker Desktop (local kullanım)
Önerilen minimum kaynaklar:

ÖzellikGereksinim
CPU Architecturex86 Intel/AMD
RAM4 GB
Build RAMİlk build sırasında 8 GB
Disk40 GB
NetworkIPv4
OSUbuntu / Debian
RootGerekli
ARM sistemler desteklenmemektedir.

Ayrıca yalnızca IPv6 adresine sahip VPS'ler de desteklenmez.

Bu sınırlamalar server tarafındaki 32-bit/x86 ve eski Metin2 network yapısından kaynaklanmaktadır.


📥 Linux Tek Komut Kurulum

Linux VPS üzerinde temel kurulum:

Installer;

  • sistemi kontrol eder,
  • Docker kurulumu gerçekleştirir,
  • server'ı hazırlar,
  • build işlemini yapar,
  • container'ları başlatır,
  • firewall yapılandırmasını yapar,
  • panel adresini oluşturur.
Aynı installer'ın tekrar çalıştırılması da desteklenmektedir.


🪟 Windows Local Kurulum

Windows üzerinde local/singleplayer kullanım için PowerShell üzerinden:

irm https://raw.githubusercontent.com/A...-serverfiles-linux/main/installer/install.ps1 | iex

Windows kurulumunda servisler 127.0.0.1 adresine bağlanır.

Bu nedenle dışarıdan erişim açılmaz ve firewall üzerinde public server portu oluşturulmaz.

Bu yapı özellikle:

  • Singleplayer
  • Local test
  • Development
  • Server file testleri
için kullanılabilir.


🌐 Domain + HTTPS

Server'ınızı public olarak kullanmak istiyorsanız domain tanımlayabilirsiniz.

Domain ile:

Panel
Registration
Game

aynı domain altyapısı altında çalıştırılabilir.

Let's Encrypt üzerinden HTTPS desteği de bulunmaktadır.

Örnek:

curl -fsSL https://raw.githubusercontent.com/A...r-serverfiles-linux/main/installer/install.sh \
| sudo sh -s -- \
--domain yourdomain.com \
--email contact@yourdomain.com

Cloudflare DNS kullanımı da desteklenmektedir.

Cloudflare üzerinde DNS kaydını proxy arkasına almak mümkündür.


📁 Proje Dosya Yapısı

Repository içerisinde temel olarak şu bölümler bulunmaktadır:

files/
installer/
linux-port/
LICENSE
NOTICE.md
CONTRIBUTING.md
TUTORIAL.md
UPDATING.md
UNINSTALL.md

files/

Panel, item index, server-file profile ve SQL yapılandırmaları burada bulunur.

installer/

Linux ve Windows için tek komutluk installer dosyaları.

linux-port/

Metin2 server'ın Linux'a port edilmesiyle ilgili patch ve dokümantasyon.

Örneğin:

linux-port/
├── patches/
├── fetch-sources.sh
├── README.md
├── PORT40250.md
├── RUNTIME.md
├── FDWATCH-BUG.md
├── PLAYTEST.md
├── VPS-DEPLOYMENT.md
├── client/
└── docker/

Repository'deki bu ayrım, server portu ile installer ve Docker paketlemesinin birbirinden ayrılmasını sağlıyor.


📦 Server Files Neden Repository İçerisinde Yok?

Buraya özellikle dikkat etmek gerekiyor.

Bu proje içerisinde Webzen/Metin2'ye ait game files, client veya server source doğrudan GitHub repository'sine yüklenmemiştir.

Repository'nin amacı:

Server portu + Docker altyapısı + installer + admin panel + tooling
sunmaktır.

Game files çalışma sırasında ayrı kaynaktan alınmaktadır.

Kaynak dokümantasyonda Client/, Source/ ve FreeBSD/ klasörlerinin .gitignore içerisinde tutulduğu ve repository'ye dahil edilmediği belirtilmektedir.


⚠️ Önemli: Server Files Download Problemi

Projenin dokümantasyonunda upstream server-file paketinin MEGA üzerinden sağlandığı ve mevcut durumda bandwidth quota nedeniyle indirme işleminin başarısız olabileceği belirtiliyor.

Bu durumda installer'ın otomatik olarak çözebileceği bir durum bulunmuyor.

Elinizde server files arşivi varsa:

M2_SRC_ARCHIVE=/path/to/serverfiles.zip ./linux-port/fetch-sources.sh

şeklinde manuel olarak gösterebilirsiniz.

Bu nedenle kuruluma başlamadan önce gerekli server-file paketinin erişilebilir olduğundan emin olmanız tavsiye edilir.


🎯 Desteklenen Server Files

Proje şu anda belirli bir server-file profiline odaklanmaktadır:

TMP4 r40250 Reference Serverfile

Bu paket 2014 dönemindeki official r40250 yapısının reconstruction'ı olarak tanımlanmaktadır.

Port patch'i doğrudan bu source tree üzerine uygulanacak şekilde hazırlanmıştır.

Başka bir server file kullanmak istiyorsanız mevcut patch'in doğrudan çalışacağını varsaymamak gerekir.


🌍 WebClient Nasıl Çalışıyor?

WebClient'ın temel mantığı klasik client'tan farklıdır.

Oyunun gerekli verileri başlangıçta tamamen indirmek yerine ihtiyaç oldukça stream edilir.

Bu nedenle ilk açılışta bazı dosyaların yüklenmesi nedeniyle kısa süreli performans düşüşleri veya frame drop görülebilir.

Özellikle:

  • İlk açılış
  • Yeni map
  • Yeni efekt
  • Yeni oyun datası
yüklenirken kısa süreli takılmalar yaşanabilir.

Klasik Windows Client'ın hâlâ daha akıcı olduğu ve WebClient tarafında geliştirmelerin devam ettiği belirtilmektedir.

Bu nedenle WebClient şu aşamada tamamlanmış nihai client yerine aktif olarak geliştirilen bir sistem olarak değerlendirilmelidir.


⚠️ Bilinen Sınırlamalar

Projenin en önemli taraflarından biri mevcut eksikliklerin açık şekilde belirtilmesi.

Teleport

Teleport işlemi karakter oyun içerisindeyken çalışacak şekilde tasarlanmıştır.

Offline karakter için teleport işlemi uygulanamaz.

Running Speed

Running speed değişikliği de karakter oyun içerisindeyken uygulanır.

Game Master

GM yetkisi verme işlemi hızlı şekilde uygulanabilir.

Ancak GM yetkisinin kaldırılması karakter bir sonraki login işlemine kadar gecikebilir.

Server Rate

EXP, Drop ve Yang rate değişiklikleri game server restart gerektirir.

Flask

Admin Panel Flask development server üzerinde çalışır.

Public kullanımda reverse proxy olarak nginx kullanılması önerilen yapıdadır.

32-bit

Server tarafı 32-bit x86 olarak build edilir.

ARM

ARM VPS sistemleri desteklenmez.

IPv6

Yalnızca IPv6 adresine sahip sunucular desteklenmez.

Bu sınırlamalar projenin kendi dokümantasyonunda özellikle belirtilmiştir.


🔐 Güvenlik ve Public Server Kullanımı

Public bir server kuracaksanız minimum olarak:

  • Güçlü database şifreleri
  • Güçlü admin panel şifresi
  • HTTPS
  • Firewall
  • Cloudflare
  • Reverse proxy
  • Gereksiz portların kapatılması
gibi önlemleri düşünmeniz gerekir.

Özellikle panelin doğrudan Flask development server olarak public internete açılması yerine nginx gibi bir reverse proxy arkasında çalıştırılması daha doğru olacaktır.


🧩 Kimler İçin Uygun?

Bu proje özellikle aşağıdaki kullanıcılar için ilgi çekici olabilir:

Metin2 Server Developers

Linux üzerinde Metin2 server çalıştırmak isteyen geliştiriciler.

Singleplayer Users

Kendi local Metin2 server'ını oluşturup arkadaşlarıyla veya tek başına oynamak isteyenler.

Linux VPS Users

FreeBSD yerine Ubuntu/Debian VPS üzerinde server çalıştırmak isteyenler.

WebClient Developers

Metin2'yi browser üzerinden çalıştırma teknolojisini incelemek isteyen geliştiriciler.

Private Server Projects

Küçük çaplı test veya arkadaş grubu serverları oluşturmak isteyen kullanıcılar.


⭐ Projenin Öne Çıkan Özellikleri

ÖzellikDurum
Linux Server✅
Docker✅
MariaDB✅
Web Admin Panel✅
Türkçe Panel✅
Windows Client✅
WebClient✅
Browser üzerinden oyun✅
Crossplay✅
Domain✅
HTTPS✅
Cloudflare✅
EXP Rate✅
Drop Rate✅
Yang Rate✅
Item verme✅
Yang verme✅
Level verme✅
GM yönetimi✅
ARM❌
IPv6-only❌

⚖️ Lisans ve Yasal Uyarı

Projenin tooling kısmı MIT lisansı altında paylaşılmaktadır.

Ancak Metin2 oyununun kendisi bu projeye ait değildir.

Metin2'nin hakları Ymir Interactive ve Webzen'e aittir.

Repository içerisinde game files veya game source bulunmadığı özellikle belirtilmiştir.

Bu nedenle bu projeyi kullanmadan önce bulunduğunuz ülkenin telif ve ilgili mevzuatını incelemeniz gerekir.

Repository'deki NOTICE.md dosyasının da okunması tavsiye edilmektedir.


🔗 Kaynak ve GitHub

Projenin resmi açık kaynak repository'si:


Repository içerisinde ayrıca:

  • TUTORIAL.md
  • UNINSTALL.md
  • CONTRIBUTING.md
  • PORT40250.md
  • RUNTIME.md
  • VPS-DEPLOYMENT.md
  • DOCKER README
  • LICENSE
  • NOTICE.md
gibi dokümanlar bulunuyor.

Kuruluma başlamadan önce özellikle TUTORIAL.md ve NOTICE.md dosyalarının okunması faydalı olacaktır.


📌 Sonuç

Metin2 WebClient projesi, klasik Metin2 server kurulumu ile modern web teknolojilerini bir araya getiren ilginç bir open-source çalışma.

Özellikle:

Metin2 + Linux + Docker + Web Admin Panel + Browser Client + Windows Client

kombinasyonu projeyi klasik server files paketlerinden ayırıyor.

WebClient tarafının henüz tamamen kusursuz olmaması ve bazı performans/uyumluluk problemlerinin bulunması nedeniyle geliştirme süreci devam eden bir proje olarak değerlendirmek daha doğru.

Buna rağmen Metin2'yi browser üzerinden çalıştırma fikri, Linux server portu ve Docker tabanlı kurulum yapısı nedeniyle server geliştiricileri açısından incelenmeye değer.

Kaynak: AzzlackSyndicate
Repository: Metin2 Singleplayer Server Files Linux
License: MIT (tooling)

⚠️ Bu konu bir tanıtım ve bilgilendirme paylaşımıdır. Game files, client veya Webzen/Ymir'e ait telifli içerikler bu proje tarafından sağlanmamaktadır.
 
Üst
Reklam Ver
R10dev.net'i ana ekrana ekle!