LIONFIN
Oyun Sunucuları

Metin2 Sunucu Kurulumu: FreeBSD, MySQL ve Oyun Dosyaları

6 dk okuma Güncelleme: 1 görüntülenme
Metin2 Sunucu Kurulumu: FreeBSD, MySQL ve Oyun Dosyaları

Metin2 sunucu kurulumu, Türkiye’de yaygın olarak “PvP server” adıyla bilinen özel Metin2 sunucularının teknik altyapısını hazırlamaktır: bir işletim sistemi (çoğunlukla FreeBSD), bir veritabanı sunucusu ve oyunun sunucu tarafı süreçleri. Bu rehber altyapının nasıl kurulduğunu anlatır; oyun dosyalarının nereden edinileceğini anlatmaz ve sızdırılmış dosyaların kullanılmasını önermez.

Teknik adımlara geçmeden önce aşağıdaki hukuki çerçeveyi okuyun. Altyapı tarafında ihtiyaç duyacağınız tam yönetici erişimli VDS sunucu ve DDoS korumalı oyun sunucusu seçeneklerini Metin2 sunucu kiralama sayfasında karşılaştırabilirsiniz.

Kısa cevap

Metin2 sunucu kurulumu, genellikle FreeBSD kurulu bir VDS üzerinde MySQL ya da MariaDB veritabanı sunucusunu hazırlamayı, oyun dosya setindeki auth, db ve kanal (game) süreçlerini yapılandırıp başlatmayı ve yalnızca oyun portlarını dışarı açan bir güvenlik duvarı kurmayı kapsar. Metin2, Webzen’e bağlı Ymir Entertainment’ın fikrî mülküdür; resmî olmayan sunucu açmak hak ihlali sayılabilir ve dosyaların kullanım hakkından işletmeci sorumludur.

Metin2 sunucusu açmak yasal mı?

Metin2, Kore merkezli Ymir Entertainment tarafından geliştirilmiştir; Ymir bugün Webzen bünyesindedir ve oyun Avrupa ile Türkiye’de Gameforge tarafından yayımlanır. Oyunun istemci ve sunucu yazılımı, adı ve görselleri bu şirketlerin fikrî mülkiyetidir. Hak sahibinin izni olmadan sunucu yazılımını çalıştırmak, değiştirmek ya da istemciyi dağıtmak telif ve marka haklarının ihlali sayılabilir.

  • Türkiye’de bilgisayar programları 5846 sayılı Fikir ve Sanat Eserleri Kanunu kapsamında eser olarak korunur.
  • Hak sahipleri resmî olmayan sunuculara karşı erişim engeli, içerik kaldırma ya da tazminat yoluna gidebilir.
  • Sunucunun çalıştırdığı dosyaların kullanım hakkına sahip olmaktan altyapı sağlayıcısı değil, sunucuyu işleten kişi sorumludur.

Bu yazı hukuki görüş değildir. Ticari bir proje planlıyorsanız, özellikle bağış ya da eşya satışı gibi gelir modelleri varsa, önce fikrî mülkiyet alanında çalışan bir avukata danışın.

Dikkat: Kaynağı belirsiz “hazır files” paketleri yalnızca hukuki risk değil, arka kapı ve zararlı yazılım riski de taşır; kodunu denetleyemediğiniz ikili dosyaları sunucunuzda çalıştırmayın.

Metin2 sunucu kurulumu için hangi altyapı gerekir?

Metin2 sunucu kurulumu için tam yönetici (root) erişimli, kendi işletim sisteminizi kurabildiğiniz bir sanal ya da fiziksel sunucu gerekir; paylaşımlı hosting bu iş için uygun değildir. Topluluktaki dosya setlerinin büyük kısmı FreeBSD için derlendiğinden işletim sistemi seçimi çoğu zaman dosya setinin belgelerine göre yapılır.

BileşenTipik tercihNot
İşletim sistemiFreeBSD (dosya setinin istediği sürüm)Bazı eski setler 32 bit kitaplık uyumluluğu ister
VeritabanıMySQL ya da MariaDBHesap, karakter ve kayıt tabloları burada tutulur
Sunucu türüKVM tabanlı VDS ya da fiziksel sunucuFreeBSD kurulumu için ISO yükleme ya da hazır şablon desteği gerekir
AğDDoS korumalı hatPvP sunucuları sık saldırı hedefidir
DiskNVMeVeritabanı yazma yükü ve günlük dosyaları için

İşlemci ve bellek ihtiyacı kanal sayısı, eş zamanlı oyuncu sayısı ve dosya setinin verimliliğine göre çok değişir. Küçük başlayıp ölçerek büyütmek, ayrılmış kaynaklı sunucuda kolaydır; ayrıntılar VDS nedir yazısında.

FreeBSD ve MySQL nasıl hazırlanır?

FreeBSD kurulduktan sonra ilk iş sistemi güncellemek, veritabanı sunucusunu paket yöneticisi pkg ile kurmak ve açılışta otomatik başlamasını sağlamaktır.

  1. Sistemi güncelleyin: freebsd-update fetch install ve pkg update && pkg upgrade.
  2. Depodaki veritabanı paketlerini listeleyin ve dosya setinizin istediği sürüme uygun olanı kurun.
  3. Servisi etkinleştirip başlatın.
  4. Kurulum sonrası güvenlik betiğini çalıştırarak anonim kullanıcıları ve uzak root girişini kaldırın.
  5. Oyun süreçleri için yalnızca localhost’tan bağlanabilen ayrı bir veritabanı kullanıcısı oluşturun.
pkg search mysql
pkg install mysqlXX-server          # XX: seçtiğiniz sürüm
sysrc mysql_enable="YES"
service mysql-server start
mysql_secure_installation

Dosya setleri genellikle hesap, karakter, ortak ayar ve kayıt verileri için ayrı veritabanları kullanır; bu şemalar setle birlikte gelen SQL dosyalarından içe aktarılır. Veritabanı kullanıcısına yalnızca bu veritabanları üzerinde yetki verin. Veritabanı yedeklerini mysqldump ile düzenli alıp sunucu dışına taşımayı unutmayın.

İpucu: Veritabanı yönetimi için phpMyAdmin’i internete açmak yerine SSH tüneli üzerinden yerel bir istemciyle bağlanın.

Auth, db ve kanal süreçleri nasıl çalışır?

Bir Metin2 sunucusu tek bir program değil, birbirleriyle konuşan birkaç süreçten oluşur. Adlandırma dosya setine göre değişse de yapı genellikle aynıdır:

  • db süreci: Veritabanıyla oyun süreçleri arasında aracılık yapar, karakter verisini önbellekler ve belirli aralıklarla veritabanına yazar.
  • auth süreci: Oyuncunun kullanıcı adı ve şifresini doğrular, ardından onu kanal seçimine yönlendirir.
  • Kanal (game) süreçleri: Her kanal ve harita grubu için ayrı bir oyun çekirdeği çalışır; oyuncular asıl olarak bunlara bağlanır.

Her sürecin klasöründe dinleyeceği portları, veritabanı bağlantı bilgilerini ve süreçler arası (P2P) iletişim portunu tanımlayan bir yapılandırma dosyası bulunur (birçok sette CONFIG adını taşır). Süreçler genellikle setle gelen kabuk betikleriyle sırayla başlatılır: önce db, sonra auth, en son kanallar. Kapatırken ters sıra izlenir ve db sürecine verileri yazması için zaman tanınır; aksi hâlde son dakikalardaki ilerleme kaybolabilir.

Portlar ve güvenlik duvarı nasıl ayarlanır?

Dışarıya yalnızca oyuncuların bağlandığı auth ve kanal portları açılmalı; veritabanı (3306) ve süreçler arası P2P portları kesinlikle internete kapalı kalmalıdır. Port numaraları dosya setinin yapılandırmasında tanımlıdır; aşağıdaki örnek FreeBSD’nin yerleşik paket filtresi pf ile mantığı gösterir.

# /etc/pf.conf (örnek; portları kendi yapılandırmanıza göre değiştirin)
ext_if = "vtnet0"
oyun_portlari = "{ AUTH_PORT, KANAL1_PORT, KANAL2_PORT }"
set skip on lo0
block in all
pass out all keep state
pass in on $ext_if proto tcp to port 22 keep state
pass in on $ext_if proto tcp to port $oyun_portlari keep state

Kuralları etkinleştirmek için sysrc pf_enable="YES" ve service pf start komutlarını kullanın. SSH portunu kendi IP adresinizle sınırlamak ve parola yerine anahtar ile giriş yapmak güvenliği belirgin biçimde artırır; anahtar oluşturma adımları SSH anahtarı oluşturma rehberinde.

Dikkat: pf kurallarını uzaktan etkinleştirmeden önce SSH izninin listede olduğundan emin olun; aksi hâlde sunucuya erişiminizi kaybeder ve konsoldan bağlanmak zorunda kalırsınız.

DDoS ve hile korumasında nelere dikkat edilmeli?

Özel Metin2 sunucuları rekabetin yoğun olduğu bir ortamda çalıştığı için DDoS saldırıları ve hileli istemciler en sık karşılaşılan iki sorundur. Ağ katmanındaki saldırılar sunucu içinde değil, sağlayıcının altyapısında süzülmelidir; bu yüzden DDoS korumalı bir hat seçimi kurulum kadar önemlidir. Ayrıntılı bilgi için DDoS korumalı sunucu yazısına bakabilirsiniz.

  • Sunucu IP adresini web sitesi, forum ve Discord botu gibi diğer hizmetlerle paylaşmayın.
  • Kanal süreçlerinde bağlantı başına paket sınırı ve hız kontrolü gibi uygulama düzeyi korumaları etkinleştirin.
  • Sunucu tarafında doğrulanmayan hiçbir değere (hasar, hız, envanter) istemciden geldiği gibi güvenmeyin; hilelerin çoğu bu açıklardan yararlanır.
  • Oyuncu ve yönetici işlemlerini kayıt veritabanına yazıp düzenli inceleyin.

Yönetici hesaplarında güçlü parola kullanmak ve oyun içi yetkileri en az ihtiyaç ilkesine göre dağıtmak, içeriden kaynaklanan kötüye kullanımı da sınırlar.

Sık Sorulan Sorular

Metin2 sunucusu Ubuntu’ya kurulabilir mi?

Topluluktaki dosya setlerinin çoğu FreeBSD için derlendiğinden doğrudan Linux’ta çalışmaz. Linux için yeniden derlenmiş ya da baştan yazılmış sunucu yazılımları bulunsa da hangi işletim sisteminin gerektiğini kullandığınız yazılımın belgeleri belirler.

Metin2 için hangi MySQL sürümü kullanılmalı?

Sabit bir doğru sürüm yoktur; dosya setinin SQL şemaları ve sorguları belirli sürümlerle test edilmiştir. Setin belgelerinde önerilen MySQL ya da MariaDB sürümünü kullanın ve canlıya almadan önce bir test sunucusunda tüm işlemleri deneyin.

Metin2 sunucusu kurmak suç mu?

Metin2’nin yazılımı ve markası hak sahiplerine aittir; izinsiz sunucu çalıştırmak ve istemci dağıtmak fikrî mülkiyet ihlali sayılabilir ve hukuki sorumluluk doğurabilir. Durumunuz için kesin değerlendirmeyi yalnızca bir avukat yapabilir; dosyaların kullanım hakkından sunucu işletmecisi sorumludur.

Metin2 sunucusunda veritabanı portu açık kalmalı mı?

Hayır. Oyun süreçleri veritabanına aynı makine içinden bağlandığı için <code>3306</code> portunun internete açık olmasına gerek yoktur. Açık bırakılan veritabanı portu kaba kuvvet saldırılarının ve veri sızıntılarının en yaygın nedenlerinden biridir.

Metin2 sunucusu kapatılırken veri kaybı nasıl önlenir?

Süreçleri ters sırayla kapatın: önce kanallar, sonra auth, en son db. db sürecinin önbellekteki karakter verilerini veritabanına yazması için zaman tanıyın. Kapatmadan önce ve düzenli aralıklarla <code>mysqldump</code> ile veritabanı yedeği alın.

Bu makale yardımcı oldu mu?

Geri bildiriminiz için teşekkürler!

kişi faydalı buldu

Paylaş

X LinkedIn WhatsApp

Sorunuz mu var? Destek ekibimize yazın.