De servers van Project Zomboid gebruiken nu minder RAM-geheugen.
De servers van Project Zomboid op AleForge draaien nu lichter en slimmer. In plaats van geheugen te hamsteren vanaf het moment dat ze opstarten en dat niet meer vrij te geven, beheren onze servers nu actief je RAM-geheugen gedurende de hele levensduur van je wereld.
Hoewel het piekgeheugengebruik bij het opstarten aanzienlijk is gedaald (van een maximum van 10 GB naar 8,8 GB bij een standaardabonnement van 10 GB), is het echte voordeel de ongeëvenaarde stabiliteit tijdens lange speelsessies. Er zijn geen instellingen om aan te passen of bestanden om te bewerken. Geef je server gewoon een snelle herstart en deze nieuwe optimalisaties worden direct van kracht.
Het probleem met geheugenopblazing
Build 42 voegt geheugenintensieve nieuwe functies, zoals dierensystemen, toe aan de Java-gebaseerde engine van Project Zomboid. Voorheen gebruikte de dedicated server permanent 8 GB RAM. Die hoeveelheid was al nodig om de server op te starten, en daarnaast verbruikte de server nog meer geheugen naarmate spelers de kaart verkenden, buit verzamelden en hordes bestreden.
Met een abonnement van 10 GB zorgde dit rigide geheugenbeheer er al snel voor dat de server overbelast raakte. Tijdens een lange gamesessie liep het geheugengebruik langzaam op naarmate spelers tussen steden reisden. Uiteindelijk bereikte de server zijn geheugenlimiet, waardoor deze begon te haperen, te vertragen of volledig crashte. Serverbeheerders moesten dan regelmatig herstarts inplannen om het “dode” geheugen vrij te maken.
We hebben onderzocht of het mogelijk was om over te stappen op een andere Java-versie, maar Build 42 wordt al geleverd met Azul Java 25, de snelste runtime die beschikbaar is voor dit spel. De werkelijke prestatiewinst zat niet in het vervangen van Java, maar in de manier waarop het geheugen toewijst, beheert en opruimt.
Hoe we het hebben opgelost
- Dynamische geheugenlimieten: Java gebruikt nu dynamisch tot 80% van uw abonnement, beginnend met een veel kleinere geheugenvoetafdruk. Een server van 10 GB houdt ongeveer 2 GB strikt buiten die limiet voor niet-heap Java-geheugen en native Project Zomboid-services die niet in de hoofd-Java-thread draaien. Grotere abonnementen schalen automatisch mee met hogere limieten, wat betekent dat deze ene configuratie perfect werkt voor elke servergrootte zonder handmatige aanpassingen.
- Actieve geheugendeduplicatie: We hebben twee specifieke JVM-argumenten ingeschakeld om de geheugenvoetafdruk van de server tijdens het spelen drastisch te verkleinen.
-XX:+UseCompactObjectHeadersverkleint de geheugenoverhead die nodig is voor elk object dat het spel aanmaakt, van zombies en voertuigen tot gedropte items. Tegelijkertijd zoekt-XX:+UseStringDeduplicationactief naar identieke tekstgegevens (zoals herhaalde itemnamen of tegeleigenschappen) en voegt deze samen in plaats van meerdere redundante kopieën op te slaan. Dit voorkomt geheugenoverbelasting wanneer spelers grote delen van de kaart verkennen. - Agressief geheugenherstel: Oudere Java-configuraties hielden geheugen permanent vast. Nu geeft de server het geheugen ongeveer twee minuten nadat het niet langer actief nodig is, bijvoorbeeld wanneer spelers een drukbevolkte stad verlaten of ’s avonds uitloggen, terug aan het systeem. Een lege of weinig gespeelde wereld blijft daardoor niet langer op piekgebruik van het geheugen tot de volgende herstart. We hebben ook het achtergrondgeheugen dat het besturingssysteem naast Java vasthoudt, verminderd.
Opmerking over updates: Game-updates overschrijven en resetten standaard de geheugeninstellingen. AleForge past deze aangepaste optimalisaties nu automatisch opnieuw toe elke keer dat uw server start, ook direct na een update.
Wat dit in het spel betekent
Je opgeslagen wereld, geïnstalleerde mods en aangepaste sandbox-instellingen blijven precies zoals ze zijn.
Doordat de server zijn resources proactief beheert, is het grootste verschil merkbaar tijdens lange speelsessies van meerdere dagen. Je hoeft de server niet langer constant opnieuw op te starten om hem soepel te laten draaien, hoewel af en toe herstarten nog steeds een goede gewoonte is voor de algehele serverstabiliteit. Terwijl spelers zich over de kaart bewegen, worden redundante gegevens actief verwijderd en worden ongebruikte geheugenallocaties snel opgeruimd om lag-pieken in de late fase van het spel te voorkomen.
Als je server leeg staat terwijl mensen aan het werk zijn of slapen, wordt het ongebruikte geheugen gewoon weer vrijgegeven aan het systeem. Als je een enorme communityserver beheert met tientallen spelers en zware mods, gebruik je nog steeds veel RAM, maar het beschikbare geheugen wordt zo efficiënt mogelijk beheerd. Zo voorkom je dat je gameplay wordt belemmerd door Java-overhead of overbodige processen.
Wat u moet doen
Herstart je Project Zomboid-server via het AleForge-configuratiescherm. Servers die al online zijn, zullen deze optimalisaties de volgende keer dat ze opstarten automatisch toepassen.
Ben je klaar om de apocalyps te overleven? Bekijk onze serverhostingpakketten voor Project Zomboid .