İçeriğe geç
17 çevrimiçi·104 üyeİlan Pazarı
fivemci.net
Discord'a katıl
Bu alana reklam ver
970×90 · Üst Leaderboard

FiveM Optimizasyon Rehberi: Sunucu ve Script Performansını Artırmanın Yolları

3 görüntülenme · 0 cevap
F
fivemci.netYönetici25.10.2026 23:21

Oyuncuların bir sunucudan ayrılmasının en büyük nedenlerinden biri düşük FPS, takılmalar ve gecikmedir. İyi haber şu ki performans sorunlarının çoğu ölçülebilir ve düzeltilebilir. Bu rehberde FiveM sunucunda performansı nasıl ölçeceğini, istemci ve sunucu tarafında hangi ayarların fark yarattığını ve script yazarken nelere dikkat etmen gerektiğini anlatıyoruz.

Önce ölç, sonra düzelt

Tahminle optimizasyon yapmak zaman kaybıdır. FiveM'in yerleşik araçlarıyla sorunun kaynağını bul:

  • resmon (istemci): Oyunda F8 konsoluna resmon 1 yaz. Her kaynağın istemci tarafında harcadığı süreyi milisaniye (ms) olarak gösterir. Boşta çalışan bir script için 0.00-0.03 ms iyi, 0.10 ms üzeri dikkat edilmesi gereken bir değerdir.
  • profiler (sunucu): Sunucu konsolunda profiler record 500 ve ardından profiler view komutlarıyla sunucu tarafında hangi kaynağın ne kadar süre harcadığını görebilirsin.
  • txAdmin performans grafiği: Sunucunun tick süresini ve bellek kullanımını zaman içinde gösterir. Ani sıçramalar belirli bir saatte devreye giren scriptleri işaret eder.

Ölçümü yoğun saatte ve boş saatte ayrı ayrı yap; bazı sorunlar yalnızca oyuncu sayısı arttığında ortaya çıkar.

Script tarafında en sık yapılan hatalar

Her karede çalışan döngüler

while true do Wait(0) ... end yapısı kodu saniyede 60 kez veya daha fazla çalıştırır. Bir işaretleyici (marker) çizmek ya da tuş kontrolü yapmak için gerekli olabilir, ama oyuncu ilgili bölgeden uzaktayken döngünün uyuması gerekir:

CreateThread(function()
  while true do
    local uyku = 1000
    local mesafe = #(GetEntityCoords(PlayerPedId()) - hedef)
    if mesafe < 10.0 then
      uyku = 0
      -- marker çiz, tuş kontrol et
    end
    Wait(uyku)
  end
end)

Bu basit değişiklik birçok scriptin istemci yükünü %90'ın üzerinde azaltır.

Gereksiz native çağrıları

PlayerPedId() ve GetEntityCoords() gibi fonksiyonları aynı karede defalarca çağırmak yerine bir değişkende sakla. Döngü içinde tablo oluşturmak da çöp toplayıcıyı (garbage collector) yorar.

Etkileşim için hedefleme sistemleri

Her NPC ya da kapı için ayrı döngü yazmak yerine ox_target gibi hedefleme kütüphaneleri kullan. Tek bir sistem bütün etkileşimleri yönetir.

Veritabanı sorguları

Her saniye veritabanına yazan scriptler sunucuyu yavaşlatır. Verileri bellekte tutup belirli aralıklarla toplu kaydetmek ve sık kullanılan sütunlara indeks eklemek büyük fark yaratır. oxmysql ile prepare sorguları kullanmak hem hızlı hem de SQL enjeksiyonuna karşı güvenlidir.

Sunucu tarafı ayarlar

  • OneSync: Güncel sunucularda varsayılandır ve 48'in üzerindeki oyuncu sayıları için zorunludur. Varlık (entity) senkronizasyonunu verimli yönetir.
  • Entity sayısını sınırla: Sahipsiz kalan araçlar ve NPC'ler zamanla birikir. Belirli aralıklarla kullanılmayan araçları temizleyen bir sistem kullan.
  • Planlı restart: Günde 2-4 kez yeniden başlatma, bellek sızıntılarının etkisini sıfırlar. Ayrıntılar txAdmin rehberimizde.
  • Donanım: FiveM sunucusu tek çekirdek performansına çok bağlıdır. Yüksek saat hızlı bir işlemci, çok çekirdekli ama yavaş bir işlemciden daha iyi sonuç verir. Bkz. hosting seçimi rehberi.

İstemci tarafı: Oyuncuların FPS'i

Sunucu sahibi olarak oyuncuların FPS'ini doğrudan etkileyen şeyler şunlardır:

  • Stream dosyalarının boyutu: Büyük araç ve MLO dokuları bellek tüketir. 4K doku yerine 2K yeterlidir.
  • Araç sayısı: Yüzlerce eklenti araç, oyuncunun ilk girişini ve belleğini zorlar. Gerçekten kullanılan araçları tut.
  • Arayüzler (NUI): Sürekli açık kalan, saniyede birçok kez güncellenen HUD'lar FPS düşürür. Değer değişmediğinde arayüzü güncellemeyen HUD'lar tercih et.

MLO'lara özel performans önerilerini MLO rehberimizde bulabilirsin.

Optimizasyon kontrol listesi

  • resmon ile 0.10 ms üzeri harcayan scriptleri listele.
  • Bu scriptlerin güncel sürümü var mı, kontrol et.
  • Kendi yazdığın scriptlerde uyku sürelerini dinamik yap.
  • Kullanılmayan scriptleri ve stream dosyalarını kaldır.
  • Veritabanı tablolarına gerekli indeksleri ekle.
  • Planlı restart saatlerini ayarla.
  • Değişikliklerden sonra yeniden ölç ve karşılaştır.

Takıldığın noktada Teknik Destek bölümünde resmon ekran görüntüsüyle birlikte konu açarsan topluluk daha hızlı yardımcı olur.

Sıkça Sorulan Sorular

resmon'da kaç ms normaldir?

Boşta çalışan çoğu script için 0.00-0.03 ms idealdir. Aktif kullanım sırasında (örneğin bir menü açıkken) değerin geçici olarak yükselmesi normaldir.

Sunucumda herkes lag yaşıyor, sorun nerede?

Herkes aynı anda takılıyorsa sorun büyük ihtimalle sunucu tarafındadır: işlemci yetersizliği, ağır bir script ya da ağ sorunu. txAdmin grafiğindeki tick süresine ve profiler çıktısına bak.

Sadece bazı oyuncular FPS sorunu yaşıyor, neden?

Genellikle istemci tarafıdır: oyuncunun donanımı, büyük stream dosyaları ya da belirli bir bölgedeki MLO. Oyuncudan resmon ekran görüntüsü iste.

OneSync açmak performansı düşürür mü?

Hayır. OneSync güncel sunucularda standarttır ve varlık senkronizasyonunu daha verimli yapar.

Kaç script çok fazladır?

Sayıdan çok kalite önemlidir. 300 iyi yazılmış script, 50 kötü yazılmış scriptten daha az yük oluşturabilir.

Bu alana reklam ver
728×90 · Konu İçi Banner
?
Cevap yazmak için giriş yap ya da ücretsiz kayıt ol.

İlgili konular

Tüm FiveM rehberleri →

Esc
↑ ↓ gezinEnter aç? kısayollar

Klavye kısayolları

Komut paleti
CtrlK
Aramaya odaklan
/
Ana sayfa
GH
İlanlar
GP
Yeni ilan
GN
Sunucular
GS
Forum
GF
Cüzdan
GC
Favoriler
GV
Bu pencere
?