SMB Server (v1 / v2 / v3)
Server Message Block (SMB) remains the standard network sharing protocol for Open PS2 Loader (OPL) and RiptOPL. PS2 Servers provides user-space SMBv1, SMB2, and SMB3 server engines that eliminate the need to enable obsolete or insecure Windows OS features.
Dialect Rule: Choose What Your Loader Supports
An SMBv1-only loader cannot connect to an SMB2/3 server simply because both cards point to the same games folder. You must run the server dialect matching your loader's network driver.
1. SMBv1 for Traditional OPL Clients
Standard OPL releases use SMBv1 (dialect NT LM 0.12). Modern operating systems (Windows 10/11, macOS, and current Linux distributions) have disabled SMBv1 by default due to security vulnerabilities in Microsoft's kernel SMB1 driver (such as EternalBlue).
PS2 Servers solves this safely: our SMBv1 engine runs entirely in unprivileged user-space on a non-standard port. It does not enable Windows' SMB 1.0 optional feature, does not touch kernel drivers, and leaves your standard Windows File Sharing untouched.
| Entry Point |
Default TCP Port |
Default Share Name |
Default Credentials |
| Desktop SMBv1 Card |
1025 |
games |
User: guest · Pass: (blank) |
Core CLI (serve smbv1) |
1111 |
games |
User: guest · Pass: (blank) |
Edge Go Server (smb) |
1111 |
games |
User: guest · Pass: (blank) |
OPL Console Configuration for SMBv1
In your loader's
Network Settings:
- Address type: Set to
IP (do not use NetBIOS name).
- IP address: Enter the PC LAN IP shown by the server (e.g.
192.168.1.100).
- Port: Set to 1025 (Desktop) or 1111 (Core/Edge).
- Share name: Enter
games.
- User:
guest · Password: (leave empty).
CHD and CSO over SMBv1 (opt-in)
Tick
Decompress CHD/CSO on the Desktop SMBv1 card, or pass
--enable-compression to the Core script, and
Game.chd /
Game.cso are listed as
Game.iso and decompressed as the console reads them. They are always read-only, and a real
Game.iso beside them wins. ZSO is sent unchanged because OPL decodes it itself. The decoders are the same ones UDPFS and HTTP use. Off by default and not yet tested on a console. The SMBv2/SMBv3 server and Edge do not decompress over SMB.
2. SMB2 and SMB3 Authenticated Sharing
For modern OPL forks (such as RiptOPL with SMB Version set to SMB2/3 in its Network settings), PS2 Servers includes authenticated SMB2 (up to dialect 2.1) and SMB3 (up to dialect 3.0.2) server cards.
SMB2/3 Parameters
- Default Port: TCP 1445 (distinct from standard 445).
- Username: Default
ps2 (configurable).
- Password: Configurable private password.
- Open Share Mode: Checking No password (anyone on the network can read it) removes password authentication while retaining SMB2/3 packet framing.
- Missing login: without both a username and a password, and with No password unticked, Start refuses and says why, instead of starting a server that exits at once.
Take Port 445 (Admin Option)
Windows File Explorer connects only to TCP 445. The optional
Take port 445 (admin) toggle in Desktop temporarily stops the Windows Server service to free TCP 445; on Windows 10 and 11 the SMB kernel drivers (
srv,
srv2,
srvnet) keep the port bound after that, so they are paused too, in dependency order.
Stop starts the drivers and the service again before the server exits (the launcher waits up to 20 seconds for it); if the server is ended some other way, a reboot brings them back. Use a card
with a password from Windows: Windows 11 requires SMB signing, which a password session provides, while a No-password card logs Windows on as a guest, which it refuses to mount unless the
AllowInsecureGuestAuth policy is set. For ordinary PS2 gaming, this is unnecessary: configure your loader with port
1445 instead.
Neutrino SMB
Neutrino's SMB driver (ps2max32/neutrino PR #236, by Ronnie Sahlberg — @sahlberg; merged 2026-10-31) reads games with usmb2. It needs a complete Neutrino folder built after that merge: upstream's latest development build is still v1.8.0-61-g7be8de2 of 2026-08-31 (checked 2026-11-13) and has no SMB driver, so the Neutrino in the RiptOPL and Launchstation kits cannot use it yet. With such a Neutrino, it needs:
- The SMBv3 card. usmb2 offers only SMB 3.0, so the SMBv2 card refuses it and says so in the log.
- Port 445. The driver has no port setting. On Windows, tick Take port 445 (admin) and run as Administrator. On Linux or macOS, set the port to 445 and run with
sudo (stop Samba first if it is installed), or on Linux keep 1445 and forward 445 to it: sudo iptables -t nat -A PREROUTING -p tcp --dport 445 -j REDIRECT --to-ports 1445. Stopping the card does not remove that rule; remove it yourself, for example before starting Samba again: sudo iptables -t nat -D PREROUTING -p tcp --dport 445 -j REDIRECT --to-ports 1445.
- The share name the loader passes (
share= in bsd-smb.toml). The cards serve games; case does not matter.
- A login the card accepts: its username and password, or a No password card with any user, such as Neutrino's default
guest with a blank password. Neutrino keeps at most 31 bytes of the user name and of the password, and hashes the password byte by byte rather than as UTF-8, so use plain ASCII for both, 31 characters or fewer.
A CI check builds the pinned usmb2 and merged Neutrino SMB sources on the host and reads a game through them. That is a host check of the protocol, not a test on a PS2.
RiptOPL and Launchstation (SMB2)
RiptOPL's SMB2/3 mode and Launchstation's smb: device browse with the same smb2man.irx, built on usmb2 by Ronnie Sahlberg — @sahlberg (commit 7171d08, with RiptOPL's patch). It replaced a driver built on his libsmb2. It offers SMB 2.0.2 and 2.1 first, and 3.0 and 3.0.2 only when a server refuses those, and it has no share list. RiptOPL loads games with its own in-game SMB2 reader, which offers the dialects in the same order.
- Card: SMBv2 or SMBv3. Both clients negotiate 2.1 with either card.
- Port: RiptOPL: Network settings, SMB Server section, SMB Version SMB2/3, Port = the card's port (1445 by default; RiptOPL's own default is 445). Launchstation: put the port in the share's
URL, for example smb://192.168.0.10:1445/games or Windows-style \\192.168.0.10:1445\games; without one it uses 445. Use the PC's IPv4 address, not a name.
- Share: the card's share (
games), typed in: SMB2/3 has no share list.
- Login: the card's username and password. With a No password card any user works (a blank one logs on as
Guest). In Launchstation, enter them in Settings > Network > SMB shares (saved in LAUNCHSTATION.CNF); it keeps each to 31 characters.
A CI check builds the two libsmb2 versions those drivers used before and lists, stats, reads, writes, truncates and enumerates shares through both cards. Today's usmb2-based driver is checked by RiptOPL's and Launchstation's own host tests against Samba, and RiptOPL's in-game reader was checked by its host harness against both cards. All are host checks of the protocol, not tests on a PS2. The server signs: signing is advertised as enabled but not required, so the PS2 clients, which do not sign, are served unsigned as before, while a desktop client that requires signing (Samba's smbclient, Windows 11 24H2 by default) gets signed replies and has its requests verified. SMB 3 signing (AES-CMAC) uses the operating system's crypto library where there is one. Encryption and dialect 3.1.1 are not offered.
3. Writes & Virtual Memory Cards (VMC)
Both SMBv1 and SMB2/3 in PS2 Servers allow write access by default:
- Virtual Memory Cards: Loaders can create and update 8MB
.bin files in the VMC/ folder directly over the share.
- Per-Game Configuration: Settings saved in OPL are written back to
CFG/ automatically.
- Read-Only Mode: Ticking Read-only prevents any modifications to the games directory, safeguarding against accidental file tampering.
LAN Security Reminder
Never forward SMB ports (1025, 1111, 1445, or 445) across your internet router. These servers are designed strictly for private Local Area Networks.