Metin2 sunucusu nasıl kurulur? Süreç mimarisi ve kaynak hesabı
Metin2 private server kurmak tek bir uygulamayı başlatmak değildir. Birlikte çalışan bir süreç kümesi kurarsınız ve bu kümenin yapısını anlamadan ne doğru donanımı seçebilir ne de çökme sebeplerini bulabilirsiniz.
Süreç mimarisi
Dört parça var ve başlatma sırası zorunludur:
| Süreç | İşi | Tipik port |
|---|---|---|
| MariaDB / MySQL | account, player, common veritabanları | 3306 (yerel) |
db | Veritabanı önbelleği — oyun çekirdekleri buna bağlanır | 15000 |
auth | Giriş doğrulaması | 11002 |
game çekirdekleri | Kanal başına birden fazla süreç | 13000+ |
db ayakta olmadan game çekirdekleri bağlanamaz. Sıra bozulduğunda konsolda anlamlı bir hata görmezsiniz; süreç sessizce kapanır.
32-bit tuzağı
Metin2 ikililerinin büyük bölümü hâlâ 32-bit derlenmiştir ve çoğu modern dağıtım 32-bit kütüphaneleri varsayılan olarak kurmaz. Bu adım atlandığında süreçler hata mesajı bile vermeden başlamaz ve sorun neredeyse her zaman yapılandırma hatası sanılır.
Kontrol etmenin en hızlı yolu:
file ./game
ldd ./gameELF 32-bit görüyorsanız 32-bit uyumluluk paketleri gerekiyor. ldd çıktısında not found yazan her satır eksik bir kütüphanedir.
Kaynak hesabı
Metin2'de belirleyici olan oyuncu sayısından çok kanal ve çekirdek sayısıdır:
- Her
gameçekirdeği: 400-700 MB dbsüreci: 500 MB - 1,5 GBauth: 200-400 MB- MySQL: veritabanı boyutuna göre 2-6 GB
Tipik bir 2 kanal × 4 çekirdek kurulum, MySQL dahil 8 GB'ı doldurur. 4 kanala çıkarken 16 GB pakete geçmek gerekir.
CPU tarafında her çekirdek kendi iş parçacığında çalışır, yani vCPU sayısı gerçek bir kaldıraçtır. Ama tek bir çekirdeğin içindeki oyun döngüsü tek iş parçacıklıdır; yoğun kanalda saat hızı da önemlidir. Hesabın genel mantığını ayrıca yazdık: kaç vCPU ve kaç GB RAM gerekir?
Kurulum sırası
- Server dosyalarınızın hedeflediği dağıtımı seçin — Metin2 ikilileri geçmişte FreeBSD üzerine derlendiği için bazı paketler belirli sürümlere bağlıdır.
- 32-bit uyumluluk kütüphanelerini kurun.
- MariaDB'yi kurup üç veritabanını içe aktarın.
CONFIGdosyalarındaki IP, port ve kanal numaralarını sunucunuzun gerçek değerleriyle eşitleyin.- Sırayla başlatın: MySQL →
db→auth→gameçekirdekleri. - Yalnızca dışarıya açılması gerekenleri açın. 15000 (db) portunu dışarıya AÇMAYIN — o port veritabanı önbelleğine doğrudan erişimdir.
MySQL'i ne zaman ayırmalı?
Pratik eşik 700-800 eşzamanlı oyuncu veya 4 kanal. Bu noktadan sonra MySQL ile kanal çekirdekleri aynı belleği ve aynı diski paylaştığı için tepe saatlerde ikisi birlikte yavaşlar. Aynı lokasyonda ikinci bir sunucu alıp özel ağ üzerinden bağlamak, tek makinede kaynak büyütmekten daha iyi sonuç verir.
Saldırı tarafı
Metin2 private server'ları yoğun bağlantı taşması ve UDP saldırılarına maruz kalır — rekabet sert ve saldırı ucuz. Bunu uygulama seviyesinde çözmek mümkün değil; ağ seviyesinde filtreleme gerekiyor. Konuyu ayrıca yazdık: DDoS koruması nedir?
Sonraki adım
Kanal sayısına göre hangi paketin yeterli olduğunu ve Metin2'ye özgü soruları tek sayfada topladık: Metin2 sunucu paketleri.