Running your own Palfarm dedicated server gives you complete control over your farming experience. This comprehensive guide will walk you through every step of setting up and managing your server, from initial installation to advanced optimization.
⚡ Quick Tip
For the best experience, we recommend using a dedicated machine or VPS with at least 8GB RAM for servers hosting 10+ players.
1. System Requirements
Minimum Requirements
- • CPU: 4 cores @ 3.0 GHz
- • RAM: 8 GB
- • Storage: 15 GB available
- • Network: 10 Mbps upload
- • OS: Windows 10/11, Ubuntu 20.04+
Suitable for 1-4 players
Recommended Requirements
- • CPU: 6-8 cores @ 3.5 GHz
- • RAM: 16-32 GB
- • Storage: 50 GB SSD
- • Network: 50+ Mbps upload
- • OS: Windows Server, Ubuntu Server
Suitable for 10-32 players
⚠️ Important Note
Server performance directly impacts player experience. Insufficient resources can cause lag, crashes, and save corruption.
2. Server Installation
Windows Installation
Step 1: Install SteamCMD
# Download SteamCMD
1. Go to https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip
2. Extract to C:\steamcmd
3. Run steamcmd.exe once to updateStep 2: Download Palfarm Server
# Create install script (install_server.bat)
@echo off
C:\steamcmd\steamcmd.exe +force_install_dir C:\PalfarmServer +login anonymous +app_update 2394010 validate +quit
pauseStep 3: Create Start Script
# Create start script (start_server.bat)
@echo off
cd /d C:\PalfarmServer
PalServer.exe -port=8211 -players=32 -log -nosteam
pauseLinux Installation
Step 1: Install Dependencies
# Ubuntu/Debian
sudo apt update
sudo apt install wget tar screen -y
# Add 32-bit architecture support
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install lib32gcc-s1 lib32stdc++6 -yStep 2: Install SteamCMD
# Create steam user
sudo useradd -m -s /bin/bash steam
sudo su - steam
# Download and extract SteamCMD
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
mkdir ~/steamcmd && cd ~/steamcmd
tar -xvzf ../steamcmd_linux.tar.gz
# Run SteamCMD once to update
./steamcmd.sh +quitStep 3: Install Palfarm Server
# Create installation script
cat > install_server.sh << 'EOF'
#!/bin/bash
~/steamcmd/steamcmd.sh +force_install_dir ~/PalfarmServer +login anonymous +app_update 2394010 validate +quit
EOF
chmod +x install_server.sh
./install_server.shStep 4: Create Start Script
# Create start script
cat > start_server.sh << 'EOF'
#!/bin/bash
cd ~/PalfarmServer
screen -S palfarm -dm ./PalServer.sh -port=8211 -players=32 -log
echo "Server started in screen session 'palfarm'"
echo "Use 'screen -r palfarm' to view console"
EOF
chmod +x start_server.shDocker Installation (Recommended)
Docker Compose Setup
# Create docker-compose.yml
version: '3.8'
services:
palfarm:
image: ghcr.io/palfarm/server:latest
container_name: palfarm-server
restart: unless-stopped
ports:
- "8211:8211/udp"
- "27015:27015/udp"
- "25575:25575/tcp"
environment:
- SERVER_NAME=My Palfarm Server
- SERVER_PASSWORD=changeme
- MAX_PLAYERS=32
- ADMIN_PASSWORD=supersecret
volumes:
- ./data:/home/steam/palfarm
- ./backups:/backupsStart with Docker
# Start the server
docker-compose up -d
# View logs
docker-compose logs -f
# Stop the server
docker-compose down3. Configuration
PalWorldSettings.ini
Main configuration file located in Pal/Saved/Config/LinuxServer/
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(Difficulty=Normal,DayTimeSpeedRate=1.0,NightTimeSpeedRate=1.0,ExpRate=1.0,PalCaptureRate=1.0,PalSpawnNumRate=1.0,PalDamageRateAttack=1.0,PalDamageRateDefense=1.0,PlayerDamageRateAttack=1.0,PlayerDamageRateDefense=1.0,PlayerStomachDecreaceRate=1.0,PlayerStaminaDecreaceRate=1.0,PlayerAutoHPRegeneRate=1.0,PlayerAutoHpRegeneRateInSleep=1.0,PalStomachDecreaceRate=1.0,PalStaminaDecreaceRate=1.0,PalAutoHPRegeneRate=1.0,PalAutoHpRegeneRateInSleep=1.0,BuildObjectDamageRate=1.0,BuildObjectDeteriorationDamageRate=1.0,CollectionDropRate=1.0,CollectionObjectHpRate=1.0,CollectionObjectRespawnSpeedRate=1.0,EnemyDropItemRate=1.0,DeathPenalty=All,bEnablePlayerToPlayerDamage=false,bEnableFriendlyFire=false,bEnableInvaderEnemy=true,bActiveUNKO=false,bEnableAimAssistPad=true,bEnableAimAssistKeyboard=false,DropItemMaxNum=3000,DropItemMaxNum_UNKO=100,BaseCampMaxNum=128,BaseCampWorkerMaxNum=15,DropItemAliveMaxHours=1.0,bAutoResetGuildNoOnlinePlayers=false,AutoResetGuildTimeNoOnlinePlayers=72.0,GuildPlayerMaxNum=20,PalEggDefaultHatchingTime=72.0,WorkSpeedRate=1.0,bIsMultiplay=true,bIsPvP=false,bCanPickupOtherGuildDeathPenaltyDrop=false,bEnableNonLoginPenalty=true,bEnableFastTravel=true,bIsStartLocationSelectByMap=true,bExistPlayerAfterLogout=false,bEnableDefenseOtherGuildPlayer=false,CoopPlayerMaxNum=4,ServerPlayerMaxNum=32,ServerName="My Palfarm Server",ServerDescription="Welcome to our farming paradise!",AdminPassword="YourAdminPassword",ServerPassword="",PublicPort=8211,PublicIP="",RCONEnabled=false,RCONPort=25575,Region="",bUseAuth=true,BanListURL="https://api.palworldgame.com/api/banlist.txt")Important Settings Explained
ServerName & ServerDescription
Displayed in the server browser. Make it descriptive and welcoming.
ServerPassword
Leave empty for public, or set a password for private servers.
AdminPassword
Required for admin commands. Use a strong, unique password.
ExpRate, DropRate, etc.
Multipliers for game mechanics. 1.0 = normal, 2.0 = double, 0.5 = half.
bIsPvP
Enable/disable PvP combat. Most farming servers keep this false.
🌱 Farming-Focused Settings
Recommended settings for a peaceful farming experience:
- •
bIsPvP=false- Disable PvP - •
CollectionDropRate=1.5- More resources - •
PalSpawnNumRate=1.2- More Pals to befriend - •
WorkSpeedRate=1.2- Faster farming - •
DeathPenalty=None- No item loss on death
4. Port Forwarding
Required Ports
| Port | Protocol | Purpose |
|---|---|---|
| 8211 | UDP | Game traffic (main) |
| 27015 | UDP | Query port (server browser) |
| 25575 | TCP | RCON (optional) |
Router Configuration Steps
- 1.Access router admin panel (usually 192.168.1.1 or 192.168.0.1)
- 2.Navigate to Port Forwarding or Virtual Server section
- 3.Add rules for each port listed above
- 4.Set your server's local IP as the destination
- 5.Save and restart router if required
Firewall Configuration
Windows Firewall
# Run as Administrator
netsh advfirewall firewall add rule name="Palfarm Server" dir=in action=allow protocol=UDP localport=8211
netsh advfirewall firewall add rule name="Palfarm Query" dir=in action=allow protocol=UDP localport=27015Linux (iptables)
# Allow Palfarm ports
sudo iptables -A INPUT -p udp --dport 8211 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 27015 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 25575 -j ACCEPT
# Save rules
sudo netfilter-persistent save5. Server Management
Admin Commands
/AdminPassword [password]Login as admin
/Broadcast [message]Send server-wide message
/KickPlayer [SteamID]Remove player from server
/BanPlayer [SteamID]Permanently ban player
/SaveForce world save
/DoExitGracefully shutdown server
Automated Backups
Linux Backup Script
#!/bin/bash
# backup.sh - Run via cron every 6 hours
SERVER_DIR="/home/steam/PalfarmServer"
BACKUP_DIR="/home/steam/backups"
DATE=$(date +%Y%m%d_%H%M%S)
# Create backup directory
mkdir -p $BACKUP_DIR
# Stop server gracefully
screen -S palfarm -X stuff "save
"
sleep 10
# Create backup
tar -czf "$BACKUP_DIR/palfarm_$DATE.tar.gz" -C "$SERVER_DIR" Pal/Saved/
# Keep only last 10 backups
ls -t $BACKUP_DIR/*.tar.gz | tail -n +11 | xargs rm -f
echo "Backup completed: palfarm_$DATE.tar.gz"Windows Backup Script
@echo off
REM backup.bat - Schedule with Task Scheduler
set SERVER_DIR=C:\PalfarmServer
set BACKUP_DIR=C:\PalfarmBackups
set DATE=%date:~-4%%date:~3,2%%date:~0,2%_%time:~0,2%%time:~3,2%
REM Create backup directory
if not exist "%BACKUP_DIR%" mkdir "%BACKUP_DIR%"
REM Create backup
"C:\Program Files\7-Zip\7z.exe" a -tzip "%BACKUP_DIR%\palfarm_%DATE%.zip" "%SERVER_DIR%\Pal\Saved\"
echo Backup completed: palfarm_%DATE%.zipAuto-Restart Setup
Linux (systemd)
# /etc/systemd/system/palfarm.service
[Unit]
Description=Palfarm Dedicated Server
After=network.target
[Service]
Type=simple
Restart=always
RestartSec=10
User=steam
WorkingDirectory=/home/steam/PalfarmServer
ExecStart=/home/steam/PalfarmServer/PalServer.sh -port=8211 -players=32
ExecStop=/bin/kill -SIGINT $MAINPID
[Install]
WantedBy=multi-user.target# Enable and start service
sudo systemctl enable palfarm.service
sudo systemctl start palfarm.service
sudo systemctl status palfarm.service6. Troubleshooting
Common Issues & Solutions
Server not appearing in browser
• Check port forwarding configuration
• Verify firewall rules
• Ensure query port (27015) is open
• Check if PublicIP is set correctly in config
Players can't connect
• Verify game port (8211) is forwarded
• Check server password settings
• Ensure server isn't full
• Test with direct connect using IP:Port
High lag / Poor performance
• Check CPU and RAM usage
• Reduce max player count
• Optimize server settings
• Consider upgrading hardware
Server crashes frequently
• Check error logs in Pal/Saved/Logs
• Verify game files integrity
• Ensure sufficient RAM available
• Update to latest server version
Save corruption
• Restore from recent backup
• Check disk space availability
• Verify file permissions
• Run disk health check
Log File Locations
• Windows: C:\\PalfarmServer\\Pal\\Saved\\Logs
• Linux: /home/steam/PalfarmServer/Pal/Saved/Logs
• Docker: ./data/Saved/Logs
7. Performance Optimization
Server Optimization Tips
Hardware
- • Use SSD for game files
- • Allocate dedicated CPU cores
- • Use ECC RAM if possible
- • Ensure good cooling
Software
- • Keep OS updated
- • Disable unnecessary services
- • Use performance power profile
- • Configure swap properly
Network
- • Use wired connection
- • Configure QoS for game traffic
- • Consider DDoS protection
- • Monitor bandwidth usage
Game Settings
- • Limit entity spawn rates
- • Reduce view distance
- • Clean up abandoned bases
- • Regular world cleanup
Monitoring Tools
htop / Task Manager
Monitor CPU, RAM, and process health
netstat / ss
Check network connections and port usage
Prometheus + Grafana
Advanced metrics and visualization
Game Panel (Pterodactyl, etc)
Web-based server management interface
🚀 Pro Tips
- • Schedule automatic restarts during low-activity hours
- • Use RAM disk for temporary files if you have excess memory
- • Implement rate limiting to prevent spam/abuse
- • Set up monitoring alerts for critical issues
- • Keep detailed logs of configuration changes
You're Ready to Farm!
Congratulations! Your Palfarm server is now ready for players. Remember to regularly maintain your server, listen to player feedback, and create a welcoming community. Happy farming!