SMBv1
Shares a games folder over SMB. It speaks SMB itself, so it works on Windows 11 even though Windows removed its own SMB1 support — and it leaves your Windows file sharing untouched.
OPL: port 1111 · share games
Run SMBv1, UDPFS, or UDPBD network servers for PlayStation 2 and Open PS2 Loader from one small GUI. Pick a server, point it at your games folder or disk image, press Start — the launcher shows your PC's LAN IP and the exact values to type on the PS2. No terminal, no config files.
PS2 Servers packages the useful host-side network servers into a single launcher that shows your LAN IP, collects the right folder or image path, and prints the exact values you need to enter in Open PS2 Loader.
Shares a games folder over SMB. It speaks SMB itself, so it works on Windows 11 even though Windows removed its own SMB1 support — and it leaves your Windows file sharing untouched.
OPL: port 1111 · share games
Serves a folder and/or a disk image over UDP — the newer protocol. Optionally decompresses CHD/CSO/ZSO images on the fly so they load as plain .iso.
OPL: select UDPFS
Serves a single disk image as a UDP block device. The PS2 finds the server by itself over the LAN — nothing to type on the console.
OPL: auto-discovered
Headless standalone Go binary for routers, OpenWrt, Raspberry Pi, and NAS. Includes an embedded responsive Web GUI for phone or remote control.
Web UI: http://router:8082
Pick a server, choose the folder or image, press Start, then enter the displayed settings in OPL. The launcher fills in your LAN IP and the correct port for you.
Grab the latest packaged build for your OS from GitHub Releases.
Select SMBv1, UDPFS, or UDPBD from the launcher tabs.
Browse to your games folder or disk image. The app detects your LAN IP.
Click Start and enter the shown values in OPL.
SMBv1 — OPL → Settings → Network Address type IP address (turn NetBIOS off) PC IP Address the LAN IP the launcher shows after you press Start Port 1111 Share games User guest Password leave blank UDPFS select UDPFS in OPL; enter the shown server IP only if OPL asks. UDPBD select UDPBD in OPL; the PS2 finds the server automatically — no IP or port.
The launcher always prints these exact values while a server is running, so you never have to guess. You'll need a PS2 that boots homebrew and runs Open PS2 Loader (or PCSX2 with a network adapter) on the same LAN.
The defaults are right for every client we know of — NHDDL, RiptOPL, POPSTARTER, POPSLOADER and wLaunchELF-R3Z all work out of the box. These are the ones you might change.
There's a checkbox for it on the UDPFS tab. It's either/or — while it's on, the normal clients won't connect. Untick it and they're back.
Modulo's client doesn't follow the UDPFS protocol: it never restarts its sequence counter, and it can't move to the server's data port. That isn't specific to us — it fails against pcm720's udpfsd for the same reasons. Modulo's own repo ships a patched server to work around both, so this mode answers the way that server does. A correct client can't follow it.
--modulo-mode
UDPFS drops a console once it goes quiet, closing whatever files it had open. There's no disconnect packet in the protocol — a paused game and an unplugged console look identical on the wire — so the timeout is the only thing that tells them apart.
Default 1 hour, matching udpfsd, adjustable 60s–24h under Advanced. Lower it only to clear stale consoles faster; too low and a long pause loses its game.
--peer-timeout SECONDS
Leave them alone unless something needs them predictable. Discovery is 0xF5F6; each console is then handed to an ephemeral data port, which a manual firewall rule or a strict NAT can't follow — pin Data port in that case.
Single-port mode serves both on one port for networks that can't handle the two-port handshake. Unlike Modulo mode it changes no protocol behavior, so normal clients keep working.
--port · --data-port · --single-port
Two machines on the same home network: the PC that runs PS2 Servers, and the PS2 that loads your games from it. The PC side is deliberately light — no Python and no heavy runtime for the packaged app.
python3-tk)lz4libchdr native libraryUDPFS only · shown as .iso
On Windows, the portable build is the recommended download — it is the same app without the self-extracting wrapper that makes the single-file .exe trip antivirus heuristics, so it comes up clean. A single-file build is also published per OS for convenience, and macOS ships as architecture-specific app zips.
release assets PS2Servers-windows-x64-portable.zip # recommended on Windows (AV-clean) PS2Servers-windows-x64.zip # single-file convenience build PS2Servers-linux-x64 PS2Servers-linux-x64-portable.tar.gz PS2Servers-macos-arm64.zip PS2Servers-macos-x64.zip from source python -m pip install -r requirements-build.txt python build/build.py