Reliable network event overflow
Bir script tek bir oyuncuya o kadar çok şey gönderdi ki bağlantısı yetişemedi, ve o oyuncu atıldı.
Önce şunu yap
Kimlere ve ne zaman olduğunu not et. Bunun için birinin gürültücü script'i bulması gerekiyor.
Ne anlama gelir
Bir istemci için, güvenilir kanalın tutabileceğinden fazla olay kuyruğa alındı. FiveM daha da geride kalmak yerine bağlantıyı düşürür, o yüzden oyuncular belirgin bir sebep olmadan atılır.
Kanal istemci başınadır, yani atılan oyuncu, illa olağandışı bir şey yapan kişi değildir.
Neden olur
Ne sıklıkla doğru cevap olduğuna göre sıralı.
- 1
Bir tick döngüsünde tetiklenen bir olay
Kısa bir Wait'li bir thread'in içinde, oyuncu başına
TriggerClientEvent, ders kitabı nedenidir. - 2
Bir döngüde yayın
Tekrar eden herhangi bir şeyin içinde
TriggerClientEvent('x', -1, ...), oyuncu sayısıyla çarpılır. - 3
Çok büyük yükler
Komple bir envanter ya da her oyuncunun haritası, sık sık gönderilir. Boyut, kanalı sayı kadar kesin doldurur.
- 4
İstemciyle sunucu arasında bir geri besleme döngüsü
İstemci bir sunucu olayı tetikler, sunucu bir istemci olayıyla yanıtlar, istemci yine yanıtlar.
- 5
Bir olayı spamleyen bir hileci
Ki bu aynı zamanda bir güvenlik sorunudur — güvenlik açığı tarayıcısına bak.
Hangisinin seninki olduğu nasıl anlaşılır
Onları say. Sunucuda bir dakika boyunca olay başına bir sayaç, suçluyu hemen ortaya çıkarır:
local counts = {}
local realTrigger = TriggerClientEvent
-- sarmala, say, 60 saniyede bir yazdırNereye bakmalı
Bir CreateThread içindeki her TriggerClientEvent, ve -1'e yapılan her yayın.
Nasıl düzeltilir
Olay akışı değil, durum gönder. State bag'ler bir kez ve yalnızca değiştiklerinde çoğaltılır:
-- her tick'te TriggerClientEvent yerine
Entity(veh).state:set('fuel', level, true)Olay göndermek zorunda olduğunda, kıs ve topla:
if GetGameTimer() - lastSend > 1000 then
lastSend = GetGameTimer()
TriggerClientEvent('myres:update', src, batchedPayload)
endHâlâ kendi kodunda mı takıldın?
Bu sayfa, bu hatanın genelde ne anlama geldiğini anlatır. Konsolunu Server Fixer'a yapıştır; içindeki her şeyi sıraya dizer ve önce ne yapman gerektiğini söyler. Kendin uğraşmak istemiyorsan ORBIE script'i onarır ve kaynağı sunucuna atmaya hazır geri verir.
bug_reportServer Fixer'ı açBu tür bir hata için Güvenlik Tarayıcısı buraya götüren olay işleme biçimini işaretler.