△◯✕□ PS2 Servers DOCS
Downloads GitHub

NFS Server

The NFS card shares a games folder over NFS version 4.0 for the PS2 clients built on unfs4 by Ronnie Sahlberg — @sahlberg. It is in Desktop and Core from v0.9.3. Edge has no NFS server.

New and Not Tested on a Console
This server has been checked only on a PC, with the real PS2 client code built for the PC (see Testing). It has not been tested with a real PS2. NFS adds nothing over SMB or UDPFS for a loader that already speaks those; it is here for clients that speak NFS.

1. PS2 Clients

ClientStatusWhat to enter on the PS2
RiptOPL NFS protocol: game list, OPL core and Ember PS1 gamesMerged 2026-11-12 (RiptOPL PRs #392 and #400), in RiptOPL's rolling builds (not in RiptOPLite). POPSTARTER (.VCD) games cannot launch over NFS; use SMB for them.Settings → Game Sources: Network Connectivity Manual or Auto, Protocol NFS. Network page: the PC's IP and NFS Export /.
Neutrino NFS mode (-bsd=nfs), read-onlyMerged 2026-11-12 (ps2max32/neutrino PR #240). No Neutrino release or development build has it yet: upstream's latest development build is still v1.8.0-61-g7be8de2 of 2026-08-31 (checked 2026-11-13). Until one does, RiptOPL runs an NFS game set to Neutrino on its OPL core.srv=<PC IP> and export=/ in the module arguments of config/bsd-nfs.toml; RiptOPL writes these itself. Neutrino's default export, /srv/ps2, does not exist on this server.
Launchstation nfs: file-manager driverMerged 2026-11-12 (Launchstation PR #366), in Launchstation's Rolling build. It does not hand nfs: ISOs to Neutrino yet.Settings > Network > SMB shares, Server type NFS, URL nfs://<PC IP>:2049/.

2. Setting It Up

  1. Pick the Games folder. It is shared as export /, so DVD/ and CD/ inside it are /DVD and /CD to the console.
  2. Leave Allow writes off unless you need it (see below).
  3. Click Start. The card shows the PC's IP.

On the PS2 side there are only two things to enter: the server IP and the export, /. The port is always TCP 2049; the PS2 clients cannot use another, so the card has no port field. There is no user name or password.

Core, from a terminal:

ps2servers serve nfs --root-dir /games
ps2servers serve nfs --root-dir /games --allow-writes

Port 2049 is taken: on Linux the kernel's own NFS server (nfsd) normally holds TCP 2049. The card says so when it cannot bind; stop that service (sudo systemctl stop nfs-server) or serve from another PC. Windows desktop editions have no NFS server of their own, so 2049 is normally free there. Windows Firewall setup adds a rule for TCP 2049.

3. Allow Writes

Off by default. With it off, consoles can list folders and read files, and everything else is refused: nothing in the folder can be created, changed, renamed or deleted, whatever a client sends.

With it on, a client can also create files and folders, write, change a file's size, rename and delete. Each write is on the PC's disk before the console is told it is done, so a PC crash cannot lose a write the console thinks finished; that makes large copies to the PC slower than a copy that is only cached.

NFS Has No Password
With writes on, any device that can reach this PC on TCP 2049 has the same rights as the PS2. Turn it on only on a network you trust, and set Bind address (Advanced) to the PC's address on the PS2's network.

4. What Is Shared

The same rules as the SMB2/SMB3 server, from one shared implementation:

A filehandle from an earlier run of the server is refused as stale rather than pointing at another file, so a console needs a fresh mount after the server restarts. A connection is never closed for being quiet, because Neutrino connects once each time it loads its NFS modules and cannot reconnect.

5. Limits

6. Testing

A CI check downloads unfs4 at a pinned commit, checks it by SHA256, and builds it with the host C compiler and AddressSanitizer: once as Neutrino builds it, reading a game byte-exact, the tail of a 5 GiB file and a missing file; and once with every feature, running unfs4's own test program with writes on and with writes off. RiptOPL's own tests/nfs-live runs its in-game NFS reader against this server (v0.9.3) in RiptOPL's CI, with writes allowed and refused. These prove the client code works against this server on a PC, inside the PS2 builds' buffer limits. They prove nothing about the PS2's own network stack, its timing, or a real console.

Full detail, including what unfs4 needs from a server: docs/NFS.md.