Metin2 Server Kurulumu, FreeBSD Yapılandırması ve SYSERR Hata Çözümleri (Detaylı Teknik Rehber)
Merhaba MMOZirve ailesi,
Uzun zamandır Metin2 server kurulumu, FreeBSD sistem yönetimi ve oyun içi / oyun dışı hataların çözümü üzerine çalışıyorum. Forumda açılan konuların büyük bir kısmında; aynı sorunların tekrar tekrar yaşandığını, hataların yüzeysel çözümlerle geçiştirildiğini ve kalıcı çözümler üretilmediğini görüyorum.
Bu konu; **Metin2 server kurmak isteyenler**, **mevcut serverında sürekli hata yaşayanlar** ve **FreeBSD tarafını gerçekten öğrenmek isteyenler** için hazırlanmış, tamamen teknik ve kapsamlı bir rehber niteliğindedir.
--------------------------------------------------
1. Metin2 Server Mimarisini Doğru Anlamak
Metin2 server yapısı, çoğu kişinin sandığı gibi sadece “files + start” mantığında değildir. Sağlıklı bir sistem için aşağıdaki yapı eksiksiz ve uyumlu çalışmalıdır:
Bu zincirdeki herhangi bir kopukluk, oyunda:
- Ani disconnect
- Lag
- SYSERR spam
- DB işlemlerinde oyun atması
gibi sorunlara yol açar.
--------------------------------------------------
2. FreeBSD Seçimi ve Temel Kurulum Mantığı
Metin2 serverlar için FreeBSD hâlâ en stabil sistemdir ancak **yanlış sürüm seçimi**, en baştan sorun yaşamanıza sebep olur.
Genel öneriler:
Sık yapılan hata:
Files uyumlu olmadığı halde “en güncel FreeBSD” kurulması.
Bu durumda:
- DB core açılmaz
- MySQL bağlantı hataları başlar
- SYSERR logları boş kalır
--------------------------------------------------
3. MySQL / MariaDB Yapılandırması
Metin2 serverların bel kemiği veritabanıdır. Yanlış yapılandırılmış bir MySQL, oyunu çalıştırıyor gibi gösterir ama **ilk DB işleminde oyuncuyu oyundan atar**.
Kontrol edilmesi gerekenler:
Örnek kritik ayar:
bind-address = 0.0.0.0
max_connections = 500
--------------------------------------------------
4. DB – Auth – Channel Başlatma Sırası
Forumda en çok yapılan hatalardan biri de core’ların yanlış sırayla başlatılmasıdır.
DOĞRU sıra:
Yanlış sırada başlatılırsa:
- socket_connect hatası
- connection refused
- heart_idle lag
kaçınılmazdır.
--------------------------------------------------
5. SYSERR Loglarının Anlamı
SYSERR logları “hata var” demekle kalmaz, **hatanın nerede olduğunu da
söyler**.
Örnek:
SYSERR: socket_connect: HOST 127.0.0.1:30000, could not connect.
Anlamı:
- DB core çalışmıyor
- DB portu dinlenmiyor
- Yanlış IP / port tanımı
Yanlış yorum:
“Network sorunu var”
Doğru yorum:
“DB ayağa kalkmamış”
--------------------------------------------------
6. heart_idle ve Lag Problemleri
SYSERR: heart_idle: losing 38 seconds. (lag occured)
Bu hata çoğu zaman:
Bu, **oyuncu lag’i değil**, server içi kilitlenmedir.
--------------------------------------------------
7. Client – Server Uyum Problemleri
Birçok SYSERR hatası, aslında client kaynaklıdır.
Mutlaka kontrol edilmesi gerekenler:
Client uyumsuzsa:
- Oyuna girilir
- Item giyilir
- Oyun anında kapanır
--------------------------------------------------
8. Reboot Sonrası Bozulan Serverlar
“Kurulum yaptım çalıştı ama reboot atınca bozuldu” diyenlerin problemi %90 aynıdır:
Çözüm:
- Start scriptleri düzenlenmeli
- Gerekirse sleep süreleri eklenmeli
--------------------------------------------------
9. Genel Tavsiyeler
--------------------------------------------------
10. Sonuç
Metin2 server kurmak, sadece teknik bilgi değil; **disiplin, sabır ve doğru analiz** işidir.
Sağlam kurulan bir sistem aylarca sorunsuz çalışır, yanlış kurulan sistem ilk reboot’ta çöker.
Bu konuyu; bilgi paylaşımı, sorun çözümü ve tecrübe aktarımı amacıyla açtım.
Sorusu olan, log paylaşmak isteyen veya teknik bir noktada takılan herkes yazab
ilir.
Herkese sorunsuz, stabil ve uzun ömürlü serverlar dilerim.
Merhaba MMOZirve ailesi,
Uzun zamandır Metin2 server kurulumu, FreeBSD sistem yönetimi ve oyun içi / oyun dışı hataların çözümü üzerine çalışıyorum. Forumda açılan konuların büyük bir kısmında; aynı sorunların tekrar tekrar yaşandığını, hataların yüzeysel çözümlerle geçiştirildiğini ve kalıcı çözümler üretilmediğini görüyorum.
Bu konu; **Metin2 server kurmak isteyenler**, **mevcut serverında sürekli hata yaşayanlar** ve **FreeBSD tarafını gerçekten öğrenmek isteyenler** için hazırlanmış, tamamen teknik ve kapsamlı bir rehber niteliğindedir.
--------------------------------------------------
1. Metin2 Server Mimarisini Doğru Anlamak
Metin2 server yapısı, çoğu kişinin sandığı gibi sadece “files + start” mantığında değildir. Sağlıklı bir sistem için aşağıdaki yapı eksiksiz ve uyumlu çalışmalıdır:
- İşletim Sistemi (FreeBSD)
- Veritabanı Servisi (MySQL / MariaDB)
- DB Core
- Auth Core
- Channel Core’ları
Bu zincirdeki herhangi bir kopukluk, oyunda:
- Ani disconnect
- Lag
- SYSERR spam
- DB işlemlerinde oyun atması
gibi sorunlara yol açar.
--------------------------------------------------
2. FreeBSD Seçimi ve Temel Kurulum Mantığı
Metin2 serverlar için FreeBSD hâlâ en stabil sistemdir ancak **yanlış sürüm seçimi**, en baştan sorun yaşamanıza sebep olur.
Genel öneriler:
- Eski filesler → FreeBSD 11.x / 12.x
- Güncel filesler → FreeBSD 13.x
Sık yapılan hata:
Files uyumlu olmadığı halde “en güncel FreeBSD” kurulması.
Bu durumda:
- DB core açılmaz
- MySQL bağlantı hataları başlar
- SYSERR logları boş kalır
--------------------------------------------------
3. MySQL / MariaDB Yapılandırması
Metin2 serverların bel kemiği veritabanıdır. Yanlış yapılandırılmış bir MySQL, oyunu çalıştırıyor gibi gösterir ama **ilk DB işleminde oyuncuyu oyundan atar**.
Kontrol edilmesi gerekenler:
- MySQL servisinin reboot sonrası otomatik başlaması
- max_connections değeri
- open_files_limit
- bind-address ayarı
Örnek kritik ayar:
bind-address = 0.0.0.0
max_connections = 500
--------------------------------------------------
4. DB – Auth – Channel Başlatma Sırası
Forumda en çok yapılan hatalardan biri de core’ların yanlış sırayla başlatılmasıdır.
DOĞRU sıra:
- MySQL
- DB Core
- Auth Core
- Channel Core’ları
Yanlış sırada başlatılırsa:
- socket_connect hatası
- connection refused
- heart_idle lag
kaçınılmazdır.
--------------------------------------------------
5. SYSERR Loglarının Anlamı
SYSERR logları “hata var” demekle kalmaz, **hatanın nerede olduğunu da
söyler**.
Örnek:
SYSERR: socket_connect: HOST 127.0.0.1:30000, could not connect.
Anlamı:
- DB core çalışmıyor
- DB portu dinlenmiyor
- Yanlış IP / port tanımı
Yanlış yorum:
“Network sorunu var”
Doğru yorum:
“DB ayağa kalkmamış”
--------------------------------------------------
6. heart_idle ve Lag Problemleri
SYSERR: heart_idle: losing 38 seconds. (lag occured)
Bu hata çoğu zaman:
- MySQL timeout
- Disk I/O yavaşlığı
- DB bağlantı kopması
Bu, **oyuncu lag’i değil**, server içi kilitlenmedir.
--------------------------------------------------
7. Client – Server Uyum Problemleri
Birçok SYSERR hatası, aslında client kaynaklıdır.
Mutlaka kontrol edilmesi gerekenler:
- item_proto (client & server birebir)
- mob_proto
- locale dosyaları
- pack hash uyumu
Client uyumsuzsa:
- Oyuna girilir
- Item giyilir
- Oyun anında kapanır
--------------------------------------------------
8. Reboot Sonrası Bozulan Serverlar
“Kurulum yaptım çalıştı ama reboot atınca bozuldu” diyenlerin problemi %90 aynıdır:
- MySQL geç başlıyor
- DB erken başlıyor
- DB crash oluyor
Çözüm:
- Start scriptleri düzenlenmeli
- Gerekirse sleep süreleri eklenmeli
--------------------------------------------------
9. Genel Tavsiyeler
- Log okumayı öğrenmeden server açmayın
- SYSERR’i ezbere çözmeye çalışmayın
- Her sorunu “files bozuk” diye geçiştirmeyin
- FreeBSD’yi gerçekten öğrenin
--------------------------------------------------
10. Sonuç
Metin2 server kurmak, sadece teknik bilgi değil; **disiplin, sabır ve doğru analiz** işidir.
Sağlam kurulan bir sistem aylarca sorunsuz çalışır, yanlış kurulan sistem ilk reboot’ta çöker.
Bu konuyu; bilgi paylaşımı, sorun çözümü ve tecrübe aktarımı amacıyla açtım.
Sorusu olan, log paylaşmak isteyen veya teknik bir noktada takılan herkes yazab
ilir.
Herkese sorunsuz, stabil ve uzun ömürlü serverlar dilerim.


