(Automated Deployment, Management & Installation Nexus)
[
[
[
[
Choose a version that matches the Operating System of the machine the Dedicated Server will be run on, not the machine you will manage the server from.
For Windows, choose a .exe, for linux use palworld-admin-linux
Compatibility: Windows 10+ / Windows Server 2019+ (Success has been reported on Windows Server 2016 but not recommended)
Compatibility: Tested on 23.04+, should work on 22.04+ as long as you have Python3.11+ installed
c:\Palworld-Dedicated-Server
(Windows)$HOME/Palworld-Dedicated-Server
(Linux)Known Folder
, including but not limited to, My Documents
, Downloads
, Desktop
otherwise the SteamCMD installtion will fail.-r -mp [management-password]
.
This will make it so that in order to access the server a [management-password]
must be entered.If you mount the directories as explained below, they must be owned by UID:GID 1001:1001 on the host, otherwise you will have permission errors.
If your distro doesn't already have a 1001:1001 user (you can check by running sudo cat /etc/passwd
), then you can create the user and set the user perms by running the following commands:
sudo useradd -u 1001 -g 1001 [username]
sudo chown [username]:[username] /path/to/dir
Simply run (if using Docker, or use any alternative you like such as Docker Compose or Kubernetes:
docker run \
-e MANAGEMENT_PASSWORD="[management-password]" \
-e MANAGEMENT_PORT=[management-port] \
-p [desired management-port]:[management-port]/tcp \
-p [desired game port]:[desired game port]/udp \
-p [desired RCON port]:[desired RCON port]/tcp \
-p [desired query port]:[desired query port]/udp \
-v [location on host to mount palworld-admin directory]:/home/lukium/palworld-admin/ \
-v [location on host to mount Palworld Dedicated Server directory]:/home/lukium/.wine/drive_c/steamcmd/ \
--name [desired container name] \
lukium/palworld-admin-wine:latest
If running on windows Docker Desktop, do not use -v as mounting the volumes directly will break things and run the entire command as one line. The palworld-admin and dedicated server files will be mounted to \wsl.localhost\docker-desktop-data\data\docker\volumes as directories with random string (once you identify which is which, you can create a shortcut to them wherever you like) Docker Compose:
# docker-compose.yml
version: '3.8'
services:
app:
container_name: ${CONTAINER_NAME}
image: 'lukium/palworld-admin-wine:${CONTAINER_VERSION}'
restart: unless-stopped
environment:
MANAGEMENT_PASSWORD: ${MANAGEMENT_PASSWORD}
ports:
- '${ADMIN_PORT}:8210/tcp'
- '${GAME_PORT}:${GAME_PORT}/udp'
- '${RCON_PORT}:${RCON_PORT}/tcp'
- '${QUERY_PORT}:${QUERY_PORT}/udp'
volumes:
- ./palworld-admin:/home/lukium/palworld-admin/
- ./PalServer:/home/lukium/.wine/drive_c/steamcmd/
# .env
CONTAINER_NAME=Palworld Server
CONTAINER_VERSION=latest
MANAGEMENT_PASSWORD=changeme
ADMIN_PORT=8210
GAME_PORT=8211
RCON_PORT=25575
QUERY_PORT=27015
For example:
docker run \
-e MANAGEMENT_PASSWORD="test123" \
-p 8210:8210/tcp \
-p 8211:8211/udp \
-p 25575:25575/tcp \
-p 25575:25575/udp \
-p 27015:27015/tcp \
-p 27015:27015/udp \
-v $HOME/palworld-admin/app/:/home/lukium/palworld-admin/ \
-v $HOME/palworld-admin/server/:/home/lukium/.wine/drive_c/steamcmd/ \
--name palworld-admin-wine \
lukium/palworld-admin-wine:latest
pip install poetry
make sure you add it to your PATHpoetry config virtualenvs.in-project true
poetry install
./palworld_admin/settings.py
that self.no_ui: bool = False
(In order to keep the repo clean, it does not contain the Electron UI executables so if running from code you must run no-ui)poetry run python ./palworld_admin/main.py
The most likely cause for this is the user running Palworld A.D.M.I.N. from the desktop, a folder in the desktop, or a folder in a windows directory that's "syncable" like Documents / Downloads / etc.
Instead I recommend creating a directory like c:\Palworld-Admin or c:\Palworld Server.
OSError: [WinError 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted
(See screenshot below) This means that the webserver is already running (maybe the application didn't fully close before). Check your task manager and close palworld-admin manually before trying to restart the application.
sqlite3.OperationalError
(See screenshot below) This means that the application database need to be upgraded. Re-run the application with -mdb flag, e.g., palworld-admin.exe -mdb
and this should upgrade the database to current.
1 GB = 1024 MB. This means that the server will not restart at 16000MB, because 16000 MB is not 16GB. 16 GB = 16384 MB. Also, The logic is that the server must exceed the limit 3 times a row (to prevent unecessary restarts should it just be a random spike). You should see notifications in the application saying that it has been triggered 1/3, 2/3 and 3/3, before a restart.
Error: list index out of range
/ I can't kick a player in my serverThis typically results from someone in your playerlist having a name that breaks RCON. Unfortunately, Palworld's RCON is very rudimentary and names with non-ASCII characters messes with it. Another symptom is being unable to kick/ban a player via RCON. Tell your players to use names with ASCII characters until the ingame-RCON is improved upon.
Credits:
https://github.com/cheahjs/palworld-save-tools (Expanded and Modified)
https://github.com/itzg/rcon-cli (Expanded, Modified, Translated to Python)