FiveM sunucu lag’ının çoğu, sunucuda fazla vakit harcayan tek bir resource’tan gelir. Konsol bunun ne zaman olduğunu söyler, dahili profiler da hangi resource olduğunu gösterir. Önce sorunun gerçekten sunucu lag’ı olduğundan emin ol, çünkü FPS düşüşü ve ağ lag’ı başka çözümler ister.
Sunucu lag’ı, FPS düşüşü ve ağ lag’ı
Sunucu lag’ı herkesi aynı anda vurur. Araçlar ışınlanır gibi geri gider, kapılar geç açılır, işlemler bir an takılır. FPS düşüşü tek bir oyuncuyu ya da zayıf bilgisayarı olanları vurur, genelde de kalabalık yerlerde. Ağ lag’ı ise bazı oyuncularda yüksek ping olarak görünür, diğerlerinde görünmez.
Birkaç hızlı kontrol bunları ayırır. Oyuncu F8 konsoluna cl_drawfps true yazıp FPS’ini görebilir. Sunucu konsolunda status komutu bağlı oyuncuları ping’leriyle listeler. Bir oyuncunun ping’i kötüyse ve diğerleri iyiyse sorun onun bağlantısındadır.
Hitch uyarılarını oku
Sunucu konsolunu aç ve “server thread hitch warning: timer interval of 195 milliseconds” gibi satırlara bak. Sayı her seferinde değişir. Aynı uyarıyı sync ya da network thread için de görebilirsin.
Cfx.re bilgi sayfasına göre hitch uyarısı, resource’larından birinin olması gerektiği gibi çalışmadığı anlamına gelir. Sayfa iki yaygın sebep sayıyor: uzun süren SQL sorguları ve script’in akışını durduran döngüler.
Uyarıların ne zaman geldiğini not et. Her maaş ödemesinde ya da her oyuncu girişinde çıkıyorsa, önce o işi yapan script’e bak. Belli bir düzen olmadan gelip gidiyorsa profiler’a ihtiyacın var.
resmon ile resource kullanımına bak
resmon, resource monitor yani kaynak izleyicidir. F8 konsoluna resmon true yazarsan her resource’u milisaniye cinsinden CPU süresi ve bellek kullanımıyla listeler.
Oyunun içinde çalıştığı için her resource’un oyuncu tarafındaki yükünü gösterir. FPS düşüşleri için doğru araç budur. Normal FiveM sürümünde developer komutu sayılır. “Access denied for command resmon” görürsen FiveM kısayoluna +set moo 31337 ekleyip yeniden aç.
Hiç kıpırdamadan dururken hangi resource’ların üstte kaldığına bak, sonra kalabalık bir bölgeye gidip karşılaştır. Her yerde ağır olan bir resource, bir saniyelik zıplama yapan birinden daha güçlü bir şüphelidir.
Sunucu profili kaydet
Sunucu lag’ı için profiler’a ihtiyacın var. Oyunda olduğu gibi sunucu konsolunda da çalışır. Kaydı lag tam yaşanırken başlat.
- Sunucu konsoluna profiler record 500 yaz. 500, Cfx.re rehberinin başlangıç için önerdiği kare sayısı.
- profiler status yazarak kaydın sürdüğünü ve kaç kare topladığını kontrol et.
- profiler saveJSON lag.json yazarak profili run.bat dosyanın yanına kaydet.
- Chrome’u aç, Ctrl+Shift+I’ya bas, Performance sekmesine geç, sağ tıklayıp dosyayı yükle.
Sunucuda profiler view, Chrome’u açmak yerine bir bağlantı yazdırır. O bağlantıyı Chrome’a kendin yapıştır. Kaydetmediğin bir profile bakıyorsan sunucuyu kapatma.
Zaman çizelgesinde lag’ın yaşandığı karelere yakınlaş ve en uzun blokları bul. Her birinin hangi resource’a ait olduğunu not al. Şüphelilerin bunlar.
Her zamanki şüpheliler
- Yavaş sorguları bekleyen veritabanı çağrıları.
- Gerekenden çok daha sık dönen döngüler.
- Lag başlamadan hemen önce eklediğin ya da güncellediğin bir resource.
- İki farklı klasör adıyla iki kez başlatılmış aynı script.
- Aynı anda bütün oyunculara event gönderen scriptler.
Bir şüpheliyi doğrulamak için test sunucunda stop ve ardından resource adını yazarak onu durdur, sonra tekrar kayıt al. Oyuncular içerideyken canlı sunucuda temel resource’ları durdurmaktan kaçın.
Bir anticheat’in yükünü kendin nasıl ölçersin
Lag olunca suç çoğu zaman anticheat’e atılır. Bazen haklı olarak, bazen değil. Dürüst cevap kendi sunucundan, kendi resource’ların ve oyuncularınla gelir.
- Anticheat açıkken bir sunucu profili kaydet, her seferinde aynı kare sayısını kullan.
- Anticheat kapalıyken ikinci bir profil kaydet. Bunu test sunucunda ya da ekip başındayken sakin bir saatte yap.
- İki kayıt arasında oyuncu sayısını ve saati olabildiğince yakın tut.
- Anticheat resource’unun her karede ne kadar süre aldığını karşılaştır.
- İki üç oyuncudan resmon açmasını iste, oyun tarafını da gör.
Her resource biraz süre harcar, o yüzden “hiç yük yok” iddialarına temkinli yaklaş. Firmaya onu kendin nasıl profilleyebileceğini sor. Daddy Shield’ın korumaları çoğunlukla oyunun zaten bildirdiği atış ve hasar gibi olaylara tepki verir, ihtiyacın olmayanı da kapatabilirsin. Onu da aynı yöntemle ölç.
En iyi FiveM anticheat hangisi? Seçerken 12 soru
En çok fark yaratandan başlayarak çözümler
- Artık kullanmadığın resource’ları kaldır. Başlatılan her resource’un bir yükü var.
- Profiler’ın gösterdiği resource’u güncelle ya da kaydettiğin profili yazarına gönder.
- Yavaş veritabanı sorgularını hızlandır ya da sık çalışan event’lerden çıkar.
- Her karede dönmesi gerekmeyen döngüleri yavaşlat.
- Her script’ten tek kopya tut, server.cfg’de tekrar eden başlatma satırlarını kontrol et.
- Donanıma en son bak, profil tek bir suçlu göstermiyorsa.
Hazır elin değmişken server.cfg’ni de toparla
Sık sorulan sorular
Anticheat lag yapar mı? Her resource biraz yük ekleyebilir. Karar vermeden önce sunucunu anticheat açıkken ve kapalıyken profille.
resmon neden access denied diyor? Çünkü developer komutu. FiveM’i kısayoluna +set moo 31337 ekleyerek aç.
Tek bir hitch uyarısı sorun mu? Tek bir uyarı, art arda gelen uyarılar kadar önemli değil. Tekrar eden uyarılar profillemeye değer bir resource’u işaret eder.
Developer’ıma ne göndermeliyim? Kaydettiğin profil dosyasını, hitch uyarısı satırlarını ve lag’ın yaşandığı saati.
Hâlâ anticheat mi seçiyorsun? Aynı testi 7 günlük iade süresi içinde Daddy Shield üzerinde de yap.