Fix Palworld Server Crashes
Is your Palworld dedicated server crashing? You're not alone. With any Early Access game, it's not uncommon for game and game server crashes to be a fairly common. In this guide we'll set you up for some practical guides to make your server less prone to crashing and help you get your server back online if it does.
The Most Common Crash: Out of Memory
Commonly referred to as an OOM (Out of Memory) crash, this occurs when the game server greedily needs more ram than either:
The host node that your game server is hosted on doesn't have any more physical RAM
If you're on a platform like Nodecraft: you ran out of the ram allocated to your game server, based on which plan you purchased.
How did my RAM Increase?
As of the first week of launch, Palworld's dedicated server has a pretty impactful memory leak. With just a few players we've seen ram go from 2GB, to 8GB of ram in just a few hours of gameplay.
If you've created game servers for games like Minecraft, this amount of RAM increasing won't make much sense, and it shouldn't. This is a defect/bug that will likely be patched by Pocketpair in the coming weeks or months. Effectively the bug makes it so that the server can't drop the RAM it no longer needs, as it can't identify what can be dropped. We can only speculate as to why the memory increases occur, as it could be anything from Pals not being cleaned up, to resource littering bugs, to pretty much any other part of the dedicated server.
What's important is that there are things you can do to reduce the memory impact and make this memory leak bug less impactful.
Hotfix to reduce Memory Leak
Disabling the bEnableInvaderEnemy
setting is a hotfix that can dramatically reduce RAM and reduce the impact the memory leak has. In our testing we've seen servers reduce RAM usage by over half and remain stable for hours to follow.
From the testing the Nodecraft Support team has conducted, there are still invaders to your base, despite the setting being turned up, so it's unclear what this specifically changes in the Palworld game server.
Changing the Setting
If you're a Nodecraft game server owner, you can disable that by simply going to the Game Settings, unticking the box as shown below for "Enable Invader Enemies" and restarting your server after saving the change.
If you're using another hosting provider: use the instructions below, otherwise skip this step. Update this setting by opening the file located at /Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
. Change the setting to bEnableInvaderEnemy=False
and restart the server.
Use Scheduled Server Restarts
Until this memory leak is completely fixed, there's no way to prevent your server from crashing, especially after it runs for 12+ hours. Thankfully, the easiest solution is to use Nodecraft's Automated Tasks to restart your server every 1-4 hours. If you didn't disable the setting in the section above or if you are running with 4GB or less of RAM, we recommend hourly restarts. If you're running a larger server, we recommend 2-4 hour restarts.
Announce The Restart to your players
Nothing is worse than chasing down a lucky Pal and having the server shut down right after you threw a sphere to catch it. Avoid this by announcing the restart ahead of time, giving players 10, 5, 3, and 1 minute warnings.
Creating the Automated Task
If you're using Nodecraft to create your Palworld Dedicated Server you can add this functionaltiy without any mods or complicated configuration on your host.
Go to the Automated Tasks and create a new Timer based Task. This runs on a loop, we'll select 4 hours in our example, you could change that depending on your needs. Next we'll alternate create a series of "jobs" that start on each automated task run. Each of these will be a series of Broadcasing a message in-game and waiting until we finally restart the server. When it's all done it should look like this:
Note: as of the Early Access version reported at the time of writing this article, the Broadcast command in Palworld doesn't support spaces. This is a reported bug, which means Broadcast Hello World
would only send Hello
. To avoid this we've used underscores "_" to replace the spaces so we can send Broadcast Hello_World
and see Hello_World
ingame.
Restart Palworld Server after crash
Another quick tip for server owners who host their Palworld server at Nodecraft: You can make sure your server starts back up each time it crashes.
Once again, we'll be using the Automated Tasks feature of Nodepanel. This time we're going to make a much more simplified version that simply starts anytime the server stops.
While this does a great job of catching crashes, the current version of Nodepanel doesn't know the difference between a user stopping the server or a server crashing unexpectedly.
This has a fun side-effect of always starting the server back up, even if you do want it to be offline. No worries, you can simply pause the Automated Task to keep it from starting the server if you need to perform maintenance to your server.
More Crashes fixes to come
As the Nodecraft Support and Dev team encounter more crashes, we'll be sure to create additional resources for Palworld server owners to run their servers. If you've got helpful tips for us, please reach out and let us know.