FiveM Sunucu Optimizasyonu: Lag ve Yüksek ms Çözümleri
FiveM sunucusu neden lag yapıyor? resmon ve profiler ile ölçüm, yüksek ms kullanan scriptler, veritabanı sorguları, büyük asset'ler ve donanım seçimi.

İçindekiler
FiveM sunucu optimizasyonu, sunucunuzun ve oyuncularınızın oyununun akıcı kalması için yük oluşturan scriptleri, yavaş veritabanı sorgularını ve büyük dosyaları bulup düzeltmektir. Bir FiveM roleplay sunucusunda yüzlerce script aynı anda çalışır; birkaç kötü yazılmış script, güçlü bir sunucuda bile oyuncuların FPS'ini düşürür ve sunucunun takılmasına yol açar. İyi haber şu: Doğru araçlarla sorunun kaynağını çoğu zaman birkaç dakikada bulabilirsiniz.
Bu rehberde istemci ve sunucu tarafı yükü nasıl ölçeceğinizi, yüksek ms kullanan scriptleri nasıl düzelteceğinizi, veritabanı ve asset kaynaklı sorunları ve donanım seçimini anlatıyoruz. Sunucuyu henüz kurmadıysanız FiveM sunucu nasıl kurulur? rehberimizle başlayın.
İki tür yük: istemci ve sunucu
FiveM scriptlerinin çoğu iki parçadan oluşur: oyuncunun bilgisayarında çalışan istemci (client) kodu ve sunucuda çalışan sunucu (server) kodu. İkisi farklı sorunlara yol açar:
| Yük türü | Belirti | Ölçüm aracı |
|---|---|---|
| İstemci tarafı | Oyuncularda FPS düşüşü, takılan ekran | resmon (oyun konsolu) |
| Sunucu tarafı | Herkes aynı anda takılır, araçlar ışınlanır, işlemler gecikir | profiler, txAdmin, hitch uyarıları |
| Ağ | Yalnızca bazı oyuncular ışınlanır | Oyuncunun ping değeri |
Yalnızca belirli oyuncular takılıyorsa önce onların bağlantısına bakın; gecikmenin sebeplerini Ping nedir? yazımızda anlattık.
İstemci tarafını ölçmek: resmon
Oyunda F8 ile konsolu açıp yazın:
resmon 1
Ekranda her scriptin istemci tarafında kullandığı süre (ms) ve bellek listelenir. Neye bakmalısınız:
- Boştaki değerler: Bir scriptin özelliğini kullanmıyorken değeri sıfıra çok yakın olmalıdır. Sürekli 0,1 ms'nin üzerinde kalan bir script, oyuncu hiçbir şey yapmazken bile her karede iş yapıyordur.
- Toplam: Tek tek küçük görünen değerler toplandığında oyuncunun FPS'ini belirgin şekilde düşürebilir.
- Bellek: Sürekli artan bellek kullanımı, bir scriptin bellekten temizlenmeyen veri biriktirdiğini gösterebilir.
Sunucu tarafını ölçmek: profiler ve txAdmin
Sunucu konsolunda (ya da txAdmin'in canlı konsolunda) FiveM'in yerleşik profiler'ı ile sunucunun zamanını nereye harcadığını kaydedebilirsiniz:
profiler record 500
profiler view
İlk komut sonraki 500 tick'i kaydeder, ikincisi kaydı görüntülemek için bir bağlantı verir. Sonuçta hangi scriptin ne kadar süre harcadığını görürsünüz. Ölçümü sunucu kalabalıkken ve takılma yaşanırken alın.
txAdmin de sunucunun performans geçmişini ve oyuncu sayısını grafiklerle gösterir; takılmaların belirli saatlerde mi yoksa sürekli mi olduğunu anlamanızı kolaylaştırır.
Server thread hitch warning: Sunucu konsolunda bu uyarıyı görüyorsanız, sunucunun ana iş parçacığı belirtilen süre boyunca takılmış demektir. Ara sıra görülen kısa uyarılar sorun değildir; sık ve uzun uyarılar yavaş bir sorguya, ağır bir scripte ya da işlemcinin yetişemediğine işaret eder.
Yüksek ms kullanan scriptleri düzeltmek
FiveM'deki performans sorunlarının çoğu birkaç kalıptan kaynaklanır:
Wait(0)ile sonsuz döngüler: Her karede çalışan bir döngü, yalnızca gerçekten her karede yapılması gereken işler (örneğin ekrana çizim, tuş kontrolü) için gerekir. Gerisi için bekleme süresini artırın ve gerekmiyorsa döngüyü hiç çalıştırmayın:CreateThread(function() while true do local sleep = 1000 local coords = GetEntityCoords(PlayerPedId()) if #(coords - hedefKonum) < 10.0 then sleep = 0 -- yakındayken yapılacak işler end Wait(sleep) end end)
Oyuncu hedefe uzakken döngü saniyede bir çalışır; yalnızca yakına geldiğinde her karede çalışır.- Döngü yerine olaylar: Bir şeyin değişip değişmediğini sürekli kontrol etmek yerine olayları (event) ve state bag'leri kullanın.
- Gereksiz native çağrıları: Her karede tekrarlanan pahalı çağrıların sonucunu bir değişkende saklayın.
- Eski ve bakımsız scriptler: Aynı işi yapan daha güncel ve optimize edilmiş bir alternatif çoğu zaman vardır.
- Kullanılmayan scriptler:
server.cfgiçinde başlatılan ama kullanılmayan her script yük oluşturur; kaldırın.
Bir scripti değiştirmeden önce yedeğini alın ve değişikliği mümkünse bir test sunucusunda deneyin.
Veritabanı sorguları
ESX ve QBCore sunucularında oyuncu verileri, envanterler ve araçlar veritabanında tutulur. Yavaş bir sorgu sunucunun takılmasına yol açar. oxmysql, belirli bir süreden uzun süren sorguları konsola yazabilir; server.cfg dosyasına ekleyin:
set mysql_slow_query_warning 150
Konsolda yavaş sorgu uyarıları görüyorsanız:
- İndeks ekleyin. Sık sorgulanan sütunlarda (örneğin oyuncu kimliği) indeks olmaması en sık sebeptir.
- Döngü içinde sorgu çalıştırmayın. Her oyuncu ya da her eşya için ayrı sorgu yerine toplu sorgular kullanın.
- Veritabanını aynı makinede tutun. Sorgular ağ gecikmesi olmadan cevaplanır.
MariaDB'nin performans ayarlarını MySQL ve MariaDB kurulumu rehberimizde anlattık.
Büyük araç ve harita dosyaları
Özel araçlar, MLO'lar (iç mekânlar) ve kıyafetler oyunculara indirilir ve oyunun belleğine yüklenir. Çok büyük doku dosyaları:
- Oyuncuların sunucuya ilk girişini uzatır.
- Oyunun belleğini doldurarak dokuların geç yüklenmesine ve takılmalara yol açar.
FiveM, aşırı büyük asset'ler için sunucu konsolunda uyarı verir. Bu uyarıları ciddiye alın; dokuları sıkıştırarak ya da çözünürlüklerini düşürerek dosya boyutlarını küçültün ve kullanılmayan araç ve harita paketlerini kaldırın.
Sunucu ayarları ve bakım
- Artifact'ı güncel tutun. Yeni sunucu sürümleri performans iyileştirmeleri içerir. Güncellemeden önce yedek alın.
- Düzenli yeniden başlatma. txAdmin'in zamanlanmış yeniden başlatma özelliğiyle sunucuyu oyuncuların en az olduğu saatlerde yeniden başlatın.
- Oyuncu sınırını gerçekçi tutun.
sv_maxclientsdeğerini sunucunuzun ve scriptlerinizin kaldırabileceği sayıya göre belirleyin. - Kaynakları izleyin. İşlemci ve bellek kullanımını takip etmeyi Sunucu izleme rehberimizde anlattık.
Donanım: tek çekirdek hızı
FiveM sunucusunun ana iş parçacığı büyük ölçüde tek çekirdekte çalışır. Bu yüzden çekirdek sayısından çok tek çekirdek hızı önemlidir. Scriptlerinizi optimize ettikten sonra bile sunucu kalabalık anlarda takılıyorsa daha yüksek saat hızlı bir işlemciye geçmek en etkili çözümdür. Saldırılar da FiveM sunucularında ani takılmaların sık sebebidir; DDoS nedir? yazımıza göz atın.
FiveM sunucunuz için Nodesty
Nodesty FiveM sunucu kiralama paketleri, FiveM'in tek çekirdeğe dayanan ana iş parçacığı için 5,7 GHz'e çıkan Ryzen 9 9950X işlemci, veritabanı ve asset'ler için NVMe disk ve L3–L7 DDoS korumasıyla Frankfurt'ta çalışır. Windows ve Linux ek ücret olmadan kurulur, slot ücreti yoktur ve günlük yedekler 7 gün saklanır. Oyuncu sayınız arttığında panelden bir üst pakete geçebilirsiniz.
FiveM, Cfx.re'nin; Grand Theft Auto V, Rockstar Games'in ticari markasıdır. Nodesty bu şirketlerle bağlantılı değildir ve onlar tarafından onaylanmamıştır.
Sıkça Sorulan Sorular
Bir script kaç ms kullanmalı?
Boştayken, yani oyuncu o scriptin bir özelliğini kullanmıyorken iyi yazılmış bir scriptin kullanımı sıfıra çok yakındır. Bir menü açıkken ya da bir işlem sürerken kısa süreli artışlar normaldir. Sürekli 0,1 ms'nin üzerinde kalan scriptler incelenmeye değer; toplam yük tek bir scriptten çok, birçok küçük scriptin toplamından oluşur.
resmon'da gördüğüm değerler sunucuyu mu gösteriyor?
Hayır. Oyunun konsolunda açtığınız resmon, scriptlerin sizin bilgisayarınızdaki (istemci tarafı) kullanımını gösterir. Yüksek istemci ms'i oyuncularda FPS düşüşüne yol açar. Sunucu tarafındaki kullanımı ölçmek için sunucu konsolundaki profiler'ı ve txAdmin'in performans ekranlarını kullanın.
Server thread hitch warning ne demek?
Sunucunun ana iş parçacığının bir an takıldığını, yani bir işin beklenenden uzun sürdüğünü gösterir. Ara sıra görülen kısa uyarılar sorun değildir; sık ve uzun uyarılar ise yavaş veritabanı sorgularına, ağır bir scripte ya da işlemcinin yetişemediğine işaret eder.
Daha fazla RAM vermek lag'i çözer mi?
Genellikle hayır. FiveM sunucularındaki takılmaların çoğu ağır scriptlerden, yavaş veritabanı sorgularından ve işlemcinin tek çekirdekte yetişememesinden kaynaklanır. RAM yalnızca gerçekten tükeniyorsa sorun olur; bunu txAdmin'in ya da sunucunun kaynak ekranlarından kontrol edebilirsiniz.
Oyunculardan bazıları sürekli takılıyor, diğerleri sorunsuz. Neden?
Bu genellikle sunucudan değil, oyuncunun bilgisayarından ya da bağlantısından kaynaklanır. Yüksek istemci ms'i olan scriptler, çok büyük araç ve harita dosyaları ya da oyuncunun yüksek ping değeri belirli oyuncularda takılmaya yol açar. Bütün oyuncular aynı anda takılıyorsa sorun büyük olasılıkla sunucudadır.
Sunucu artifact'ını güncellemeli miyim?
Evet, düzenli olarak. Yeni artifact sürümleri performans iyileştirmeleri ve hata düzeltmeleri içerir. Güncellemeden önce sunucunuzun ve veritabanınızın yedeğini alın ve yeni sürümü mümkünse önce bir test sunucusunda deneyin.
Yazar hakkında
Nodesty Ekibi · Altyapı ve Destek
Nodesty ekibi sunucularımızı, ağımızı ve DDoS korumamızı her gün işletir ve müşteri destek taleplerini 7/24 yanıtlar. Bu rehberler o deneyimden yazılır.
İlgili yazılar

TeamSpeak 3 Sunucu Kurma: Linux Adım Adım Rehber
TeamSpeak 3 sunucusu nasıl kurulur? Linux'ta kurulum, lisans kabulü, privilege key, 9987 ve 30033 portları, systemd servisi, yedekleme ve güvenlik.

Minecraft Velocity Ağı Kurma: Lobi ve Birden Fazla Sunucu
Velocity ile Minecraft sunucu ağı nasıl kurulur? velocity.toml ayarları, modern yönlendirme, Paper arka uç ayarları, güvenlik duvarı ve ağ eklentileri.

Minecraft Modpack Sunucusu Kurma: Forge, NeoForge ve Fabric
Minecraft modpack sunucusu nasıl kurulur? Server pack, Forge, NeoForge ve Fabric kurulumu, Java sürümü, RAM ayarı, istemci modları ve güncelleme adımları.