Metin2'de Lag ve Gecikmeye Neden Olan 4 Ana Unsur

  1. Devasa Boyutlara Ulaşan Syslog ve Syserr Dosyaları:
    Oyun motoru her eşya hareketini ve hatayı metin dosyalarına yazar. Yoğun bir sunucuda günlük log boyutu 20-50 GB'a ulaşarak diski kilitler.
  2. Kötü Optimize Edilmiş Quest Senaryoları:
    Sürekli döngüye giren (when letter begin veya server_timer) hatalı Lua scriptleri CPU'yu %100 seviyesine kilitler.
  3. MySQL Bağlantı Havuzunun Dolması (max_connections):
    Gelen sorgular yanıtlanamadığında oyun çekirdeği kilitlenir ve socket error vererek kanallar düşer.
  4. P2P Portunun Dışa Açık Olması:
    Dışarıdan gelen rastgele TCP paketleri P2P portu üzerinden core'u flood ederek dondurur.

Performansı İyileştiren Altın Ayarlar

1. FreeBSD sysctl Ağ ve Soket İyileştirmesi

/etc/sysctl.conf dosyasına aşağıdaki değerleri ekleyin:

kern.ipc.somaxconn=2048
net.inet.tcp.sendspace=65536
net.inet.tcp.recvspace=65536
net.inet.tcp.fast_finwait2_recycle=1
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1

2. Otomatik Log Temizleme Scripti

Sunucunuzun diskini loglardan arındırmak için bir temizlik komutu çalıştırın:

find /path/to/server -name "syslog" -delete
find /path/to/server -name "syserr" -size +100M -delete