Recommended VPS Specifications
| Server Size | RAM | CPU Cores | Storage | Max Players | Recommended Plan |
|---|---|---|---|---|---|
| Minimum | 8GB | 4 | 20GB SSD | 4-8 | Premium Cloud VPS |
| Recommended | 16GB | 6-8 | 30GB SSD | 8-16 | Premium Cloud VPS |
| High Performance | 32GB | 8+ | 50GB SSD | 16+ | Dedicated CPU VPS |
Prerequisites
Before starting, ensure you have:
System Requirements
- • Minimum: 8GB RAM (16GB+ recommended)
- • Ubuntu 22.04 LTS
- • Root or sudo access
- • SSH client installed locally
Before You Begin
- • Basic Linux command line familiarity
- • Steam account (for SteamCMD)
- • Static IP address (included with VPS)
- • Palworld game client for testing
Initial Server Setup
Connect to your RamNode VPS and prepare the system:
ssh root@your_server_ipapt update && apt upgrade -yapt install -y curl wget tar software-properties-common ufwCreate a Dedicated User
Running game servers as root is a security risk. Create a dedicated user:
adduser --disabled-password --gecos "" palworld
usermod -aG sudo palworldConfigure Firewall
Configure UFW to allow SSH and Palworld server traffic:
# Allow SSH
ufw allow 22/tcp
# Allow Palworld server ports
ufw allow 8211/udp
ufw allow 27015/udp
# Enable firewall
ufw --force enable
# Verify the rules
ufw status✓ Port 8211/udp is the main game port. Port 27015/udp is used for Steam queries.
Install SteamCMD
Palworld's dedicated server is distributed through Steam, so we need SteamCMD:
# Add i386 architecture (required for SteamCMD)
dpkg --add-architecture i386
apt update
# Install SteamCMD dependencies
apt install -y lib32gcc-s1 steamcmd
# Create symbolic link for easier access
ln -s /usr/games/steamcmd /usr/local/bin/steamcmdAlternative: Manual Installation
If your distribution doesn't have steamcmd in the repositories:
# Install dependencies
apt install -y lib32gcc-s1 lib32stdc++6
# Create SteamCMD directory
mkdir -p /home/palworld/steamcmd
cd /home/palworld/steamcmd
# Download and extract SteamCMD
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz
chown -R palworld:palworld /home/palworld/steamcmdInstall Palworld Dedicated Server
Switch to the palworld user and install the server:
su - palworld
mkdir -p ~/palworld-serversteamcmd +login anonymous \
+force_install_dir /home/palworld/palworld-server \
+app_update 2394010 validate \
+quit⚠️ The initial download is approximately 12-15 GB and may take several minutes depending on your connection.
Configure the Server
Navigate to the server directory and create the configuration file:
cd ~/palworld-server/Pal/Saved/Config/LinuxServer
nano PalWorldSettings.iniKey Configuration Options
Server Identity
- •
ServerName- Your server's display name - •
ServerDescription- Brief description - •
ServerPassword- Leave empty for public, or set for private
Player Settings
- •
ServerPlayerMaxNum- Maximum concurrent players (32 default) - •
CoopPlayerMaxNum- Players per party (4 default) - •
GuildPlayerMaxNum- Maximum guild size (20 default)
Gameplay Balance
- •
ExpRate- XP multiplier (1.0 = normal, 2.0 = double) - •
PalCaptureRate- Capture success rate multiplier - •
DeathPenalty- None, Item, ItemAndEquipment, All - •
bEnablePlayerToPlayerDamage- Enable PvP
Performance & Admin
- •
DropItemMaxNum- Max items in world - •
BaseCampWorkerMaxNum- Max Pals per base - •
AdminPassword- Admin commands password - •
RCONEnabled- Remote console access
Create Systemd Service
Exit back to root user and create a systemd service file for automatic startup:
exit
nano /etc/systemd/system/palworld.service[Unit]
Description=Palworld Dedicated Server
After=network.target
[Service]
Type=simple
User=palworld
Group=palworld
WorkingDirectory=/home/palworld/palworld-server
ExecStartPre=/usr/games/steamcmd +login anonymous +force_install_dir /home/palworld/palworld-server +app_update 2394010 +quit
ExecStart=/home/palworld/palworld-server/PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS
Restart=on-failure
RestartSec=30
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.targetThis service configuration:
- Automatically updates the server on start
- Restarts on failure after 30 seconds
- Uses optimized launch parameters for dedicated servers
- Logs output to systemd journal
systemctl daemon-reload
systemctl enable palworld.serviceStart the Server
Start the Palworld server and verify it's running:
systemctl start palworld.service
systemctl status palworld.servicejournalctl -u palworld.service -f✓ The first startup may take several minutes as the server initializes the world. You should see messages indicating the server is listening on port 8211.
Connecting to Your Server
From the Game Client
- Launch Palworld
- Select "Join Multiplayer Game"
- Choose "Connect to Server"
- Enter your server's IP address and port:
your_server_ip:8211 - Enter the server password if you set one
- Click "Connect"
Using Steam Server Browser
If you want your server to appear in the community server list:
- Ensure PublicIP is set in your configuration (or leave empty for auto-detect)
- Set bUseAuth to True
- Restart the server
- Your server should appear in the browser within 5-10 minutes
Server Management
Starting, Stopping, and Restarting
# Start server
systemctl start palworld.service
# Stop server
systemctl stop palworld.service
# Restart server
systemctl restart palworld.service
# View status
systemctl status palworld.serviceViewing Logs
# Real-time logs:
journalctl -u palworld.service -f
# Last 100 lines:
journalctl -u palworld.service -n 100
# Logs from today:
journalctl -u palworld.service --since todayManual Updates
The systemd service automatically checks for updates on start. To manually update:
systemctl stop palworld.service
su - palworld
steamcmd +login anonymous +force_install_dir /home/palworld/palworld-server +app_update 2394010 validate +quit
exit
systemctl start palworld.serviceBackup Configuration
Your world save data is stored in:
/home/palworld/palworld-server/Pal/Saved/SaveGames/Create Backup Script
#!/bin/bash
BACKUP_DIR="/home/palworld/backups"
DATE=$(date +%Y%m%d_%H%M%S)
SAVE_DIR="/home/palworld/palworld-server/Pal/Saved"
mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/palworld_backup_$DATE.tar.gz -C $SAVE_DIR .
# Keep only last 7 backups
ls -t $BACKUP_DIR/palworld_backup_*.tar.gz | tail -n +8 | xargs -r rm
echo "Backup completed: palworld_backup_$DATE.tar.gz"# Make script executable
chmod +x /home/palworld/backup-palworld.sh
chown palworld:palworld /home/palworld/backup-palworld.sh
# Add to crontab for daily backups at 3 AM
su - palworld
crontab -e
# Add this line:
0 3 * * * /home/palworld/backup-palworld.shPerformance Optimization
Memory Management
If you experience memory issues with larger player counts, add swap space:
# Create 8GB swap file
fallocate -l 8G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
# Make permanent
echo '/swapfile none swap sw 0 0' | tee -a /etc/fstabCPU Optimization
apt install -y cpufrequtils
echo 'GOVERNOR="performance"' | tee /etc/default/cpufrequtils
systemctl restart cpufrequtilsMonitoring Resources
# Install htop for real-time monitoring
apt install -y htop
htop
# Check Palworld's resource usage
ps aux | grep PalServerTroubleshooting
Server Won't Start
Check logs for errors:
journalctl -u palworld.service -n 50Common issues:
- Port already in use:
netstat -tulpn | grep 8211 - Insufficient permissions: Ensure palworld user owns all files
- Missing dependencies: Verify all packages installed
Players Can't Connect
- Verify firewall rules:
ufw status - Check if server is listening:
netstat -tulpn | grep 8211 - Verify server is running:
systemctl status palworld.service
High Memory Usage
- Reduce ServerPlayerMaxNum in configuration
- Lower BaseCampWorkerMaxNum
- Decrease DropItemMaxNum
- Consider upgrading to a higher-tier VPS
World Corruption
If your world becomes corrupted:
- Stop the server
- Restore from backup
- If no backup exists, delete save files (this resets the world)
systemctl stop palworld.service
rm -rf /home/palworld/palworld-server/Pal/Saved/SaveGames/*
systemctl start palworld.serviceAdvanced Configuration
Setting Up RCON
Remote Console allows you to send commands to the server remotely:
RCONEnabled=True
RCONPort=25575apt install -y rcon
rcon -H localhost -p 25575 -P YourAdminPasswordAutomatic Restarts
Add automatic daily restarts for maintenance:
crontab -e
# Add (restart at 4 AM daily):
0 4 * * * /bin/systemctl restart palworld.serviceSecurity Best Practices
1. Keep System Updated
apt update && apt upgrade -y2. Use Strong Admin Password
Change the default AdminPassword in configuration using complex passwords with mixed characters.
3. Enable Fail2ban
apt install -y fail2ban
systemctl enable fail2ban
systemctl start fail2ban4. Limit SSH Access
# Edit SSH config
nano /etc/ssh/sshd_config
# Add or modify:
PermitRootLogin no
PasswordAuthentication no5. Regular Backups
Automate backups with cron and store backups off-server (use Backblaze B2, S3, etc.)
Setup Complete!
You now have a fully functional Palworld dedicated server running on your RamNode VPS! This setup provides:
- Automatic server updates on startup
- Systemd service management for easy control
- Automated backups
- Optimized performance settings
- Comprehensive logging
Your server is ready for you and your friends to explore the world of Palworld together!
Need Help? If you encounter issues or need assistance with your RamNode VPS, our support team is available 24/7 to help you get your Palworld server running smoothly.
