
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
- Öncelikle yedekleyin. Tüm içeriğinizin site dışında bir kopyasını oluşturun
sunucu-verileriklasör ve veritabanı. (here’s how to backup) - 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 - 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)

| Emretmek | Ne işe yarar? | Tipik hedef |
|---|---|---|
resmon 1 | Canlı kaynak izleyicisini başlatır. | Geliştirme sunucusu. |
resmon_log | Ortalamaları 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ır | Takımlama |
.Yılbaşından bu yana doku | ≤ 16 MiB | Doku Araç Takımı, GIMP DDS dışa aktarma |
| Destek poligon sayısı | ≤ 50 bin | Blender decimate + otomatik LOD'lar |
.awc ses | 48000 Hz mono | Audacity 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.HepsiniAliç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ı
- Otomatik gecelik
resmon_log 120– CSV’yi Grafana’ya aktar. - Git ön işleme kancası AI Script Optimizer'ı çağırarak.
- 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örev | Somut eylem / emir | Geçme kriterleri |
|---|---|---|---|
| Uçuş öncesi | |||
| 1 | Anlık görüntü ve etiket | tar -czf backup_$(tarih +%F).tgz ~/fivem/sunucu-verileri && mysqldump -u root -p --tek-işlem fivem > db.sqlEtiket Git: git etiketi prod-$(tarih +%F) | Archives stored off-site & Git CI green |
| 2 | Eser paritesi | Belge FXServer yapısı aşamalı olarak test edildi (örneğin b6362) | Aynı yapı numarası prodüksiyonda hazır |
| 3 | Bakım penceresi | Oyuncuları bilgilendirin, ayarlayın sv_giriş_belgesi "" veya txAdmin'i etkinleştirin bakım modu | Yeni katılım yok; mevcut oyuncular uyarıldı |
| Dağıtmak | |||
| 4 | Hizmetleri temiz bir şekilde durdurun | txadmin dur veya Ctrl-C konsolda; “Harita kaydediliyor…” bekleyin | Yetim FXServer işlemi yok |
| 5 | İkili dosyaları yükseltin | Yer değiştirmek FXSunucusu & Alp dağları doğrulanmış eser zip'inden | ./FXServer +sürüm ayarla yeni yapıyı gösterir |
| 6 | Optimize edilmiş şekilde uygulayın sunucu.cfg | İncelenen dosyaya kopyala; çalıştır +exec server.cfg +set comlint 1 | "Bilinmeyen cvar" hatası yok |
| 7 | Kaynakları kırp | Kullanılmayan betikleri taşı kaynaklar-engelli/; ile onaylayın emin olmak liste | resmon kaldırılan girdileri gösterir |
| 8 | Önbelleği temizle ve yeniden oluştur | rm -rf önbellek/* Daha sonra gta_cache_haritam'ı kaydet eğer büyük haritalar | Önbellek klasörü yeniden dolduruldu |
| 9 | DB göçü | Koşmak DEĞİŞTİRMEK/DİZİN OLUŞTUR komut dosyaları; test ile AÇIKLAMAK | Sorgu planında tam tablo taraması yok |
| 10 | P-çekirdeklerine bağlı başlangıç | görev kümesi -c 2-7 ./FXServer +exec server.cfg | Sunucu önyüklemeleri; CPU yakınlığı doğru |
| Doğrulama (10 dk) | |||
| 11 | Canlı ölçümler | resmon 1 konsolda | Kaynak yok > 1 ms uzun süreli boşta kalma |
| 12 | Otomatik örnek | resmon_log 600 → CSV | Ortalama tik ≤ 6 ms; 99. ≤ 8 ms |
| 13 | Katılım gecikmesi | Taze önbellekle yumurtlamaya katılmayı durdur | Zaman ≤ başlangıç değeri – 10 % |
| 14 | Fonksiyonel duman testi | Işınlan, eşya satın al, aracı sür, garajı kaydet | Temel oyun yolları başarılı oldu |
| Görev sonrası muhafızlar | |||
| 15 | Grafana beslemesi | Cron: `resmon_log 120 | curl -XPOST …/akın` |
| 16 | CI regresyon kancası | Ön-işlem AI Script Optimizer diff'i çalıştırır; bloklar > +0.20 ms yeni maliyet | Kanca sadece yeşilde 0'dan çıkar |
| 17 | Günlük döndürme ve karma oluşturma | Kron: 24 saat find logs/ -mtime +1 -exec shasum -a 256 {} ; -exec rm {} | ≤ 24 saat saklanan IP'ler (GDPR Gerekçesi 39) gdpr-bilgi.eu |
| 18 | Yedeklemeyi doğrula | Son anlık görüntüyü sahneye geri yükleyin; test sunucusunu önyükleyin | Anlık görüntü önyüklemeleri; veriler bozulmadan |
| 19 | Sürüm notları | Değişiklik günlüğünü ve çalışma süresini Discord'da yayınla; arşivle /dokümanlar/yayınlar.md | Paydaşlar kabul edildi |
| 20 | Geri alma planı hazır | git checkout prod- ve önceki yedekleme bildirimini kopyala | Aş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.






