△◯✕□ RiptOPL DOCS
Downloads GitHub
This is the legacy version of RiptOPL. We have moved over to ps2build's C++ Edition at NathanNeurotic/RiptOPL, where new development now happens.

SMB (network share)

Load PS2 (and PS1) games directly from a shared folder on a Windows PC, Linux Samba server, or NAS over your local network. It speaks SMBv1 by default and can be switched to SMB2 with the SMB Version row in Network; for SMB 3.0, put a game on the experimental Neutrino core. No USB drive required — the PS2 mounts the share and reads ISOs straight off it.

SMB and Network Boot share the same adapter
The PS2 has one Ethernet port and one network driver. SMB (ETH) and Network Boot (UDPBD/UDPFS) are mutually exclusive — selecting one in Game Sources excludes the others. If you switch, you must save and restart for the change to take effect. See Network Boot for the UDPBD/UDPFS alternative.

What you need

Recommended on Windows: PS2 Servers
RiptOPL no longer embeds a PC SMB server. Open PS2-Servers.url from the release package or visit PS2 Servers, choose its SMBv1 server, select your games folder and follow the protocol-specific IP, port, share and credential values the launcher displays. It implements the OPL-compatible SMBv1 subset directly and does not require you to enable Windows' built-in SMB1 feature. Use its SMBv1 card with SMB Version on SMBv1, or its SMBv2 card (SMB up to 2.1) with SMB2; its SMBv3 card is for the Neutrino SMB path. Samba/NAS users may need min protocol = NT1 if their server defaults have been tightened.

1. Set up the SMB server and share

PS2 Servers: download its packaged app, choose the SMBv1 server card, select your games folder and click Start. Use the exact connection settings shown by the launcher. The manual share instructions below are for Samba, a NAS, or another already-configured SMB server.

Create a folder

Create a folder to act as the OPL root — e.g. C:\PS2SMB on Windows or /srv/ps2smb on Linux. Give it the standard OPL subfolder layout (OPL will create missing folders automatically on first connect, but it helps to have them ready):

PS2SMB\
  CD\       ← PS2 CD-ROM games (blue-bottom discs, <700 MB ISOs)
  DVD\      ← PS2 DVD5 / DVD9 ISOs
  POPS\     ← PS1 *.VCD files + POPSTARTER.ELF (for PS1 games)
  ART\      ← cover art
  CFG\      ← per-game config files
  VMC\      ← Virtual Memory Card images
  THM\      ← themes
  CHT\      ← cheat files
  APPS\     ← homebrew ELFs

Grant the access your features need

Read access is required for game loading. Write access is also needed to create support folders, save configuration changes or save to VMCs on the share. Copy the endpoint and credentials shown by your server.

Linux / Samba: add a share block to /etc/samba/smb.conf — for example:

[PS2SMB]
   path = /srv/ps2smb
   browseable = yes
   writable = yes
   guest ok = yes
   min protocol = NT1

Then run sudo systemctl restart smbd. If you use a password, set up a Samba user with sudo smbpasswd -a <username> instead of using guest ok = yes.

The min protocol = NT1 line above lets a modern Samba still answer SMBv1, which this loader needs on SMBv1 for games on OPL's core. With SMB Version on SMB2, drop that line.

Place your game ISOs

Copy PS2 ISOs into DVD\ (for DVD games) or CD\ (for CD-ROM games). USBExtreme/USB Advance split-format games (ul.*) work too, but single-file ISOs are simpler over a network. There is no per-file size limit on the SMB path — DVD9 dual-layer ISOs (~8 GB) are fine.

2. Configure the Network page in OPL

In RiptOPL, go to Settings → Network. The page has two sections: the PS2's own network identity, and the share address.

PS2 IP address

FieldDescription
IP address typeStatic or DHCP. Static is recommended — it avoids re-needing to update the settings when your router assigns a different lease.
IP AddressThe PS2's IP address (e.g. 192.168.0.10). Grayed out when DHCP is selected.
MaskTypically 255.255.255.0 for a home /24 network.
GatewayYour router's IP (e.g. 192.168.0.1).
DNS ServerUsually the same as the gateway, or your ISP/public DNS. Not required for SMB itself (which connects by IP), but needed if DHCP negotiation touches DNS.
Ethernet Link ModeLeave on Auto unless your switch forces a specific speed/duplex. Options: Auto, 100Mbps Full-Duplex, 100Mbps Half-Duplex, 10Mbps Full-Duplex, 10Mbps Half-Duplex.

Share address and credentials

FieldDescription
Address TypeIP Address or NetBIOS. For most setups use IP address — it connects directly without name resolution. NetBIOS lets you type a Windows machine name (e.g. MYPC) but requires the PS2 to resolve the name first; if the name lookup fails, OPL cannot connect at all.
AddressEither the server's IPv4 address (e.g. 192.168.0.5) or its NetBIOS name (up to 15 characters, e.g. MYPC), depending on Address Type.
PortRiptOPL defaults to 1111, but the client and server must match. PS2 Servers defaults to 1025 on its Desktop SMBv1 card and 1111 on its Core/standalone server (its SMB setup); enter the port the running card displays. Standard Samba/native SMB commonly uses port 445. The Network page opens with Advanced Options on, so the Port field is editable straight away.
ShareThe share name, e.g. PS2SMB. This is the name you gave the share on the server — not a path. A fresh RiptOPL install defaults to games.
UserThe username to log on with. A fresh install defaults to guest. For a guest/public share leave this as-is. For a password-protected share enter the correct account name.
PasswordLeave empty for no-password shares. For password-protected shares OPL first asks the loaded SMB driver to pre-hash the password. The SMBv1 driver does that and sends the hash; the SMB2 driver declines, because its NTLMv2 exchange needs the password as typed, so OPL hands it over and the driver still sends only an NTLMv2 response, never the password itself.
Subfolder prefix (ETH Prefix)
If your share contains more than one OPL layout — for example you have multiple consoles sharing one NAS share — you can point OPL at a subfolder inside the share. Set ETH Prefix Path on Settings → Game Sources (config key eth_prefix) to the subfolder name. OPL will prepend that path to every read/write inside the share. Leave it empty to use the share root directly.

Saving and connecting

After filling in the fields, press OK to save. The dialog also has a Reconnect button: it saves and immediately retries the SMB connection without a full restart. If anything changed on the server (new files, credentials updated), Reconnect refreshes the game list without rebooting.

3. Enable SMB in Game Sources

The Network page stores the how: protocol, address and credentials. Game Sources stores the whether. For SMB, set Network Connectivity on Game Sources to Manual or Auto and the Protocol under it to SMB, then on the Network page set SMB Version to the dialect your server speaks:

RowValuesWhat it does
Network Connectivity (Game Sources)Off / Manual / AutoThe network start mode, using the same three options as every other device. Off loads no network transport at all. Manual registers the ETH Games tab and connects when you navigate into it — boot stays fast and you only pay the connection cost on entry. Auto brings the stack up during startup instead.
Protocol (Game Sources, under Network Connectivity, and Network)SMB / UDPFS / UDPBD / HTTPWhich transport owns the single Ethernet adapter. One setting shown on both pages. SMB is the network-share client documented on this page; UDPFS and UDPBD select Network Boot instead — see Network Boot.
SMB Version (Network)SMBv1 / SMB2Which SMB dialect to speak. SMBv1 is the default. Live only while Protocol is SMB, and greyed out otherwise, but the value is kept. See SMB Version below.
Access (Network)Files / IMGOnly meaningful for UDPFS. Under SMB it is locked to Files and greyed out; under UDPBD it is locked to IMG. You never need to touch it for an SMB setup.
SMB is interlocked with Network Boot
Because Protocol is one exclusive picker, SMB and Network Boot (UDPBD/UDPFS) are mutually exclusive by construction: selecting SMB rules out UDPBD/UDPFS, and selecting either UDP transport rules out SMB. Both require the PS2's single Ethernet adapter; only one can be active at a time. The interlock is enforced both in the UI and at runtime in ethsupport.c, which refuses to bring up the SMB stack while UDPBD holds the adapter.

SMB Version

The SMB Version row picks the dialect for the whole SMB session on OPL's core. Selecting SMB2 swaps both halves of the SMB path:

HalfSMBv1 (default)SMB2
Browsing the share in the menu (the ETH Games tab)PS2SDK's smbman.irxRiptOPL's smb2man.irx, built on libsmb2 by Ronnie Sahlberg
Reading the disc image in gameThe SMB1 reader inside cdvdmanThe SMB2 reader inside cdvdman (SMB 2.0.2 and 2.1)

Both drivers register the same smb0: device, so the folder layout, the ETH prefix and the config keys are the same whichever one is loaded. Only one is resident at a time, and the game always uses the dialect the menu is browsing with. If the SMB2 driver cannot load, browsing falls back to SMBv1. SMB2 logs on with NTLMv2 (guest and anonymous logons work too) and signs its requests when the server requires signing, as Windows 11 24H2 does by default. Not tested on hardware.

Your server must speak the dialect you pick
The session does not negotiate between SMBv1 and SMB2. Under SMB2, an SMBv1-only server (such as the PS2 Servers SMBv1 card) lists no games; under SMBv1, a server with SMB1 turned off lists none. Put the row on the dialect your server answers.
SMB 3.x is not offered on OPL's core
SMB2 here means SMB 2.0.2 and 2.1. A server set to accept SMB 3 only is not reached: browsing fails to log on, and a game launched against it keeps retrying. Windows, Samba and the PS2 Servers SMBv2 card all still offer 2.x.
Changing the dialect needs a restart if an SMB driver is loaded
Each network transport loads its modules once per boot. If an SMB driver is already loaded this session, changing SMB Version offers a restart, as a protocol change does. From a cold boot the new dialect applies straight away.

SMB through Neutrino (experimental)

A game whose Loader Core is Neutrino, or Default while the global Loader Core is Neutrino, launches from the share through Neutrino's own SMB driver instead: the backend Ronnie Sahlberg added to Neutrino (ps2max32/neutrino PR #236, merged 2026-10-31), built on his usmb2 client. At launch RiptOPL writes the menu's network, server and share settings into config/bsd-smb.toml in the Neutrino folder, closes its own SMB session and starts Neutrino with -bsd=smb.

Full setup and limits: SMB through Neutrino. Not tested on hardware.

4. Game and folder layout

OPL uses the same folder structure on an SMB share as on USB or MMCE:

FolderContents
CD\PS2 CD-ROM games (ISOs under ~700 MB — blue-bottom discs)
DVD\PS2 DVD5 and DVD9 ISOs (up to ~8.5 GB — FAT32 4 GB limit does not apply over SMB)
POPS\PS1 *.VCD files + POPSTARTER.ELF (see PS1 over SMB below)
ART\Cover art images
CFG\Per-game configuration files
VMC\Virtual Memory Card images (.bin)
THM\Themes
CHT\PS2RD cheat files
APPS\Homebrew ELFs

Note that SMB paths use backslashes (\) internally — OPL handles this automatically; your folder names on the server should just be plain ASCII without special characters.

5. PS1 games over SMB

The L3 PS1 view works on SMB just like USB: press L3 on the ETH Games page to toggle between your PS2 disc list and your PS1 *.VCD list. Place your VCDs (and POPSTARTER.ELF) in the POPS\ subfolder of the share.

Launching a PS1 game over SMB has one extra requirement: POPSTARTER needs its own copy of the network configuration and its SMB modules on the memory card — it cannot read them from the share at launch time.

Copy the SMB modules to the memory card

The release package ships the four modules inside its canonical POPS/ folder containing the four network IRX modules POPSTARTER needs for SMB: smbman.irx, ps2ip.irx, ps2smap.irx, and ps2dev9.irx. They must end up in mc0:/POPSTARTER/ (or mc1:/POPSTARTER/). If the share's own POPS/ folder holds them, an SMB VCD launch copies any that are missing to the card for you; it never replaces a file already on the card, and it refuses a copy that does not fit on the card. Otherwise copy them yourself. OPL checks for all four on one card before an SMB VCD launch and warns you rather than hanging if any are missing.

Set up the POPSTARTER network config

Open POPSTARTER Network Settings, from Settings → Network or Settings → PS Emulation Settings. It edits POPSTARTER's own mc?:/POPSTARTER/IPCONFIG.DAT and SMBCONFIG.DAT in the format POPSTARTER expects, so you do not need to edit those files by hand.

The screen shows what those files already contain, or says none were found. Import from SMB POPS Directory copies both from the connected share's POPS folder. On OK, only the values you changed are written, to the card the existing files came from, and replacing an existing configuration asks first. On a first setup, with neither file on the card, saving the SMB values writes IPCONFIG.DAT too, as DHCP unless a complete static IP is entered. If writing fails, OPL shows an error message.

The PS1 leg is SMBv1 regardless of the SMB Version row
The SMB Version setting governs OPL's own browsing and its in-game reader. It does not reach POPSTARTER: the module set OPL checks for on the memory card is the SMBv1 one (smbman.irx), and POPSTARTER reads its own SMBCONFIG.DAT, not OPL's dialect choice. So a PS1 VCD launched over SMB needs a server that answers SMBv1, even with OPL set to SMB2 for PS2 games.

For deeper PS1 coverage — cover art by PS1 disc ID, the four PS2/PS1 Game Display modes, and BDMA module equipping for block devices — see PS1 Games (VCD).

Does the BDMA exFAT equip apply to SMB?

No. The BDMA equip copies block-device driver modules for POPSTARTER to use when reading an exFAT drive. SMB is a pure network path — there is no block device involved. The BDMA Mode and BDMA Source settings on PS Emulation Settings have no effect on an SMB VCD launch. The only prerequisite for PS1 over SMB is the four network IRX modules above plus the POPSTARTER network config files.

6. SMB vs. Network Boot — the NIC interlock

The PS2's DEV9 expansion bay contains the Ethernet adapter (SMAP). There is only one, and only one network driver stack can own it at a time.

To switch from SMB to Network Boot (or vice versa), go to Game Sources, change the Protocol row, save, and restart OPL. You do not need to change any hardware.

The two approaches serve different use cases: SMB lets any device on the LAN (NAS, always-on PC, server) host your library with no special server software beyond a standard file share; Network Boot via UDPBD/UDPFS requires a dedicated server process running on a PC during play but streams the disc image at block-device level (Neutrino handles the disc emulation, not OPL's loader core). See Network Boot (UDPBD/UDPFS) for details.

7. Common problems

SymptomLikely cause & fix
OPL shows "Network startup error: CONN" or similar The PS2 cannot reach the server. Check: server IP is correct, server is on and reachable, the server answers the dialect selected in SMB Version, no firewall is blocking the configured port, and the PS2 IP is valid. With PS2 Servers, copy the protocol-specific IP and port shown by its launcher rather than assuming RiptOPL's default 1111.
ETH Games tab lists nothing at all after switching to SMB2 Usually a dialect mismatch: the server speaks only SMBv1, or only SMB 3. The session does not negotiate between them. Set Network → SMB Version back to SMBv1 (needed for the PS2 Servers SMBv1 card), or use a server that offers SMB 2.0.2 or 2.1, such as the PS2 Servers SMBv2 card. If an SMB driver was already loaded when you changed the row, accept the restart.
OPL shows "LOGON" error Wrong username or password. Try GUEST / empty password for a guest share, or confirm the account credentials. Check that the Samba user (if Linux) has been added with smbpasswd.
OPL shows "SHARE" error (open share failed) The share name does not match. Verify the exact share name on the server (case-sensitive on Linux). RiptOPL's default share name is games (stock OPL uses PS2SMB).
Game list is empty even after connecting Check that ISOs are in the correct subfolder (DVD\ or CD\) and that the user has read access to those folders. On Windows, NTFS permissions and share permissions are separate — verify both.
Games load slowly or stutter Wired Ethernet is strongly recommended. If using a media bridge or powerline adapter, test with a direct cable run first. Neither dialect compresses or caches on OPL's side; all disc reads go across the wire in real time.
DHCP fails / no IP assigned OPL waits up to 30 seconds for a valid DHCP lease. If it times out, it logs "Unable to get valid IP address via DHCP." Switch to a static IP if your DHCP server is slow or if the PS2's MAC is not being offered a lease.
PS1 VCD launch fails or hangs Check that the four SMB IRX modules (smbman.irx, ps2ip.irx, ps2smap.irx, ps2dev9.irx) are present in mc?:/POPSTARTER/, and that the network config files (IPCONFIG.DAT, SMBCONFIG.DAT) have been written. Set them up from POPSTARTER Network Settings on Settings → Network. Note that this leg is SMBv1 whatever SMB Version is set to, so the server must still answer SMBv1 for PS1 VCDs.
A game freezes at its next disc read after the console sat idle (paused, or waiting on a menu) Samba sends a NetBIOS keepalive every few minutes. While the game reads nothing, each one waits in the in-game network stack's small buffer pool (8 buffers). After about eight of them the PS2 stops answering, and Samba closes the connection. Turn those keepalives off and let TCP keep the connection alive: in the [global] section of smb.conf set
keepalive = 0
socket options = SO_KEEPALIVE=1 TCP_NODELAY=1
and restart Samba. A reporter measured the eight keepalives with Wireshark and found these settings held for three hours; this is not yet verified on our side. A read cut off this way now fails instead of locking the game up for good, but the game still cannot continue, so the server settings are the real fix. Diagnosis and workaround documented by belomaxorka / YAOPL (36e07200).
Windows: share works from PC but PS2 cannot connect Use PS2 Servers instead of enabling Windows' built-in SMB1 feature, and match the IP, port, share and credentials shown by its launcher. Confirm its firewall rule allows the selected SMB port on your private LAN.

8. Config file keys

The PS2's network identity and the share address are stored in conf_network.cfg (saved alongside settings_riptopl.cfg). You can edit it directly for values the on-screen number-spinner makes tedious to enter:

KeyDescription
ps2_ip_use_dhcp0 = static, 1 = DHCP
ps2_ip_addrPS2 static IP address
ps2_netmaskSubnet mask
ps2_gatewayDefault gateway
ps2_dnsDNS server
eth_linkmode0 = Auto, 1–4 = 100M FDX / 100M HDX / 10M FDX / 10M HDX
smb_share_use_nbns0 = IP address mode, 1 = NetBIOS name mode
smb_share_nb_addrNetBIOS name of the server (used when smb_share_use_nbns=1)
smb_ipServer IP address (used when smb_share_use_nbns=0)
smb_portSMB TCP port (default 1111)
smb_shareShare name (default games)
smb_userLogin username (default guest)
smb_passPassword (empty for no-password shares)

Two more keys affect SMB but live in settings_riptopl.cfg rather than conf_network.cfg, because they belong to OPL's own settings rather than to the share address:

KeyDescription
smb_dialectThe SMB Version row. 0 = SMBv1 (default), 1 = SMB2. Any other value loads as SMBv1.
eth_prefixThe ETH Prefix Path subfolder inside the share — see below.
What about eth_prefix / ETH Prefix?

The eth_prefix key (set via Settings → Game Sources → ETH Prefix Path) is stored in settings_riptopl.cfg, not in conf_network.cfg. When non-empty, OPL appends it (plus a backslash) between the share root and every path it constructs — so smb0:PS2\DVD\game.iso instead of smb0:DVD\game.iso. Use this if the share hosts multiple setups and OPL's root is not the share root.

See also