promotional bannermobile promotional banner

Palword Discord Bot

The Discord Bot for your Palworld Server

PalBot – Discord Bot for Palworld Servers

No self hosted ? Use https://allone.run.place/ he is Integrated.

IMPORTANT: PalBot is a Discord Bot, not a game mod or plugin. It runs externally on a machine with Python and connects to your Palworld servers via the official REST API and RCON. It does not modify game files or require installation on the game server itself.

PalBot is a powerful Discord bot designed to manage and interact with Palworld dedicated servers. It provides server administration, player tracking, economy systems, cross-server chat, automated backups, and more — all controlled through Discord slash commands.

This project was originally inspired by Sphere and has been heavily extended and rewritten by Robin Oliver Lucas (rl-dev.de) to include additional features such as a multilingual system, Pal Points economy, configurable server branding, and a broadcast system.

Support System https://rl-dev.de/support


Features

  • Server Management – Control your servers directly from Discord (kick, ban, announce, shutdown, save).
  • Player Logging – Log player connections, disconnections, and activity with embed messages.
  • Player Tracking – Track online players and broadcast their status to Discord channels.
  • Administration – Full admin toolkit for managing players, bans, and whitelists.
  • Server Query – Query server status, metrics, and player lists in real-time.
  • Global Banlist – Sync bans across multiple servers using a Banlist API.
  • PalDefender RCON – Execute PalDefender-specific RCON commands (give items, pals, XP, etc.).
  • Economy System – Gold-based economy with work commands and balance tracking.
  • Pal Points – Reward players with points for playtime, redeemable in the shop.
  • Shop System – Sell items for Gold or Pal Points. Supports both YAML and database-driven items.
  • Cross-Server Chat – Two-way chat bridge between Discord channels and in-game chat.
  • Broadcast System – Send Discord channel messages directly into the game as announcements.
  • Account Linking – Link Discord accounts to in-game players via secure codes.
  • Scheduled Backups – Automated server backups uploaded to Discord channels.
  • SFTP Support – Secure file transfers, log reading, and save management via SFTP.
  • Multilingual – Full support for English and German with per-server language settings.
  • License Protection – Built-in copyright validation prevents unauthorized modification.

Requirements

  • Python 3.10 or higher
  • A Discord Bot Token (create one at Discord Developer Portal)
  • One or more Palworld dedicated servers with REST API and/or RCON enabled
  • PalDefender – Required on your Palworld server for most RCON commands (give items, pals, XP, kits, etc.). See PalDefender Setup below.
  • (Optional) SFTP access for chat log reading and backup features

Installation

1. Install Dependencies

pip install -r requirements.txt

3. Configure Environment Variables

Copy the example environment file and fill in your values:

cp config/.env.example config/.env

Edit config/.env:

BOT_TOKEN="YOUR_DISCORD_BOT_TOKEN_HERE"
BOT_PREFIX="!"
Variable Description
BOT_TOKEN Your Discord bot token. Required.
BOT_PREFIX Prefix for legacy text commands (default: !).

4. Configure SFTP (Optional)

If you want chat relay, log reading, backups, or account linking:

cp config/sftp.yml.example config/sftp.yml

Edit config/sftp.yml:

servers:
  - name: "My Palworld Server"
    host: "192.168.1.10"
    port: 2022
    username: "user1"
    password: "password1"
    path: "Pal/Binaries/Win64/PalDefender/Logs"
    webhook: "https://discord.com/api/webhooks/..."
    chat_channel: 111111111111111111
    save_path: "Pal/Saved/SaveGames/0/0000000000000001"
    backup_channel: 111111111111111111
    backup_interval: 300
    link_channel: 222222222222222222

economy:
  currency_name: "gold"
  work_cooldown: 3600
  work_minamount: 10
  work_maxamount: 50
  shop_logs: 333333333333333333
Field Description
name Display name for the server in Discord.
host IP address or hostname of the Palworld server.
port SFTP port (usually 22 or a custom port).
username / password SFTP credentials.
path Path to PalDefender log files on the server.
webhook Discord webhook URL for chat relay.
chat_channel Discord channel ID where in-game chat is posted.
save_path Path to server save files for backups.
backup_channel Discord channel ID where backups are sent.
backup_interval Backup interval in seconds (e.g., 300 = 5 minutes).
link_channel Discord channel ID for account linking notifications.
currency_name Name of the economy currency (default: gold).
work_cooldown Cooldown between /work uses in seconds.
work_minamount / work_maxamount Min/max gold earned per /work.
shop_logs Discord channel ID for shop purchase logging.

5. Configure Shop Items (Optional)

cp config/shop.yml.example config/shop.yml

Edit config/shop.yml:

shop:
  - name: "Starter Kit"
    description: "Basic starter equipment"
    price: 100
    server: null
    items:
      - "ClothArmor_5:1"
      - "Pickaxe_Tier_00:1"
Field Description
name Item name shown in the shop.
description Short description.
price Cost in gold or Pal Points.
server Restrict to a specific server name, or null for all.
items List of items in ItemID:Amount format.

To use Pal Points as currency instead of gold, add currency: pal_points to the item.

6. Configure Pal Points (Optional)

Edit config/palpoints.yml:

enabled: true
points_per_minute: 5
Field Description
enabled Enable/disable Pal Points tracking.
points_per_minute How many Pal Points are awarded per minute of playtime.

7. Run the Bot

python run.py

Or on Windows:

start.bat

Or with Docker:

bash start-docker.sh

8. Invite the Bot

Use the invite link printed in the console on startup, or generate one in the Discord Developer Portal with the applications.commands scope.


PalDefender Setup

PalDefender is required for most of PalBot's advanced RCON commands such as /giveitem, /givepal, /givexp, /givekit, /reloadcfg, and more.

PalDefender depends on a Windows environment. If you plan to host your Palworld server on a Linux-based machine, you will need to install Wine or Proton.

Installing a Palworld server itself is not covered here.

Windows

  1. Download PalDefender_Windows.zip from GitHub/releases.
  2. Extract the contents of PalDefender_Windows.zip and place it into your PalServer sub-directory: .../Pal/Binaries/Win64/

Your structure should look like this:

Palworld_Server/
├── Engine/
├── Pal/
│   ├── Binaries/
│   │   └── Win64
│   │       ├── config/
│   │       ├── PalDefender/                      // Will be generated (Step 4)
│   │       ├── <...>
│   │       ├── PalDefender.dll                   << Put here (Step 2)
│   │       ├── d3d9.dll                          << Put here (Step 2)
│   │       ├── PalServer-Win64-Shipping-Cmd.exe
│   │       └── PalServer-Win64-Shipping.exe
│   ├── Content/
│   ├── Plugins/
│   └── Saved/
│       ├── Config/
│       │   ├── CrashReportClient/
│       │   └── WindowsServer/
│       │       ├── GameUserSettings.ini
│       │       ├── <...>
│       │       └── PalWorldSettings.ini
│       ├── Crashes/
│       ├── <...>
│       └── SaveGames/
│           ├── 0/<WorldGUID>/
│           │     ├── backup/
│           │     ├── Players/
│           │     ├── Level.sav
│           │     └── LevelMeta.sav
│           └── banlist.txt
├── PalServer.exe
├── steamclient.dll
└── <...>
  1. Start your server once to generate the PalDefender file structure at .../Pal/Binaries/Win64/PalDefender/ (see above).
  2. Edit the configuration to your liking. We recommend turning on the whitelist.

Linux (Wine/Proton)

Wine or Proton must be installed, otherwise the following steps will not work.

The Palworld server setup on Linux is not managed by PalDefender and must be handled manually by you (Wine/Proton configuration, server startup, etc.).

Once the server is running correctly under Wine or Proton, you can follow the Windows installation instructions exactly, as the PalDefender setup itself is identical.


Language Setup

By default, the bot uses English. Admins can switch the bot language per server:

/language en    # English
/language de    # German

All command descriptions and responses will adapt to the selected language automatically.


License & Copyright

This project is protected by a built-in license validation system. If the copyright header is removed or modified from the source files, the bot will refuse to start.

Copyright (c) 2026 Robin Oliver Lucas – https://rl-dev.de

The Palword Discord Bot Team

profile avatar
Owner
  • 1
    Followers
  • 21
    Projects
  • 91.1K
    Downloads

👋 Über mich Hey, ich bin Robin Oliver Lucas aus Wuppertal! 🏃 Freizeit & Aktivitäten In meiner Freizeit bin ich am liebsten draußen unterwegs – meistens zusammen mit meinem Hund, mit dem ich viel unternehme.

More from RLDevDE