Sign inSign up

amaneswiss/palworld-wine-server

By amaneswiss

Updated about 2 months ago

Palworld dedicated server on wine (for full mod support)

Image
1

3.2K

amaneswiss/palworld-wine-server repository overview

Palworld Dedicated Server (Wine) Guide

To install mods, add mod IDs like:

WORKSHOP_MOD_IDS: "xxxxxxxxx,xxxxxxxxx,xxxxxxxxx"

The environment INSTALL_UE4SS_EXPERIMENTAL: true installs UE4SS-Experimental automatically via ID.

The login credentials will be stored in the persistent game folder and restored from there.

You can omit the password and manually run:

docker exec -i palworld-wine-server bash -c 'steamcmd +login "${STEAM_USERNAME:-}" +quit' \
  && docker restart palworld-wine-server

However, the script definitely needs the STEAM_USERNAME for mod support.

STEAM_USERNAME: <REQUIRED>
STEAM_PASSWORD: ""

⚠ If you have SteamGuard enabled, please approve the request when prompted. ⚠

Docker Compose

---
services:
  palworld-dedicated-server:
    container_name: palworld-wine-server
    hostname: palworld-wine-server
    image: amaneswiss/palworld-wine-server:latest
    restart: unless-stopped
    stop_grace_period: 30s
    network_mode: bridge
    ports:
      - target: 8211     # Game server traffic
        published: 8211
        protocol: udp
      - target: 8212     # REST API
        published: 8212
        protocol: tcp
        mode: host
      - target: 27015    # Steam query
        published: 27015
        protocol: udp
    volumes:
      - /opt/palworld:/palworld
    environment:
      # Container-setttings
      PUID: 1000
      PGID: 1000
      TZ: Europe/Zurich

      # Wine-settings
      WINETRICK_ON_START: true
      WINEDLLOVERRIDES: "mscoree,mshtml=;dwmapi=n,b"

      # SteamCMD-settings
      ALWAYS_UPDATE_ON_START: true
      STEAMCMD_VALIDATE_FILES: true

      # Backup-settings
      BACKUP_ENABLED: true
      BACKUP_ANNOUNCE_MESSAGES_ENABLED: false
      BACKUP_CRON_EXPRESSION: "0 * * * *"
      BACKUP_RETENTION_POLICY: true
      BACKUP_RETENTION_AMOUNT_TO_KEEP: 72

      # Restart-settings
      RESTART_ENABLED: false
      RESTART_COUNTDOWN: 15
      RESTART_ANNOUNCE_MESSAGES_ENABLED: true
      RESTART_DEBUG_OVERRIDE: false
      RESTART_CRON_EXPRESSION: "0 18 * * *"

      # Player Detection - NEEDS REST API ENABLED!
      PLAYER_DETECTION_ENABLED: true
      PLAYER_DETECTION_DEBUG: false
      PLAYER_DETECTION_STARTUP_DELAY: 60
      PLAYER_DETECTION_CHECK_INTERVAL: 15

      # RCON-Playerdetection - NEEDS RCON ENABLED!
      RCON_PLAYER_DETECTION: true
      RCON_PLAYER_DEBUG: false
      RCON_PLAYER_DETECTION_STARTUP_DELAY: 60
      RCON_PLAYER_DETECTION_CHECK_INTERVAL: 15

      # Custom-script-settings
      CUSTOM_SCRIPT_ENABLED: false
      CUSTOM_SCRIPT_PATH: /palworld/custom-script.sh

      # Workshop-mod-settings
      WORKSHOP_MODS_DEBUG: false
      WORKSHOP_MOD_IDS: ""
      WORKSHOP_MOD_UPDATE_CRON: "0 */6 * * *"
      INSTALL_UE4SS_EXPERIMENTAL: true
      STEAM_USERNAME: ""
      STEAM_PASSWORD: ""

      # Webhook-settings
      WEBHOOK_ENABLED: false
      WEBHOOK_DEBUG_ENABLED: false
      WEBHOOK_URL: "YOUR-URL-IN-HERE"
      WEBHOOK_CONTENT_TITLE: "Status update"
      WEBHOOK_INFO_TITLE: "Info"
      WEBHOOK_INFO_DESCRIPTION: "This is an info from the server"
      WEBHOOK_INFO_COLOR: "2849520"
      WEBHOOK_INSTALL_TITLE: "Installing server"
      WEBHOOK_INSTALL_DESCRIPTION: "Server is being installed"
      WEBHOOK_INSTALL_COLOR: "2849520"
      WEBHOOK_RESTART_TITLE: "Server is restarting soon"
      WEBHOOK_RESTART_DESCRIPTION: "The gameserver is restarting in ${RESTART_COUNTDOWN} minutes"
      WEBHOOK_RESTART_COLOR: "15593515"
      WEBHOOK_START_TITLE: "Server is starting"
      WEBHOOK_START_DESCRIPTION: "The gameserver is starting"
      WEBHOOK_START_COLOR: "2328576"
      WEBHOOK_STOP_TITLE: "Server has been stopped"
      WEBHOOK_STOP_DESCRIPTION: "The gameserver has been stopped"
      WEBHOOK_STOP_COLOR: "7413016"
      WEBHOOK_UPDATE_TITLE: "Updating server"
      WEBHOOK_UPDATE_DESCRIPTION: "Server is being updated"
      WEBHOOK_UPDATE_COLOR: "2849520"
      WEBHOOK_AUTO_UPDATE_FAILED_TITLE: "Failed checking for updates"
      WEBHOOK_AUTO_UPDATE_FAILED_DESCRIPTION: "The steam api could not be reached to check for new versions. That can happen from time to time and shouldn't be a problem unless it happens regularly."
      WEBHOOK_AUTO_UPDATE_FAILED_COLOR: "10038562"

      # Config-setting - Warning: Every setting below here will be affected!
      SERVER_SETTINGS_MODE: auto

      # Gameserver-start-settings
      MULTITHREAD_ENABLED: true
      COMMUNITY_SERVER: true
      # -nosteam: keeps player UUIDs stable across Windows/Linux saves and skips
      # Steam auth - useful for LAN/offline play or migrating non-Steam-auth saves
      NOSTEAM_ENABLED: false

      # Engine.ini settings
      NETSERVERMAXTICKRATE: 60

      # PalWorldSettings.ini - General Server Settings
      SERVER_NAME: wine-docker-generated-###RANDOM###
      SERVER_DESCRIPTION: Palworld-Wine-Server running in Docker by ripps
      ADMIN_PASSWORD: adminPasswordHere
      SERVER_PASSWORD: serverPasswordHere
      PUBLIC_IP: 
      PUBLIC_PORT: 8211
      MAX_PLAYERS: 32
      COOP_PLAYER_MAX_NUM: 4
      ALLOW_CLIENT_MOD: true
      RCON_ENABLED: false
      RCON_PORT: 25575
      RESTAPI_ENABLED: true
      RESTAPI_PORT: 8212
      RESTAPI_TIMEOUT: 10
      REGION: 
      USEAUTH: true
      BAN_LIST_URL: https://api.palworldgame.com/api/banlist.txt
      SHOW_PLAYER_LIST: false
      CHAT_POST_LIMIT_PER_MINUTE: 10
      CROSSPLAY_PLATFORMS: "(Steam,Xbox,PS5,Mac)"
      SHOW_JOIN_LEFT_MESSAGE: true
      ENABLE_VOICE_CHAT: false
      VOICE_CHAT_MAX_VOLUME_DISTANCE: 3000.000000
      VOICE_CHAT_ZERO_VOLUME_DISTANCE: 15000.000000

      # PalWorldSettings.ini - Gameplay & Difficulty
      DIFFICULTY: None
      DAYTIME_SPEEDRATE: 1.000000
      NIGHTTIME_SPEEDRATE: 1.000000
      EXP_RATE: 1.000000
      PAL_CAPTURE_RATE: 1.000000
      PAL_SPAWN_NUM_RATE: 1.000000
      PAL_EGG_DEFAULT_HATCHING_TIME: 72.000000
      WORK_SPEED_RATE: 1.000000
      HARDCORE: false
      PAL_LOST: false
      CHARACTER_RECREATE_IN_HARDCORE: false
      ENABLE_AIM_ASSIST_PAD: true
      ENABLE_AIM_ASSIST_KEYBOARD: false

      # PalWorldSettings.ini - Combat & PvP
      IS_PVP: false
      ENABLE_PLAYER_TO_PLAYER_DAMAGE: false
      ENABLE_FRIENDLY_FIRE: false
      DEATH_PENALTY: All
      ENABLE_INVADER_ENEMY: true
      ACTIVE_UNKO: false
      PAL_DAMAGE_RATE_ATTACK: 1.000000
      PAL_DAMAGE_RATE_DEFENSE: 1.000000
      PLAYER_DAMAGE_RATE_ATTACK: 1.000000
      PLAYER_DAMAGE_RATE_DEFENSE: 1.000000
      ENABLE_DEFENSE_OTHER_GUILD_PLAYER: false
      DISPLAY_PVP_ITEM_NUM_ON_WORLD_MAP_BASE_CAMP: false
      DISPLAY_PVP_ITEM_NUM_ON_WORLD_MAP_PLAYER: false
      ADDITIONAL_DROP_ITEM_WHEN_PLAYER_KILLING_IN_PVP_MODE: "PlayerDropItem"
      ADDITIONAL_DROP_ITEM_NUM_WHEN_PLAYER_KILLING_IN_PVP_MODE: 1
      ENABLE_ADDITIONAL_DROP_ITEM_WHEN_PLAYER_KILLING_IN_PVP_MODE: false
      ENABLE_PREDATOR_BOSS_PAL: true

      # PalWorldSettings.ini - Survival & Character
      PLAYER_STOMACH_DECREASE_RATE: 1.000000
      PLAYER_STAMINA_DECREACE_RATE: 1.000000
      PLAYER_AUTO_HP_REGENE_RATE: 1.000000
      PLAYER_AUTO_HP_REGENE_RATE_IN_SLEEP: 1.000000
      PAL_STOMACH_DECREACE_RATE: 1.000000
      PAL_STAMINA_DECREACE_RATE: 1.000000
      PAL_AUTO_HP_REGENE_RATE: 1.000000
      PAL_AUTO_HP_REGENE_RATE_IN_SLEEP: 1.000000
      EXIST_PLAYER_AFTER_LOGOUT: false
      ENABLE_NON_LOGIN_PENALTY: true
      ALLOW_ENHANCE_STAT_HEALTH: true
      ALLOW_ENHANCE_STAT_ATTACK: true
      ALLOW_ENHANCE_STAT_STAMINA: true
      ALLOW_ENHANCE_STAT_WEIGHT: true
      ALLOW_ENHANCE_STAT_WORK_SPEED: true

      # PalWorldSettings.ini - Base Building & Guilds
      BASE_CAMP_MAX_NUM: 128
      BASE_CAMP_WORKER_MAXNUM: 15
      BASE_CAMP_MAX_NUM_IN_GUILD: 4
      GUILD_PLAYER_MAX_NUM: 20
      AUTO_RESET_GUILD_NO_ONLINE_PLAYERS: false
      AUTO_RESET_GUILD_TIME_NO_ONLINE_PLAYERS: 72.000000
      GUILD_REJOIN_COOLDOWN_MINUTES: 0
      MONSTER_FARM_ACTION_SPEED_RATE: 1.000000
      BUILD_OBJECT_HP_RATE: 1.000000
      BUILD_OBJECT_DAMAGE_RATE: 1.000000
      BUILD_OBJECT_DETERIORATION_DAMAGE_RATE: 1.000000
      MAX_BUILDING_LIMIT_NUM: 0
      BUILD_AREA_LIMIT: false
      INVISBIBLE_OTHER_GUILD_BASE_CAMP_AREA_FX: false

      # PalWorldSettings.ini - Items & Inventory
      COLLECTION_DROP_RATE: 1.000000
      COLLECTION_OBJECT_HP_RATE: 1.000000
      COLLECTION_OBJECT_RESPAWN_SPEED_RATE: 1.000000
      ENEMY_DROP_ITEM_RATE: 1.000000
      DROP_ITEM_MAX_NUM: 1000
      DROP_ITEM_MAX_NUM_UNKO: 50
      DROP_ITEM_ALIVE_MAX_HOURS: 1.000000
      ITEM_WEIGHT_RATE: 1.000000
      EQUIPMENT_DURABILITY_DAMAGE_RATE: 1.000000
      ITEM_CONTAINER_FORCE_MARK_DIRTY_INTERVAL: 1.000000
      ITEM_CORRUPTION_MULTIPLIER: 1.000000
      PHYSICS_ACTIVE_DROP_ITEM_MAX_NUM: 3000

      # PalWorldSettings.ini - World & Exploration
      ENABLE_FAST_TRAVEL: true
      ENABLE_FAST_TRAVEL_ONLY_BASE_CAMP: false
      IS_START_LOCATION_SELECT_BY_MAP: true
      CAN_PICKUP_OTHER_GUILD_DEATH_PENALTY_DROP: false
      SUPPLY_DROP_SPAN: 180
      SERVER_REPLICATE_PAWN_CULL_DISTANCE: 15000.000000
      ALLOW_GLOBAL_PALBOX_EXPORT: true
      ALLOW_GLOBAL_PALBOX_IMPORT: false
      ENABLE_WORLD_BACKUP: false
      AUTO_SAVE_SPAN: 30.000000
      LOG_FORMAT_TYPE: Text
      BLOCK_RESPAWN_TIME: 5.000000
      RESPAWN_PENALTY_DURATION_THRESHOLD: 0.000000
      RESPAWN_PENALTY_TIME_SCALE: 2.000000

      # PalWorldSettings.ini - Randomizer
      RANDOMIZER_TYPE: None
      RANDOMIZER_SEED: ""
      IS_RANDOMIZER_PAL_LEVEL_RANDOM: false

      # PalWorldSettings.ini - Other
      IS_MULTIPLAY: false
      DENY_TECHNOLOGY_LIST: ""

      # PalWorldSettings.ini - Advanced & Performance Tuning
      PLAYER_DATA_PAL_STORAGE_UPDATE_CHECK_TICK_INTERVAL: 1.000000
      AUTO_TRANSFER_MASTER_CHECK_INTERVAL_SECONDS: 3600.000000
      AUTO_TRANSFER_MASTER_THRESHOLD_DAYS: 14
      MAX_GUILDS_PER_FRAME: 10
      ENABLE_BUILDING_PLAYER_UID_DISPLAY: true
      BUILDING_NAME_DISPLAY_CACHE_TTL_SECONDS: 60

Tag summary

Content type

Image

Digest

sha256:658b549ed

Size

1.1 GB

Last updated

about 2 months ago

docker pull amaneswiss/palworld-wine-server