kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Best Studio 1
Best Studio
Agora Metin2 1
Agora Metin2
raderde 1
raderde
Cannn6161 1
Cannn6161
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Mt2Hizmet 1
Mt2Hizmet
melankolıa18 1
melankolıa18
romegames 1
romegames
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Cevaplandı Locale_string.txt Hatası Korece Dil Problemi

  • Konuyu başlatan Konuyu başlatan Cankira
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 6
  • Görüntüleme Görüntüleme 177

Cankira

Cankira
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
Uzman Moderatör
Turnuva
Admin
Yarışma
VIP Üye
Paylaşım
Katılım
18 Ağu 2009
Konular
166
Mesajlar
917
Çözüm
3
Online süresi
14d 13h
Reaksiyon Skoru
330
Altın Konu
31
Başarım Puanı
206
MmoLira
9,413
DevLira
6
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

1768755288786.png


/usr/game/share/locale/turkey/locale_string.txt dosyası gayet normal fakat ara ara bu şekilde korece şeyler çıkıyor. Bu problemi server source build aldıktan sonra almaya başladım. Çözümü nasıl yapacağım hakkında araştırma yaptım fakat teşebbüslerim işe yaramadı.
 
Bu olay dosyanın bozuk olmasından değil, build aldıktan sonra server tarafındaki dil/encoding ayarlarının değişmesinden kaynaklanıyor. Zaten senin de dediğin gibi dosyayı açınca her şey düzgün görünüyor, sorun oyun çalışırken ortaya çıkıyor.

Şöyle düşün:
Server string’i client’e gönderirken kullandığı karakter seti ile client’in beklediği karakter seti aynı değil. Bazı yazılar düzgün çıkıyor, bazıları saçma sapan Korece gibi görünüyor. Bunun sebebi de o satırlarda Türkçe karakter veya özel byte’lar geçmesi.

Bu problem özellikle source build aldıktan sonra başlar çünkü:

  • FreeBSD ortamı UTF-8 locale ile çalışmaya başlar
  • Metin2 client’leri (özellikle eski altyapılar) UTF-8 ile uyumlu değildir
  • Server UTF-8 gibi gönderir, client ANSI bekler, sonuç bu olur
O yüzden “ara ara” oluyor. Düz ASCII olan satırlar sorun çıkarmıyor, Türkçe karakter geçenler patlıyor.

Çözüm tarafı server üzerindedir, dosyayı 50 kere değiştirsen de fayda etmez.

Yapman gereken şey, server’ı C locale (ANSI) moduna sabitlemek.

FreeBSD’de şu dosyayı aç:

/etc/login.conf

default: bloğunun altına şunları ekle ya da varsa düzelt:

:lang=C:\
:setenv=LC_ALL=C:

Kaydedip çıktıktan sonra:

cap_mkdb /etc/login.conf

Sonra mutlaka tam reboot at. Sadece game restart yetmez.

Eğer hızlı test yapmak istersen, geçici olarak:

export LC_ALL=C

yazıp game’i başlatabilirsin. Düzeliyorsa sebep kesin budur.

Özetle:

  • locale_string.txt sağlam
  • sorun quest, chat ya da item değil
  • source kodu da suçlu değil
  • problem tamamen server’ın UTF-8 locale ile çalışması
Bunu düzelttiğinde chat’teki garip yazılar tamamen kesilir ve bir daha geri gelmez.
 
Malesef hiçbiri çözüm olmadı. Server Db Yedeklerini alıp tekrardan kurdum. Problem düzeldi.
 
Çözüm

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst