PS2 Servers Core CLI Reference
PS2 Servers Core provides terminal-based server execution without a graphical display. Powered by the full Python engine, it supports automation, daemonization under systemd, container deployment, and extensive debugging telemetry.
Command Entry Point
Whether running from source with python ps2servers.py serve <mode> or invoking a packaged binary like PS2Servers.exe serve <mode>, the subcommands and flags are identical. The internal alias --serve is also supported for backward compatibility with existing scripts.
1. Listing Modes & Global Help
# List available server modes
python ps2servers.py --list
# Show help for a specific mode
python ps2servers.py serve udpfs --help
python ps2servers.py serve smbv1 --help
python ps2servers.py serve udpbd --help
python ps2servers.py serve http --help
2. serve udpfs Options
python ps2servers.py serve udpfs --root-dir /srv/ps2 [options]
| Flag | Default | Description |
|---|---|---|
--root-dir PATH |
(Required) | Path to the root games directory (parent of DVD/ and CD/). |
--bind IP |
0.0.0.0 |
Binds Core's data socket to a specific PC LAN address (crucial for multi-adapter PCs). |
--port PORT |
62966 |
Discovery UDP port. |
--data-port PORT |
0 (dynamic) |
Explicit data port for firewalls. |
--single-port |
false |
Route both discovery and data through port 62966. |
--peer-timeout SECS |
3600 |
Session inactivity timeout in seconds (accepts 60 to 86400). |
--read-only |
false |
Disallow write operations. |
--verbose |
false |
Enable high-verbosity packet telemetry and 45-second inactivity diagnostics. |
3. serve smbv1 Options
python ps2servers.py serve smbv1 --share games=/srv/ps2 --port 1111 [options]
| Flag | Default | Description |
|---|---|---|
--share NAME=PATH |
games=... |
Define a share name mapped to a directory path. Can be repeated. |
--port PORT |
1111 |
TCP listening port. |
--read-only |
false |
Disable writes (saves and VMCs). |
4. serve udpbd Options
python ps2servers.py serve udpbd /srv/images/game.iso --read-only [options]
| Flag | Default | Description |
|---|---|---|
IMAGE_PATH |
(Positional) | Path to the disc image file. |
--port PORT |
48573 |
UDP port for block device commands. |
--bind IP |
0.0.0.0 |
Interface bind address. |
--read-only |
false |
Prevent write modifications to the backing image. |
5. Running Under systemd
Create a service unit file at /etc/systemd/system/ps2servers-udpfs.service:
[Unit]
Description=PS2 Servers UDPFS Service
After=network.target
[Service]
Type=simple
User=ps2games
ExecStart=/usr/bin/python3 /opt/ps2-servers/ps2servers.py serve udpfs --root-dir /srv/ps2games --read-only
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
Enable and start the service:
sudo systemctl daemon-reload
sudo systemctl enable --now ps2servers-udpfs
sudo journalctl -u ps2servers-udpfs -f