Hikayeler

Reklam vermek için turkmmo@gmail.com

Locale_string.txt Hatası Korece Dil Problemi

Cankira

Cankira
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
Moderator
Admin
Paylaşım
Katılım
18 Ağu 2009
Konular
143
Mesajlar
859
Online süresi
13g 60486s
Reaksiyon Skoru
228
Altın Konu
19
Başarım Puanı
171
TM Yaşı
16 Yıl 8 Ay 9 Gün
MmoLira
6,211
DevLira
6

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. 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 : 1, Üye: 0, Misafir: 1)

Geri
Üst