π Welcome to the ultimate Palworld Server Setup! π This GitHub repository is your go-to toolkit π οΈ for launching a Palworld server in a snap using Docker! Choose from preset worlds like 'casual' ποΈ, 'normal' π, or 'hard' π, or dive deep into customization with flexible settings π§.
With the recent bug on save corruption, we highly recommend you backup your save files! Click here to see how to integrate auto backups.
- Docker
- Docker Compose
The server can be configured either through environment variables or by passing arguments directly to the Docker container. The available presets are: They were configured based on this article
casualnormalhard
Below is a list of available environment variables to customize your server:
SERVER_NAME: The name of your server.SERVER_DESCRIPTION: A short description of your server.PUBLIC_IP: Set the public IP of the server.PUBLIC_PORT: The public port for connections.PORT: The internal port of the game server.ADMIN_PASSWORD: The password for admin access.SERVER_PASSWORD: The password required to join the server.REGION: Define the serverβs region.USE_AUTH: Enable authentication (trueorfalse).WEBHOOK_URL: Discord webhook URL for server notifications.
MULTITHREADING: Enable multithreading (trueorfalse).RCON_ENABLED: Enable remote console (trueorfalse).RCON_PORT: Port for RCON access.RESTAPI_ENABLED: Enable REST API (trueorfalse).RESTAPI_PORT: Port for the REST API.MAX_BUILDING_LIMIT_NUM: Maximum number of buildings allowed.
AUTO_UPDATE: Enable automatic server updates (trueorfalse).AUTO_UPDATE_SCHEDULE: Cron job format defining update checks (default:0 3 * * *for 3 AM daily updates).
EXP_RATE: Modify experience rate multiplier.PAL_CAPTURE_RATE: Adjust the Pal capture success rate.DAY_TIME_SPEED_RATE: Adjust how fast daytime progresses.NIGHT_TIME_SPEED_RATE: Adjust how fast nighttime progresses.DEATH_PENALTY: Define what happens on player death.ENABLE_FAST_TRAVEL: Allow fast travel (trueorfalse).ENABLE_INVADER_ENEMY: Enable invader enemies (trueorfalse).HARDCORE: Enable hardcore mode (trueorfalse).PAL_LOST: Determine if Pals are lost upon death (trueorfalse).ITEM_WEIGHT_RATE: Adjust item weight multiplier.PAL_DAMAGE_RATE_ATTACK: Modify Pal attack damage.PAL_DAMAGE_RATE_DEFENSE: Modify Pal defense rate.PLAYER_DAMAGE_RATE_ATTACK: Modify player attack damage.PLAYER_DAMAGE_RATE_DEFENSE: Modify player defense rate.WORK_SPEED_RATE: Adjust work speed multiplier.AUTO_SAVE_SPAN: Set the frequency of autosaves (in minutes).
GUILD_PLAYER_MAX_NUM: Maximum number of players per guild.BASE_CAMP_MAX_NUM_IN_GUILD: Maximum number of camps per guild.ALLOW_CONNECT_PLATFORM: Restrict platform connections (Steam,Epic, etc.).SHOW_PLAYER_LIST: Display the online player list (trueorfalse).CHAT_POST_LIMIT_PER_MINUTE: Limit chat messages per minute.EXIST_PLAYER_AFTER_LOGOUT: Keep players visible after logout (trueorfalse).ENABLE_DEFENSE_OTHER_GUILD_PLAYER: Enable defense against other guilds (trueorfalse).
To see a full list of supported configuration options, see the Environment Configuration Options page.
To run the server with Docker Compose, create a docker-compose.yml file with the following content:
version: "3.8"
services:
palworld:
image: mbround18/palworld-docker:latest
environment:
PRESET: "casual" # Options: casual, normal, hard
MULTITHREADING: true # Enables multithreading
PUBLIC_IP: "0.0.0.0"
PUBLIC_PORT: "8211"
SERVER_NAME: "My Palworld Server"
EXP_RATE: "1.5"
WEBHOOK_URL: "https://discord.com/api/webhooks/..."
AUTO_UPDATE: "true"
AUTO_UPDATE_SCHEDULE: "0 3 * * *"
ports:
- "8211:8211" # Default game port
- "27015:27015" # Steam query port
volumes:
- "./data:/home/steam/palworld"To start the server with your chosen configuration, run:
docker-compose upThis command builds the Docker image if necessary and starts the server. The PRESET environment variable determines the server's configuration preset. You can also override any specific setting by adding it to the environment section of the docker-compose.yml file.
If AUTO_UPDATE is enabled, the server will automatically check for updates at the scheduled time (AUTO_UPDATE_SCHEDULE). If an update is found, the server will:
- Stop the running instance.
- Download and apply the update.
- Restart the server.
If WEBHOOK_URL is set, the server will send notifications for:
- Server Start & Stop events.
- Player Join & Leave messages.
- Server Updates.
To update the server settings after initial setup, modify the docker-compose.yml file as needed and restart the server:
docker-compose down
docker-compose upThis ensures that your server configuration remains up to date.
Contributions to this project are welcome! Please submit a pull request or open an issue for any bugs, features, or improvements.