Metin2 Sunucularda "Connection Refused" Hatası Çözümü
Metin2 PVP sunucu yönetiminde en sık karşılaşılan hataların başında "Connection Refused" gelmektedir. Bu hata, oyun sunucunuzun veritabanı (MySQL/MariaDB) ile iletişim kuramadığını veya oyun dosyalarının (auth, ch1, ch2 vb.) düzgün başlatılamadığını gösterir. Sorunu adım adım çözmek için aşağıdaki yöntemleri sırasıyla uygulayabilirsiniz.
1. Yöntem: Navicat Veritabanı Tablolarını Onarma (Repair Tables)
Sunucunun aniden kapanması, elektrik kesintileri veya yetersiz RAM gibi durumlarda MySQL tabloları zarar görebilir. Bu durum doğrudan Connection Refused hatasına yol açar. Çözüm için:
- Navicat programını açın ve sunucunuza bağlanın.
- "player" veritabanına çift tıklayarak içine girin.
- Açılan tüm tabloları (account, item, mob_proto, player vb.) farenizle tamamen seçin.
- Seçili tablolara sağ tıklayın, önce "Maintain" seçeneğine, ardından "Repair Tables" -> "Extended" yolunu izleyin.
- Aynı işlemi "common" ve "log" veritabanları içindeki tablolar için de tekrarlayın.
- İşlem tamamlandıktan sonra Putty üzerinden sunucunuza
rebootatın.
2. Yöntem: Sunucu Diskinin Doluluk Oranını Kontrol Etme
Sunucu diskiniz %100 doluluğa ulaştığında MySQL servisleri otomatik olarak durur ve sunucu refuse moduna geçer. Diskinizi kontrol etmek için:
- Putty terminaline bağlanın ve şu komutu yazın:
df -h - Çıkan sonuçlarda /dev/ veya ana dizininizin (Mounted on /) karşısındaki Use% değerini inceleyin.
- Eğer doluluk oranı %100 veya buna çok yakınsa, sunucunuzdaki eski log dosyalarını (syserr, syslog veya game logları) temizlemeniz gerekir. Temizlik sonrası MySQL servisini
service mysql restartkomutuyla yeniden başlatın.
3. Yöntem: Son Yapılan Değişiklikleri ve Syserr Dosyalarını İnceleme
Eğer hatayı Navicat'a yeni bir item ekledikten, quest yükledikten veyaitem_proto/mob_protodüzenlemesi yaptıktan sonra aldıysanız, girdiğiniz hatalı bir satır refuse vermesine neden olmuştur.
- Filezilla veya WinSCP ile sunucunuza bağlanın.
- Kullandığınız files yapısına göre oyun kanallarının dizinine gidin (Örn:
/usr/game/cores/channel1veya/usr/game/share/locale/turkey). - Klasör içerisindeki syserr dosyasını bilgisayarınıza indirip açın.
- Dosyanın en alt satırlarında yer alan hata mesajı, hangi tabloda ellerinizle yaptığınız hatalı işlemi veya eksik sütunu doğrudan size söyleyecektir. Hatalı işlemi geri alarak sorunu çözebilirsiniz.
4. Yöntem: MySQL Servis Durumu ve İzin Kontrolleri
Baten hata doğrudan oyun dosyalarından değil, MySQL servisinin durmasından kaynaklanır. Putty üzerinden şu komutla durumu kontrol edin:
service mysql status
Eğer servis çalışmıyorsa (stopped veya inactive),service mysql startkomutuyla başlatmayı deneyin. Başlamıyorsa veritabanı kullanıcı izinleriniz (root yetkileri) zarar görmüş olabilir.
Bu makale PvPSunucusu için özel olarak hazırlanmıştır.