Hosting Guides

Setting Up an Automated Palworld Server via AMP (Ubuntu 24.04)

6 min readUbuntu 24.04AMPUnreal
Once your server is online, jump to the Palworld command and config reference.

AMP (Application Management Panel) by CubeCoders is the premier commercial alternative to Pterodactyl, and on a single box dedicated to one or two heavy survival titles, it is frankly the more pragmatic choice. Where Pterodactyl asks you to model your environment as nodes, allocations, eggs, and Docker networks, AMP collapses the whole stack into a native instance manager that handles steamcmd, memory trimming, and process supervision on the host directly.

That distinction matters for Palworld in particular. The game has well documented memory leaks during extended play sessions, with the dedicated server process gradually ballooning until the host starts swapping and pal AI synchronization degrades into visible rubber banding. AMP ships with a first class scheduled task scheduler that can broadcast in game warnings, save the world, and cycle the instance on a cron style rule, all without writing a single shell script. Leveraging that scheduler to enforce a memory aware daily restart is the single most important thing you can do to keep a Palworld community happy.

Prerequisites

  • A fresh Ubuntu 24.04 LTS installation on a VPS or dedicated box.
  • Root or sudo access on that host.
  • A valid AMP license key, or a trial key issued by CubeCoders.
  • A minimum of 8 GB of RAM (16 GB strongly recommended for active groups) due to the Palworld engine's appetite.

Step 1: System Pre-requisites and Repositories

AMP handles almost all of its own runtime configuration, including the creation of a dedicated system user and the lifecycle of each game instance. It does, however, expect a clean Ubuntu baseline with HTTPS transport for apt and the specialized container utilities it leans on for sandboxing instances. The block below refreshes the OS, installs the prerequisite tooling, and pulls the official CubeCoders repository key cleanly into the modern keyring location, no deprecated apt-key usage.

root@host
apt update && apt upgrade -y
apt install -y ca-certificates curl gnupg apt-transport-https \
software-properties-common lsb-release tmux jq ufw
install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://repo.cubecoders.com/archive.key \
| gpg --dearmor -o /etc/apt/keyrings/cubecoders.gpg
echo "deb [signed-by=/etc/apt/keyrings/cubecoders.gpg] https://repo.cubecoders.com/ debian/" \
> /etc/apt/sources.list.d/cubecoders-amp.list
apt update

Step 2: Installing the AMP Instance Manager

CubeCoders maintains an official quick install script that performs the full bootstrap, dependency resolution, license agreement, system user creation, and ADS (the AMP Instance Manager web service) provisioning in one pass. Run it as root.

root@host
bash <(wget -qO- getamp.sh)

The installer will walk through a short series of interactive prompts. Accept the EULA, then confirm the creation of the administrative amp system user (this is the unprivileged account that will own every game instance the panel ever spawns). When asked for the default web port for the controller, the default of 8080 is correct for almost every deployment. The installer finishes by starting the ampinstmgr service and printing the URL of the freshly minted web panel.

Step 3: Initial Web Setup and Licensing

Open a browser and navigate to your panel:

Browser
http://your-vps-ip:8080

You will land on the first run wizard. Paste your AMP license key into the activation field, set the primary administrator login credentials (use a long passphrase, this account holds the keys to every instance on the host), and complete the wizard. AMP validates the key against CubeCoders, writes the entitlement to disk, and reloads the panel into normal operating mode.

Step 4: Creating and Tuning the Palworld Instance

Inside the dashboard, click Create Instance in the Instance Management view. Give the instance a short, memorable name (such as palworld-main), then open the deployment dropdown and pick Palworld Dedicated Server. AMP will resolve the correct module, allocate a network port (default 8211/UDP), and kick off the steamcmd download into the instance's sandboxed filesystem.

Once the install completes, open the new instance and head into the Configuration menu. The defaults are conservative. The block below is what you actually want for a healthy 16 to 32 player community server. Drop these values into the corresponding fields in the AMP UI (server settings, performance, and launch arguments respectively).

Palworld instance configuration
# Network and slots
ServerName="My Palworld Server"
PublicPort=8211
ServerPlayerMaxNum=32
# Simulation tick rate (Hz). 60 is the sweet spot for movement
# fidelity without crippling CPU usage on commodity VPS hardware.
ServerFPS=60
# Multi thread processing flags exposed by AMP
UseMultithreadForDS=True
bIsMultithreaded=True
NumberOfWorkerThreadsServer=0 ; 0 means auto detect physical cores
# Save and pal AI cadence (lower values = smoother sync, more disk IO)
AutoSaveSpan=900
BaseCampMaxNumInGuild=4
CoopPlayerMaxNum=4

The ServerFPS field is the one most admins leave at the default 30 and then wonder why pal pathing looks jittery. Pushing it to 60 doubles the simulation cadence, which directly translates into smoother player movement and crisper pal AI synchronization, at the cost of roughly a 1.6x CPU bump. On a modern 4 vCPU VPS, that is a trade you absolutely want to make. Hit Update Config, then Start the instance and confirm the console reports a healthy boot.

Step 5: Mitigating Palworld Memory Leaks

With the instance running, open the Scheduler tab on the left rail. This is AMP's native cron style task engine, and it is the entire reason commercial admins prefer this panel for survival games. You are going to build a single rule that flushes the leaked memory on a fixed cadence without ever requiring you to be at the keyboard.

Click Add Recurring Trigger, set the interval to Every 12 hours, and then attach the following ordered task chain. Each task is a built in AMP action, configured in the panel UI, no scripting required.

AMP Scheduled Task: palworld-memory-recycle
Trigger: Every 12 hours
Task 1 Send Broadcast Message
Message: "Scheduled restart in 5 minutes. Return to a safe area."
Task 2 Wait
Duration: 4 minutes
Task 3 Send Broadcast Message
Message: "Scheduled restart in 60 seconds. Saving world now."
Task 4 Send Console Command
Command: Save
Task 5 Wait
Duration: 60 seconds
Task 6 Stop Instance
Task 7 Wait
Duration: 15 seconds
Task 8 Start Instance

That eight step chain is the canonical pattern: warn the players twice with enough lead time to evacuate a raid or a base build, force a synchronous world save through the console, then perform a hard stop and start cycle. The hard stop is what actually matters, it tears down the dedicated server process completely and returns every byte of leaked heap to the OS, so the freshly started instance comes back with a clean resident set instead of inheriting the bloat of the previous session.

Conclusion

From here, the AMP file manager (under the File Manager tab) handles everything else you would normally need shell access for. Drag and drop existing community save data into Pal/Saved/SaveGames/ to migrate from a previous host, or upload custom PalWorldSettings.ini tweaks straight into Pal/Saved/Config/LinuxServer/ without ever touching SCP. Restart the instance once after any file level change so the engine reloads the modified state cleanly.

To verify the build, launch Palworld, open Join Multiplayer Game, scroll to the bottom of the server browser, and paste your endpoint into the direct connection field:

In game direct connection
your.server.ip:8211

You now have an Ubuntu 24.04 host running AMP, a single Palworld instance tuned for a 60 Hz simulation tick and multi threaded worker pool, and a 12 hour memory recycle rule supervising it automatically. The whole stack is observable, restartable, and upgradable from the web panel, which is exactly the corporate grade workflow AMP was built to deliver.