THE ORB
Studio başlatılıyor

Script belleği tükendi

Bir şeyin belleği tükendi. Sunucunun ne kadar meşgul olduğuyla ilgili değil; bir şey birikiyor ve hiç temizlenmiyor.

groupsSaatlerce açık kaldıktan sonra çöküyorcodeGeliştirici gerektirir

Önce şunu yap

Sunucunun ne kadar süredir çalıştığını not et. Yeniden başlatmak bir süreliğine düzeltiyorsa, bu bir sızıntıdır.

bug_reportBunun yerine tüm konsolunu yapıştır

Ne anlama gelir

Bir script çalışma zamanı, alamadığı bir belleği istedi. İstemcide bu oyunu çökertir; sunucuda genelde kaynağı, bazen süreci götürür.

Bir takılmadan farklı olarak bu bir yük belirtisi değildir — bir birikme belirtisidir. Bırakılması gereken bir şey tutuluyor.

Neden olur

Ne sıklıkla doğru cevap olduğuna göre sıralı.

  1. 1

    Yalnızca büyüyen bir tablo

    Katılımda eklenen ve ayrılışta hiç kaldırılmayan oyuncu başına durum. Testten sağ çıkar ve zirvede ölür.

  2. 2

    Oluşturulan ve hiç silinmeyen varlıklar

    Her biri bir havuz yuvası kadar belleğe de mal olur.

  3. 3

    Boşaltması olmayan bir önbellek

    Sınırsız bir şeyle anahtarlanmış — koordinatlar, zaman damgaları, ağ kimlikleri.

  4. 4

    Bellekte tutulan çok büyük metinler

    Komple bir tablonun JSON'ı, tüketilip bırakılmak yerine bir değişkende tutuluyor.

  5. 5

    Gerekenden fazlasını yakalayan kapanışlar

    Her kapanış upvalue'larını canlı tutar, yani saklanan tek bir geri çağırma, büyük bir tablonun hiç toplanmamasına yol açabilir.

Hangisinin seninki olduğu nasıl anlaşılır

Bir anda değil, zaman içinde izle:

-- sunucu, dakikada bir
print(('lua kb: %.0f'):format(collectgarbage('count')))

Nüfus zirveleri boyunca yalnızca yükselen bir sayı bir sızıntıdır. Yükselip düşen normaldir.

Nereye bakmalı

Ölen kaynaktaki dosya kapsamındaki her tablo, ve ondan hiç silen bir şey olup olmadığı.

Nasıl düzeltilir

Çıkarken her zaman sil:

AddEventHandler('playerDropped', function()
    local src = source
    playerState[src] = nil        -- insanların unuttuğu satır
    cache[src] = nil
end)

Hâ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 Script Optimizer sana kare kaybettiren şeyi bulur ve yeniden yazar.

Bununla birlikte gelen hatalar