Setting Up an Automated Palworld Server via AMP (Ubuntu 24.04)
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.
apt update && apt upgrade -yapt install -y ca-certificates curl gnupg apt-transport-https \ software-properties-common lsb-release tmux jq ufwinstall -d -m 0755 /etc/apt/keyringscurl -fsSL https://repo.cubecoders.com/archive.key \ | gpg --dearmor -o /etc/apt/keyrings/cubecoders.gpgecho "deb [signed-by=/etc/apt/keyrings/cubecoders.gpg] https://repo.cubecoders.com/ debian/" \ > /etc/apt/sources.list.d/cubecoders-amp.listapt updateStep 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.
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:
http://your-vps-ip:8080You 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).
# Network and slotsServerName="My Palworld Server"PublicPort=8211ServerPlayerMaxNum=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 AMPUseMultithreadForDS=TruebIsMultithreaded=TrueNumberOfWorkerThreadsServer=0 ; 0 means auto detect physical cores# Save and pal AI cadence (lower values = smoother sync, more disk IO)AutoSaveSpan=900BaseCampMaxNumInGuild=4CoopPlayerMaxNum=4The 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.
Trigger: Every 12 hoursTask 1 Send Broadcast Message Message: "Scheduled restart in 5 minutes. Return to a safe area."Task 2 Wait Duration: 4 minutesTask 3 Send Broadcast Message Message: "Scheduled restart in 60 seconds. Saving world now."Task 4 Send Console Command Command: SaveTask 5 Wait Duration: 60 secondsTask 6 Stop InstanceTask 7 Wait Duration: 15 secondsTask 8 Start InstanceThat 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:
your.server.ip:8211You 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.