△◯✕□ PS2 Servers DOCS
Downloads GitHub

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?