- 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.

Projenin GitHub repository'si:
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
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
- Google Chrome
- Microsoft Edge
- Brave
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
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
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
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)
| Özellik | Gereksinim |
|---|---|
| CPU Architecture | x86 Intel/AMD |
| RAM | 4 GB |
| Build RAM | İlk build sırasında 8 GB |
| Disk | 40 GB |
| Network | IPv4 |
| OS | Ubuntu / Debian |
| Root | Gerekli |
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:
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
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.
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
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ı:
sunmaktır.Server portu + Docker altyapısı + installer + admin panel + tooling
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ı
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ı
Ö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
| Özellik | Durum |
|---|---|
| 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:
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
Repository içerisinde ayrıca:
- TUTORIAL.md
- UNINSTALL.md
- CONTRIBUTING.md
- PORT40250.md
- RUNTIME.md
- VPS-DEPLOYMENT.md
- DOCKER README
- LICENSE
- NOTICE.md
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.


