A Python-based Discord bot for PalWorld server administration via RCON.
This is an experimental project for a PalWorld remote console via Discord chat bot. Control and monitor your Pal World Servers remotely using this Discord Bot.
See Gallery below to view some of the features the bot provides.
This project requires Python 3.11+. This is a pain point for Linux users, as Ubuntu Jammy (we have not checked other distros) currently only officially supports 3.10. We've included instructions for users who are on Ubuntu in the following section.
We initially wanted to use Richard Neumann's RCON client implementation, but since Palworld's RCON server doesn't follow specifications properly, said library wasn't working for Palworld. We have currently switched to tama's implementation, which is technically for Minecraft, but is working for us. One caveat (based on issue #6) being that it makes assumptions about encoding, which causes packet read errors when players have non-latin characters in their IGN (not an issue for Minecraft which only allows latin characters).
config.toml
at the root of the project, using the provided config_example.toml
as a guide
localhost
is finesetup.sh
to set up your virtual environment
chmod +x setup.sh start.sh
start.bat
file will automatically set up your virtual environment!start.bat
/start.sh
to run the Discord Bot!
/logs
and rotated at midnight.Credits: Adapted from an article Rehan Haider
This is only a temporary measure until Ubuntu officially adds support for Python 3.11+.
sudo apt update && sudo apt upgrade -y
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.11
sudo apt remove --purge python3-apt
sudo apt autoclean
sudo apt install python3-apt
sudo apt install python3.11-distutils
cd
to a temporary locationcurl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python3.11 get-pip.py
sudo apt install python3.11-venv
nano setup.sh
and nano start.sh
to replace all instances of python3
with python3.11
We don't provide release versions, nor package the contents of this repository,
so you can update to the latest version by simply performing git pull
.
Create your Discord Bot using the Discord Developer Portal
Click on New Application at the top right of the web page.
Create
and click on your new Application.Click on the Bot
Section of the Discord Application:
Copy your discord bot token and put it into the config.toml
that you've created.
Ensure your discord bot has these settings appropriately marked.
Invite the Discord Bot with the following scopes: bot & applications.commands
[!TIP] Use a Discord Permissions Calculator to make your life easier!
[!IMPORTANT] Do note that the slash commands may take up to an hour to propagate for ALL servers the bot is on.
steamapps/common/PalServer/Pal/Saved/Config/WindowsServer/PalWorldSettings.ini
steamapps/common/PalServer/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
RCONPort
variable
RCONPort=255575
RCONEnabled=True
AdminPassword="insertpasswordhere"
sudo ufw allow 255575/tcp