△◯✕□ PS2 Servers DOCS
Downloads GitHub

PS2 Servers Edge

PS2 Servers Edge is a high-speed, statically linked Go implementation engineered for routers, network-attached storage (NAS), Raspberry Pi, and minimal Linux appliances. It operates with a sub-20 MB RAM footprint and provides a responsive, embedded Web GUI dashboard.

Why Edge Exists
Running a full Python interpreter and desktop UI on an embedded MIPS/ARM router or an old thin client is often impossible due to flash storage and RAM constraints. Edge eliminates all Python dependencies, compiling down to a single compact binary that starts instantaneously and runs 24/7 beside your console.

1. Protocol & Feature Scope

Edge implements the most critical network-serving protocols for PS2 homebrew:

Implemented in Edge

  • UDPFS Engine: Full read and write support; automatic per-session Standard/Modulo negotiation; multi-console concurrency.
  • UDPBD Block Device: Direct sector serving for raw disc images over UDP 48573.
  • SMBv1 Server: Guest-authenticated file sharing on TCP 1111 for standard OPL.
  • Embedded Web UI: Responsive web management console for LAN monitoring and service control.
  • CSO & ZSO Decoding: Decompresses CSO and ZSO disc containers on the fly with a bounded block cache.
  • Transfer Telemetry: Structured JSON logging and real-time bandwidth metrics via --metrics.

Excluded from Edge

  • No SMB2 / SMB3: Edge focuses strictly on lightweight guest SMBv1. For authenticated SMB2/3, run Desktop or Core.
  • No HTTP Game Streaming: Edge's web server is dedicated exclusively to the Web UI management dashboard.
  • No CHD Decompression: Native libchdr dependencies are omitted to maintain 100% static linking portability across esoteric router toolchains.

2. Embedded Web UI Dashboard

Edge includes a built-in web management interface reachable via your browser on port 8082.

# Start Web UI for local host only:
ps2servers-edge webui

# Start Web UI accessible across your trusted LAN:
ps2servers-edge webui --bind 0.0.0.0 --auth-pass 'your-secure-password'

Web UI Features

  • Live Service Overview: View running states of UDPFS, SMB, and UDPBD services.
  • Connected Console Monitor: See real-time connected PS2 client IPs, active file handles, and streaming bandwidth.
  • Directory Browser: Browse configured games libraries with file size and format validation.
  • Service Management: Trigger service restarts seamlessly when installed via systemd or OpenWrt procd.
Web UI Security & LAN Access
When binding to 0.0.0.0 for network-wide access, Edge requires an authentication password via --auth-pass. If --insecure is passed, Edge generates a random high-entropy password and logs it to stdout. The Web UI runs over unencrypted HTTP; never expose port 8082 to the internet.

3. Core Edge Subcommands

Subcommand Example Invocation Description
udpfs ps2servers-edge udpfs --root /srv/ps2 Serve directory tree over UDPFS (discovery on 62966 + dynamic data port).
smb ps2servers-edge smb --share games=/srv/ps2 --port 1111 Serve guest SMBv1 share on TCP port 1111.
udpbd ps2servers-edge udpbd --image /srv/ps2/game.iso --read-only Serve single raw disc image over UDP 48573.
webui ps2servers-edge webui --bind 0.0.0.0 --auth-pass secret Launch web dashboard on port 8082.

4. Next Steps for Edge Operators

Which Build Do I Need? →

Use the 30-second uname -m test to select the exact binary asset for your router, Raspberry Pi, or NAS architecture.

OpenWrt Router Setup →

Deploy Edge onto your home router with official .ipk packages, external USB drive mounting, and procd service autostart.

Edge Operator Manual →

Complete CLI reference of all flags, configuration contracts, UCI schemas, and daemon options.