RiptOPL DOCS

Network Boot (UDPBD / UDPFS)

Stream your PS2 game library from a PC over the LAN. Both protocols appear in RiptOPL as a UDPBD Games list โ€” exactly like a USB drive, with covers, Favourites, and per-game settings โ€” because to OPL the network device is just another block device. Games always launch through Neutrino; there is no OPL built-in core fallback for network boot.

โ„น Off by default
Network boot is disabled by default. It requires a static PS2 IP, a PC-side server, and exclusive use of the Ethernet adapter โ€” it cannot run alongside SMB. Enable it only when you have those pieces in place.

UDPBD vs UDPFS โ€” which protocol?

RiptOPL supports two network block-device transports. Both serve the same purpose; pick the one whose PC server you prefer. The Net Boot Protocol picker in Device Settings selects which one the PS2 loads at runtime.

ProtocolWire formatPC serverPS2 Neutrino flagIRX chain
UDPBD SUDPBDv2 udpbd-server (rickgaiser/udpbd) -bsd=udpbd Single monolithic smap_udpbd.irx
UDPFS UDPRDMA udpfs_server.py (inside the bundled Neutrino archive) -bsd=udpfsbd 3-IRX chain: smap โ†’ ministack โ†’ udpfs_bd

The two protocols are wire-incompatible. UDPBD's udpbd-server will not talk to a UDPFS client and vice-versa โ€” you must run the server that matches the protocol selected on the PS2 side.

Where is udpfs_server.py?

The RiptOPL release package (RIPTOPL-*.zip) includes a bundled Neutrino archive (neutrino_*.7z) alongside the ELF. Extracting that archive reveals a udpfs_server/ directory containing udpfs_server.py โ€” that is the PC daemon to run when using UDPFS. UDPBD's udpbd-server is a separate project (rickgaiser/udpbd) not bundled with RiptOPL.

Why does UDPFS need a bsd-udpfsbd.toml?

Neutrino ships udpfs_bd.irx but has no built-in -bsd token for it โ€” the stock Neutrino configuration only defines a token for UDPBD. RiptOPL solves this by auto-injecting config/bsd-udpfsbd.toml into the bundled Neutrino archive at build time, so no manual setup is needed if you use the release package. If you assembled your own Neutrino install, copy neutrino/bsd-udpfsbd.toml (from the RiptOPL source tree) into your mc?:/neutrino/config/ folder.

Requirements

Enabling network boot

Set a static IP on the PS2

Go to Settings → Network Settings and set a fixed IP address, subnet mask, and gateway. Turn DHCP off. Both UDPBD and UDPFS read this address at module-load time; they have no mechanism to acquire a lease later.

Disable SMB / Ethernet

In Settings → Device Settings, confirm the Ethernet (SMB) device mode is set to Disabled. The Network Boot toggle is greyed while SMB is active.

Turn Network Boot on

In Settings → Device Settings, set Network Boot to On. The Net Boot Protocol picker (defaulting to UDPBD) becomes active โ€” change it to UDPFS if that is the protocol you are using. Save settings.

Start the PC server

On the PC, run the server that matches your chosen protocol. Both should listen on all interfaces by default; point them at the directory that holds your CD/, DVD/, ART/, and CFG/ folders.

# UDPBD
udpbd-server /path/to/games

# UDPFS
python3 udpfs_server.py /path/to/games

Boot the PS2 and find your games

RiptOPL loads the IOP module as soon as it starts and mounts the network block device as massN:. Your games appear in a UDPBD Games tab (regardless of which protocol is active). Select a game and launch it โ€” Neutrino is invoked automatically.

Neutrino-only: no OPL core fallback

UDPBD and UDPFS have no embedded cdvdman backend, so they cannot use OPL's built-in EE core. Every UDPBD game launches via Neutrino, regardless of the per-game Loader Core setting. In the per-game Compatibility screen, the Loader Core selector is locked to Neutrino for UDPBD/UDPFS games โ€” it cannot be changed to <OPL>. If neutrino.elf is missing when a game is launched, OPL shows a warning and returns to the menu; it does not attempt an OPL-core fallback.

โ„น Per-game settings still work
UDPBD/UDPFS games support the full per-game settings screen in its Neutrino-aware mode: compat modes 1/2/3/5 (mapped to -gc), mode 7 (fix IOP buffer overrun, -gc=7), the Neutrino Video picker (-gsm), VMC, and free-text Neutrino Launch Args. OPL-core-only panels (GSM, Cheats, PADEMU, OSD Language) show a "not used with the Neutrino core" notice. See Per-game Settings and Neutrino Core for details.

SMB mutual exclusion

The PS2 has a single Ethernet adapter (SMAP). Both the SMB/ETH stack and the UDPBD/UDPFS stack load a SMAP driver โ€” they cannot coexist. The Device Settings UI enforces this: enabling Network Boot greys out the Ethernet (SMB) mode selector, and enabling SMB greys out the Network Boot toggle. There is no way to use both at the same time.

If you want to switch between SMB and network boot, disable one, save settings, and enable the other.

Config file keys

These values are stored in settings_riptopl.cfg.

KeyTypeDefaultMeaning
enable_udpbdbool (0/1)0Master switch: enable network boot (UDPBD or UDPFS).
net_boot_protocolint (0/1)00 = UDPBD, 1 = UDPFS. Only meaningful when enable_udpbd=1.

The PS2 IP address used by the IOP modules is read from the standard Network Settings fields (the same ones SMB uses); there are no protocol-specific network keys.

Game folder layout on the server

The PC server exports a directory that the PS2 mounts as a block device and reads as FAT. RiptOPL scans it with the same folder conventions as a USB drive:

mass0:/  (device root โ€” folders sit here directly by default)
  CD/          โ† PS2 CD-ROM images (.iso)
  DVD/         โ† PS2 DVD images (.iso)
  ART/         โ† cover art (same naming as USB)
  CFG/         โ† per-game config files
  VMC/         โ† virtual memory cards (optional)
  POPS/        โ† PS1 POPS firmware (for VCD, if used)
  POPSTARTER/  โ† POPSTARTER.ELF (for VCD, if used)
  APPS/        โ† homebrew ELF files (optional)
Can I use ZSO or UL-format images over network boot?

No. Compressed (.zso) and USB Extreme split (.ul) images require the OPL built-in core, which is not available for UDPBD/UDPFS games. Only standard ISO images work over network boot.

Troubleshooting

SymptomLikely causeFix
No "UDPBD Games" tab appears Network Boot is off, SMB is still active, or the IOP module failed to load (no network link at boot). Check Device Settings: Network Boot = On, Ethernet/SMB = Disabled. Verify the PS2 has a physical Ethernet link before power-on.
"UDPBD needs a static PS2 IP" warning on save DHCP is enabled in Network Settings. Go to Settings → Network Settings, disable DHCP, and enter a static IP.
Tab appears but game list is empty PC server not running, wrong IP, or wrong protocol selected. Confirm the server is running. Confirm the PS2 IP in Network Settings matches the server's expected client address. Confirm the Net Boot Protocol matches the server binary.
Game launches but immediately crashes or freezes neutrino.elf not found, or server disconnect mid-launch. Verify neutrino.elf exists at mc0:NEUTRINO/neutrino.elf or the custom Neutrino ELF Path. Keep the PC server running throughout play.
UDPFS game fails but UDPBD works bsd-udpfsbd.toml missing from the Neutrino config folder. Use the bundled Neutrino archive from the RiptOPL release package (it contains config/bsd-udpfsbd.toml pre-injected). If you installed Neutrino manually, copy neutrino/bsd-udpfsbd.toml from the RiptOPL source into mc?:/neutrino/config/.

For further reading see Neutrino Core (per-game settings, launch args) and SMB (network share) (the alternative network game source, which uses the OPL built-in core and does not require Neutrino).