THE ORB
Studio wird gestartet

Entity- oder Pool-Limit erreicht

Dem Spiel ist der Platz für Fahrzeuge, Personen oder Objekte ausgegangen. Etwas erzeugt sie und räumt nie auf.

groupsNichts Neues kann mehr spawnencodeBraucht einen Entwickler

Mach das zuerst

Ein Neustart räumt es vorübergehend auf. Zu finden, welches Script leckt, ist der echte Fix.

bug_reportFüg lieber deine ganze Konsole ein

Was es bedeutet

GTA hat harte Pools für Fahrzeuge, Peds und Objekte. Ist einer voll, gibt jede weitere Erzeugung dieser Art 0 zurück, bis etwas gelöscht wird. Die typische Konsolenform ist Ran out of object slots oder eine Pool-voll-Warnung.

In der Praxis sind Fahrzeuge am knappsten, und ein Server, der seit Tagen läuft, erreicht das eher als ein frisch neu gestarteter — das ist der Hinweis.

Was es auslöst

Sortiert danach, wie oft es die Antwort ist.

  1. 1

    Erzeugte und nie gelöschte Entities

    Die häufigste Ursache überhaupt. Ein Job-Script spawnt pro Einsatz ein Fahrzeug und löscht es nur auf dem guten Weg.

  2. 2

    Props, die pro Interaktion erzeugt werden

    Ein Prop, das während einer Animation angeheftet wird, dann bricht die Animation ab und das Prop bleibt verwaist.

  3. 3

    Verwaiste Entities, nachdem ein Spieler gegangen ist

    Alles, was sie erzeugt haben, bleibt, bis etwas es entfernt.

  4. 4

    Ein Leck in einer Schleife

    Ein Thread, der erzeugt, bevor er prüft, ob er schon eines hat.

Wie du erkennst, welcher deiner ist

-- Server
print(#GetAllVehicles(), #GetAllPeds(), #GetAllObjects())

Beobachte es eine Stunde. Eine Zahl, die nur steigt, ist ein Leck, und die wachsende Art sagt dir, welches Script du ansehen musst.

Wo du nachsehen musst

Jeder Create*-Aufruf und ob jeder auf allen Wegen — auch den Fehlerwegen — ein DeleteEntity hat.

Wie du es behebst

Lösch auf jedem Ausstiegsweg und kehr auf, was geleckt ist:

local veh = spawnVehicle(...)
local ok = pcall(doTheJob, veh)
if DoesEntityExist(veh) then DeleteEntity(veh) end

-- und räum auf, wenn ein Spieler geht
AddEventHandler('playerDropped', function()
    local src = source
    for _, veh in ipairs(GetAllVehicles()) do
        if NetworkGetEntityOwner(veh) == src then DeleteEntity(veh) end
    end
end)

Hängst du immer noch an deinem eigenen Code?

Diese Seite sagt, was dieser Fehler üblicherweise bedeutet. Füg deine Konsole in Server Fixer ein: es sortiert alles darin und sagt dir, was zuerst dran ist; und wenn du lieber nicht ranwillst, kann ORBIE das Script reparieren und dir die Resource fertig zum Einsetzen zurückgeben.

bug_reportServer Fixer öffnen

Für diese Art Fehler Sicherheitsscanner markiert die Event-Behandlung, die hierher führt.

Fehler, die mit diesem zusammen auftreten