- Yayın
- 2025-01-09
- Destek
- Ömrü dolmuş (EOL)
- Commit
- c95b323ade
- FiveM
- —
Bu build'deki bilinen sorunlar
Eksik düzeltmeler (bu build hâlâ açık)
Bozuk bağlantı, HTTP ve latent event verisiyle sunucu çökmesi
Bağlantı el sıkışması, HTTP istek ayrıştırıcısı ve latent event birleştirmede sınır kontrolleri eksikti. Özel hazırlanmış veri gelince sunucu çökebiliyordu ve sunucu portuna ulaşabilen herkes bunu tetikleyebiliyordu. 38435 veya üstüne geç.
Tek bir oyuncu game event yağdırarak sunucuyu kilitleyebiliyordu
37262 öncesinde netGameEvent paketlerine çekirdekte bir hız sınırı yoktu. Tek bir oyuncu weaponDamageEvent gibi eventleri yağdırıp ana thread'i kilitleyebiliyor, txAdmin de sunucuyu yeniden başlatmak zorunda kalıyordu. Sorun 35636 ve 36727'de raporlandı. 37262 ile yeni 'netGameEvent' hız sınırını aşan oyuncu sunucudan atılıyor.
Latent event birleştirmeye sınır getirildi
Oyuncudan sunucuya gelen büyük latent eventlerin birleştirilmesine kesin sınırlar ve 'latent ACK overflow' için teşhis kaydı eklendi. Eski sürümlerde bir oyuncu gereğinden fazla yarım event durumu tutturabiliyordu, bu da bellek ve CPU yiyordu.
Oyuncu latent eventlerinde daha sıkı hız sınırı
Oyunculardan gelen latent (TriggerLatentServerEvent) trafiğinin hız sınırı, reassembly paket işleyicisinde sıkılaştırıldı. Eski sürümlerde bir oyuncu latent event trafiğini olması gerekenden fazla zorlayabiliyordu.
Oyuncular artık birden fazla oyuncu objesi oluşturamıyor
OneSync'te modlu bir istemci kendisi için birden fazla ağ oyuncu objesi (CNetObjPlayer) kaydedebiliyordu. Bu, desync ve çökme için bilinen bir suistimal yolu. 23984'ten beri sunucu fazlalarını reddediyor.
Yeni block_net_game_event komutu
Sunucu sahipleri artık block_net_game_event ile oyunculardan gelen belirli net game event türlerini engelleyebiliyor, unblock_net_game_event ile de geri açabiliyor. Bir event türü suistimal ediliyorsa işe yarar. Komut 16541'de sadeleştirildi.
sv_protectServerEntities: sunucu entity'lerini oyuncular silemesin
Varsayılanı kapalı olan bu yeni replicated convar, sunucu scriptlerinin oluşturduğu entity'leri oyuncuların silmesine karşı korur. Hileciler sunucunun spawnladığı araç, ped ya da propları siliyorsa 14317 veya üstüne geç ve sv_protectServerEntities true yap.
Başkalarının entity'lerinde synchronized scene artık filtreleniyor
Sunucu artık bir oyuncunun sahibi olmadığı entity'ler üzerinde başlattığı network synchronized scene'leri kontrol ediyor. Bu, başka oyunculara zorla animasyon oynatmanın yaygın bir yolu. 13174 ayrıca bunu entity bazında yönetmek için SET/GET_ENTITY_REMOTE_SYNCED_SCENES_ALLOWED native'lerini ekliyor.
State bag sıkı modu (sv_stateBagStrictMode)
setr sv_stateBagStrictMode true yaparsan oyuncular replicated state bag'leri hiç değiştiremez, onları yalnızca sunucu yazar. Scriptlerin istemciden yazılan state bag'e ihtiyaç duymuyorsa aç, çünkü hileciler bunları sık sık suistimal ediyor.
Boş ses mesajlarıyla voip-server-mumble çökmesi
Sunucu, istemcilerden gelen boş Mumble mesajlarını kabul ediyordu ve bu FXServer'ı voip-server-mumble içinde çökertebiliyordu (GitHub #3054, 12180'de raporlandı). 12906'dan beri bir mesajın en az bir bayt taşıması gerekiyor.
Mumble sunucusu ağ dayanıklılığı
Aşırı büyük ya da geçersiz giden ses mesajları eskiden bir assertion'a takılıyordu. Artık sessizce atılıyorlar ve gönderim kuyruğu düzgün boşaltılıyor. Ses sunucusunun kötü trafik altında takılma veya çökme ihtimali azalıyor.