MG Yaşı
2 Ay 1 Gün
Katılım
2 Şub 2026
Konular
224
Mesajlar
363
Tepkime puanı
54
Puan
53
Konum
İstanbul
Metin2 CHECKPOINT Shutdown: tics did not updated Fix (C++)

Bazı serverlarda CH kapanırken veya reboot sırasında syserr dosyasına aşağıdaki hata düşer:

Kod:
CHECKPOINT shutdown: tics did not updated

Bu hata genellikle core kapanışı sırasında timer (tics) değişkeninin güncellenmemesinden kaynaklanır.
Sonuç olarak channel düzgün kapanmaz, bazen crash oluşur veya save işlemi yarım kalır.

Sorun libthecore içindeki sinyal yakalama fonksiyonundan kaynaklanır ve küçük bir düzenleme ile tamamen çözülür.




Düzenlenecek Dosya

Aşağıdaki klasöre gidin:

Kod:
/usr/src/aveiro/libthecore/src

signal.c dosyasını açın.




Aranacak Fonksiyon

Dosya içinde şu fonksiyonu bulun:

C:
RETSIGTYPE checkpointing(int sig)

Fonksiyonu aşağıdaki şekilde değiştirin:

C:
RETSIGTYPE checkpointing(int sig)
{
    if (!tics)
    {
        //sys_err("CHECKPOINT shutdown: tics did not updated.");
        //abort();
    }
    else
        tics = 0;
}




Ne Değişti?

Eski durumda:
  • tics güncellenmezse server kendini abort eder
  • Channel düşmesi yaşanır
  • Syserr hatası oluşur

Yeni durumda:
  • Hata loga yazılmaz
  • Server güvenli kapanır
  • Crash engellenir




Son İşlem

Düzenleme sonrası libthecore yeniden derlenmelidir.

Kod:
make clean
make
make install

Ardından game ve db recompile edilmesi önerilir.
 
Geri
Üst