Bugün 20% tasarruf edin Ödemede WELCOME kodunu kullanın. WELCOME

FiveM Server Optimization: The Definitive 2025 Playbook

Kitle: Üretim FiveM örneğini, istikrarı ve GDPR uyumlu veri işlemeyi korurken sınırlarına kadar zorlamak isteyen deneyimli sunucu sahipleri ve sistem yöneticileri.

Amaç: Çerçeve süresini somut olarak kısaltın, katılım gecikmesini azaltın ve CPU döngülerini serbest bırakın olmadan uzlaşmacı oyun tarzı.


Start – Measure Before Tweaking

  1. Öncelikle yedekleyin. Tüm içeriğinizin site dışında bir kopyasını oluşturun sunucu-verileri klasör ve veritabanı. (here’s how to backup)
  2. Bir referans çalışması oluşturun:# In console resmon 1 # live metrics – see Section 1 profilemode server sv_maxclients 32 # match current population for apples‑to‑apples numbers
  3. Kayıt:
    • Tik zamanı (Bayan)
    • Ortalama resmon kullanımı kaynak başına
    • Katılma-oluşma zamanı (kronometre)

Neden? Temel çizgisi olmayan optimizasyon tahmin işidir. İşleri daha da kötüleştiren herhangi bir değişikliği geri alabilmeniz için bu sayıları saklayın.


Kullanarak resmon Bir Profesyonel Gibi (detaylı rehber)

FiveM Resmon Konsolunun ekran görüntüsü
EmretmekNe işe yarar?Tipik hedef
resmon 1Canlı kaynak izleyicisini başlatır.Geliştirme sunucusu.
resmon_logOrtalamaları CSV'ye döker.Üretim örneklemesi.

Pratik kurallar

  • ≤ 0.40 ms idle usage → keep.
  • 0.40 – 1.00 ms → yakında optimize edilecek.
  • > 1.00 ms → yeniden düzenle veya devre dışı bırak.

Eğer İşlemci % sivri uçlar aynı zamana denk geliyor ~33 FPS sunucu FPS'si düşüyor, darboğaz oluşuyor senaryonuz, ana bilgisayar donanımı değil.


Configuration‑Level Tweaks

2.1 sunucu.cfg Temeller

# Networking
onesync on              # mandatory for >32 slots
sv_maxclients 64        # raise ONLY if tick time < 6 ms after optimisation
sv_maxrate 65000        # bytes/s per client (≈ 520 kbps)
sv_minrate 25000
sv_packetLoss 0.05      # disconnect if 5 % loss sustained
# Performance
set sv_enhancedDriver true   # newer FXServer builds only
sets gamename "gta5"          # avoid legacy fallbacks

Belirsizlik notu: sv_gelişmişSürücü < 6368'den küçük eserlerde deneyseldir; değişiklik günlüğünü doğrulayın.

2.2 İşletim Sistemi ve Ana Bilgisayar

  • Ubuntu 22.04 LTS or Windows Server 2022
  • C durumlarını (BIOS) devre dışı bırakın ve ayarlayın Performans vali
  • Bağlamak FXSunucusu yüksek performanslı çekirdeklere:görev seti -c 2-7 fxserver +exec sunucu.cfg

3 · Kaynak Düzeyinde Optimizasyon

3.1 Pahalı Döngüleri Yeniden Yapılandırma

-- ⚠️ Anti‑pattern (runs every frame)
Citizen.CreateThread(function()
    while true do                 -- NO wait
        local p = PlayerPedId()
        SetPedInfiniteAmmoClip(p, true)
    end
end)
-- ✅ Good: cache + delay
local p = PlayerPedId()
Citizen.CreateThread(function()
    while true do
        SetPedInfiniteAmmoClip(p, true)
        Wait(1000)                -- 1 sec
    end
end)

3.2 Kaldıraçtan yararlanın FiveM Script Optimizasyonu (AI) → deneyin

Lua betiğinizi yapıştırın – model sıkı sonsuz döngüleri, gereksiz yerel öğeleri işaretler ve otomatik yama önerileri sunar. Dağıtımdan önce her zaman diff çıktısını satır satır inceleyin.

3.3 Kullanılmayan Kaynakları Devre Dışı Bırak

emin olmak yalnızca gerçekten ihtiyacınız olanı. Eski betikleri yorum satırına alın:

# eski_araçshop'u güvence altına alın

3.4 Dinamik LOD / Akış Bütçesi

Kullanın r_sürücü paneli İstemcilerde FPS < 50 olduğunda AI trafiği için çizim mesafesini düşürmek için cvar.

More asset advice in Section 4.


4 · Varlık Düzeyinde Optimizasyon

Varlık türüSert sınırTakımlama
.Yılbaşından bu yana doku≤ 16 MiBDoku Araç Takımı, GIMP DDS dışa aktarma
Destek poligon sayısı≤ 50 binBlender decimate + otomatik LOD'lar
.awc ses48000 Hz monoAudacity yeniden örnekleme

Akışlı veriler RAM'de yaşar. aktarım/ altında 1 GB toplam veya riskli bellek dışı istemci çökmeleri.

Daha fazla okuma → Yükleme sürelerini optimize edin.


5 · Veritabanı ve G/Ç

  • Kullanmak mysql-async veya oxmysql; eşzamanlı olmaktan kaçının MySQL.Senkronizasyon.HepsiniAl içerideki keneler.
  • Sıkça sorgulanan sütunlara endeksler ekleyin SEÇ ... NEREDE ... maddeler.
  • Değiştirilemez verileri (örneğin araç adları) veritabanı isabetlerini değil, Lua tablolarında önbelleğe alın.

6 · Sürekli İzleme ve Gerileme Korumaları

  1. Otomatik gecelik resmon_log 120 – CSV’yi Grafana’ya aktar.
  2. Git ön işleme kancası AI Script Optimizer'ı çağırarak.
  3. Yük testi every PR with ≥ double current slot count.

Ek sunucu tarafı işaretçileri → Performansı artırma: Komut dosyalarını optimize edin.


7 · Donanım Duvar Olduğunda

  • Ryzen 7 7800X3D > Intel i9‑14900K for single‑thread latency.
  • 64 GB DDR5 6000 CL30 to minimise page faults.
  • NVMe Gen 4 SSD > 5000 MB/s for fast map streaming.

En azından ev sahibi 1 Gbps yukarı/aşağı; paylaşımlı vCPU planlarını devre dışı bırak.


8 · GDPR ve Gizlilik

Yapmak Olumsuz operasyonel olarak gerekenden daha uzun günlük IP'leri (Gerekçe 39). Karma tanımlayıcılar (SHA‑256) eğer analitiklere ihtiyacınız varsa.

Herhangi bir üçüncü taraf analiz betiğinin ayarlandığından emin olun AynıSite=Lax ve çıkışta temiz.


9 · Checklist (for your Admin Team)

Peki ne yapmalı? Özetle:

#GörevSomut eylem / emirGeçme kriterleri
Uçuş öncesi
1Anlık görüntü ve etikettar -czf backup_$(tarih +%F).tgz ~/fivem/sunucu-verileri && mysqldump -u root -p --tek-işlem fivem > db.sql
Etiket Git: git etiketi prod-$(tarih +%F)
Archives stored off-site & Git CI green
2Eser paritesiBelge FXServer yapısı aşamalı olarak test edildi (örneğin b6362)Aynı yapı numarası prodüksiyonda hazır
3Bakım penceresiOyuncuları bilgilendirin, ayarlayın sv_giriş_belgesi "" veya txAdmin'i etkinleştirin bakım moduYeni katılım yok; mevcut oyuncular uyarıldı
Dağıtmak
4Hizmetleri temiz bir şekilde durduruntxadmin dur veya Ctrl-C konsolda; “Harita kaydediliyor…” bekleyinYetim FXServer işlemi yok
5İkili dosyaları yükseltinYer değiştirmek FXSunucusu & Alp dağları doğrulanmış eser zip'inden./FXServer +sürüm ayarla yeni yapıyı gösterir
6Optimize edilmiş şekilde uygulayın sunucu.cfgİncelenen dosyaya kopyala; çalıştır +exec server.cfg +set comlint 1"Bilinmeyen cvar" hatası yok
7Kaynakları kırpKullanılmayan betikleri taşı kaynaklar-engelli/; ile onaylayın emin olmak listeresmon kaldırılan girdileri gösterir
8Önbelleği temizle ve yeniden oluşturrm -rf önbellek/* Daha sonra gta_cache_haritam'ı kaydet eğer büyük haritalarÖnbellek klasörü yeniden dolduruldu
9DB göçüKoşmak DEĞİŞTİRMEK/DİZİN OLUŞTUR komut dosyaları; test ile AÇIKLAMAKSorgu planında tam tablo taraması yok
10P-çekirdeklerine bağlı başlangıçgörev kümesi -c 2-7 ./FXServer +exec server.cfgSunucu önyüklemeleri; CPU yakınlığı doğru
Doğrulama (10 dk)
11Canlı ölçümlerresmon 1 konsoldaKaynak yok > 1 ms uzun süreli boşta kalma
12Otomatik örnekresmon_log 600 → CSVOrtalama tik ≤ 6 ms; 99. ≤ 8 ms
13Katılım gecikmesiTaze önbellekle yumurtlamaya katılmayı durdurZaman ≤ başlangıç değeri – 10 %
14Fonksiyonel duman testiIşınlan, eşya satın al, aracı sür, garajı kaydetTemel oyun yolları başarılı oldu
Görev sonrası muhafızlar
15Grafana beslemesiCron: `resmon_log 120curl -XPOST …/akın`
16CI regresyon kancasıÖn-işlem AI Script Optimizer diff'i çalıştırır; bloklar > +0.20 ms yeni maliyetKanca sadece yeşilde 0'dan çıkar
17Günlük döndürme ve karma oluşturmaKron: 24 saat find logs/ -mtime +1 -exec shasum -a 256 {} ; -exec rm {}≤ 24 saat saklanan IP'ler (GDPR Gerekçesi 39) gdpr-bilgi.eu
18Yedeklemeyi doğrulaSon anlık görüntüyü sahneye geri yükleyin; test sunucusunu önyükleyinAnlık görüntü önyüklemeleri; veriler bozulmadan
19Sürüm notlarıDeğişiklik günlüğünü ve çalışma süresini Discord'da yayınla; arşivle /dokümanlar/yayınlar.mdPaydaşlar kabul edildi
20Geri alma planı hazırgit checkout prod- ve önceki yedekleme bildirimini kopyalaAşamada geri alma test edildi

Canlı yayına geçmeden önce ikili dosyaları ve yapılandırmayı dondurun, temiz bir yedekleme yapın, CPU yakınlığıyla dağıtın, yeniden çalıştırın resmon her kaynak < 1 ms'ye ulaşana kadar ve GDPR depolama sınırlaması altında kalmak için IP günlüklerini 24 saatten uzun süre tutmayın.


Çözüm

Sayısal bir temel oluşturun, yoğun betikleri yeniden düzenleyin resmon ve AI optimize edici, ince varlıklar, ayar sunucu.cfg, and iterate until tick time stays below 6 ms at peak load.


Kaynaklar

Luka
Luka

Ben Luke, bir oyuncuyum ve FiveM, GTA ve rol yapma hakkında yazmayı seviyorum. Bir rol yapma topluluğu yönetiyorum ve sunucuları yönetme konusunda yaklaşık 10 yıllık deneyimim var.

Articles: 436

Leave a Reply