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
Use the 30-second uname -m test to select the exact binary asset for your router, Raspberry Pi, or NAS architecture.
Deploy Edge onto your home router with official .ipk packages, external USB drive mounting, and procd service autostart.
Complete CLI reference of all flags, configuration contracts, UCI schemas, and daemon options.