PS2 Servers Editions & Architecture
PS2 Servers is a unified server ecosystem delivered in three distinct deployment shapes: Desktop, Core, and Edge. Each is engineered for specific operational environments, from standard gaming desktops to resource-constrained embedded routers.
One Architecture, Three Shapes
All three editions share identical protocol wire-specifications and compatibility goals. A PS2 loader running OPL, RiptOPL, or Neutrino interacts seamlessly whether connected to Desktop on Windows, Core on Ubuntu, or Edge on an OpenWrt router.
1. PS2 Servers Desktop
Desktop is the graphical workstation package designed for Windows, macOS, and Linux desktop environments. Built with Python and Tkinter, it provides an intuitive multi-card interface for immediate operation.
Key Desktop Features
- 6 Dedicated Server Cards: SMBv1, UDPFS, UDPBD, SMB2, SMB3, and HTTP game streaming.
- Integrated Network Selector: Detects active network interfaces and automatically populates IP setup hints.
- Firewall Helper: Automatic creation and cleanup of Windows Defender Firewall rules for each server port.
- Zero Setup Runtime: Distributed as standalone portable executables with bundled Python; no pre-existing runtime required.
- Compression Engine: Full support for on-the-fly decompression of CHD, CSO, and ZSO disc images when optional native libraries (such as
libchdr) are detected.
2. PS2 Servers Core
Core exposes the full Python server implementations from the terminal without launching a graphical window. It is the premier choice for headless servers, developer workflows, remote SSH sessions, container environments, and CI/CD automated testing.
# Serve UDPFS games from a directory
python ps2servers.py serve udpfs --root-dir /srv/ps2 --read-only
# Serve SMBv1 guest share
python ps2servers.py serve smbv1 --share games=/srv/ps2 --port 1111
# Serve raw disk image over UDPBD
python ps2servers.py serve udpbd /srv/images/game.iso --read-only
# Serve HTTP games for OPL-HTTP
python ps2servers.py serve http --root-dir /srv/ps2 --port 1100
Packaged standalone executables also support identical subcommands: ps2servers.exe serve udpfs .... Core includes extensive diagnostic flags like --verbose, structured JSON logging, and connection inactivity telemetry.
3. PS2 Servers Edge
Edge is a high-speed, native Go rewrite engineered specifically for headless and embedded environments where Python is either unavailable, too heavy, or slow to start. Edge compiles to a compact, statically linked binary with zero shared-library dependencies.
Target Environments for Edge
- Home Routers & OpenWrt: Run directly on MIPS, ARM, or x86 router hardware beside your console.
- Single Board Computers: Raspberry Pi (Pi 1/2/3/4/5, Zero, Zero 2W), Orange Pi, Rockchip boards.
- NAS Appliances: Synology, QNAP, TrueNAS, unRAID, and Asustor storage servers.
- Minimal Footprint: Consumes under 20 MB of RAM under full gigabit streaming load; suitable for 32MB / 64MB embedded devices.
- Embedded Web UI: Includes a built-in browser management dashboard (
webui) for monitoring throughput, clients, and service states.
Feature & Edition Comparison Matrix
| Feature |
Desktop (GUI) |
Core (CLI) |
Edge (Go Native) |
| Language / Runtime |
Python 3.12 (Bundled) |
Python 3.12 (CLI / Bundled) |
Go 1.22+ (Static Native Binary) |
| User Interface |
Desktop Tkinter GUI |
Terminal / CLI Flags |
CLI + Embedded Web UI Dashboard |
| Typical RAM Usage |
60 – 120 MB |
40 – 80 MB |
8 – 25 MB (Sub-32MB Capable) |
| UDPFS Protocol |
Yes (Auto Modulo/Standard) |
Yes (Auto Modulo/Standard) |
Yes (High-Throughput Native) |
| SMBv1 Sharing |
Yes (Port 1025) |
Yes (Port 1111) |
Yes (Port 1111) |
| SMB2 / SMB3 Sharing |
Yes (Port 1445) |
Yes (Port 1445) |
No (SMBv1 Only) |
| UDPBD Block Device |
Yes (Port 48573) |
Yes (Port 48573) |
Yes (Port 48573) |
| HTTP Game Streaming |
Yes (Port 1100) |
Yes (Port 1100) |
No (Web UI is Management Only) |
| ISO / CSO / ZSO Support |
Yes |
Yes |
Yes (CSO/ZSO Decompressed Cache) |
| CHD Format Support |
Yes (via libchdr) |
Yes (via libchdr) |
No (Excluded from static builds) |
| OpenWrt / Router Packages |
No |
No |
Yes (Official .ipk packages) |
| Docker & systemd Integration |
No |
Yes |
Yes (Minimal scratch image) |
Which Edition Should You Choose?
- Choose Desktop if you are playing on Windows, macOS, or a Linux workstation and want a simple visual launcher with start/stop buttons and automatic configuration saving.
- Choose Core if you have an existing Linux server with Python installed, run games from Docker containers, or want to script headless background services.
- Choose Edge if you want to run servers 24/7 on an OpenWrt router, Raspberry Pi, home NAS, or old low-power hardware without a monitor or desktop environment.
- Choose Desktop/Core if you have disc images in CHD format, or require SMB2/SMB3 authenticated sharing or HTTP game streaming.