SMBv1 · UDPFS · UDPBD

PS2 Servers

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.

3server modes
0terminal work required
LANOPL focused

One launcher. Three routes into OPL.

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.

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

UDPFS

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

UDPBD

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

Edge & Web GUI

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

From download to in-game in four steps.

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.

Download

Grab the latest packaged build for your OS from GitHub Releases.

Choose

Select SMBv1, UDPFS, or UDPBD from the launcher tabs.

Point

Browse to your games folder or disk image. The app detects your LAN IP.

Start

Click Start and enter the shown values in OPL.

What you enter on the PS2

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.

UDPFS settings worth knowing.

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.

Using Modulo?

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

Idle timeout

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

Ports

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

What you need to run it.

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.

Your PC

  • OS Windows 10/11, Linux, or macOS — all 64-bit
  • Packaged No Python needed; the download bundles everything
  • From source Python 3 + Tkinter (Linux: python3-tk)
  • Hardware Any modern 64-bit PC — a small Tkinter app, not Electron
  • Network Same LAN as the PS2; wired recommended for big games

Your PS2

  • Console A PS2 that boots homebrew (FreeMcBoot, FreeDVDBoot, modchip…)
  • Loader Open PS2 Loader or a fork such as RiptOPL
  • Adapter PS2 Ethernet — built into slims, SCPH‑10281 on fat units
  • Emulator PCSX2 with a network adapter works for testing too

Compressed images

  • Packaged CHD, CSO and ZSO decode out of the box
  • ZSO From source, add lz4
  • CHD From source, add a libchdr native library
  • CSO Always available — pure Python

UDPFS only · shown as .iso

Downloads

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