- Python 52.6%
- Shell 17.9%
- CSS 13.2%
- JavaScript 11.2%
- HTML 5.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| apache | ||
| caddy | ||
| config | ||
| controller | ||
| docs/images | ||
| fail2ban | ||
| nginx | ||
| public | ||
| runtime | ||
| scripts | ||
| sudoers | ||
| systemd | ||
| tests | ||
| .gitignore | ||
| CHANGELOG.md | ||
| ECOSYSTEM.md | ||
| FRESH-INSTALL.md | ||
| LEGACY-COLOCATED.md | ||
| PORT-LAYOUT.md | ||
| README.md | ||
| REMOTE-LXC.md | ||
| VERSION | ||
Palworld Operations
Interface preview using example data. Appearance and available controls depend on your configuration. Click the image for full size.
A self-hosted dashboard for an existing Palworld dedicated server: status, players and performance, start/stop/restart, Steam build checks, updates with save backups, and persistent operation output.
Current release: 1.3.0.
Install on your own system
Start with FRESH-INSTALL.md. It covers downloading the source, prerequisites, your own addresses and paths, same-host installation, and a fresh two-host installation over restricted SSH. Proxmox is optional.
The remote bootstrap creates its own accounts and keys; it does not assume the author's LAN or a previously installed controller. The same-host installer supports existing screen or systemd servers. Neither installer creates the game.
How it works
- The browser talks to an authenticated Python dashboard behind HTTPS.
- Same-host mode calls a fixed privileged helper for the selected game.
- Remote mode sends allowlisted commands over a dedicated SSH key. A separate worker records jobs in SQLite and continues them after the browser disconnects.
- The game host owns the update/backup workflow. The web app cannot send shell commands or choose arbitrary paths.
- Remote metrics come from the configured private Palworld REST address.
- Password hashing, signed sessions, CSRF checks and login throttling are retained. Use local fail2ban for the same-host proxy layout and ingress fail2ban for the separate-proxy layout; these are different network enforcement points.
Existing installations
The fresh bootstrap refuses existing installations. REMOTE-LXC.md contains the original author's historical 1.2.x migration/hotfix procedure; LEGACY-COLOCATED.md retains the original same-host operations notes. Do not apply those addresses or migration commands to a fresh setup. This release adds the portable bootstrap; it does not automatically migrate or upgrade a running 1.2.x remote installation.
ECOSYSTEM.md explains Nexus, GameOps, the builder and other boards. Nexus is optional and connects using the Palworld profile.
Verify the source
python3 -m unittest discover -s tests -p 'test_*.py'
bash -n scripts/install.sh controller/palworld-control
Tests simulate game operations. See the fresh-install guide for live verification, backup locations and taking a remote dashboard offline.
