2. Install NetDisc360
NetDisc360 has two sides: plugins on the console, and a server on your PC or NAS. Set up the console first, then start the server.
You need DashLaunch and Aurora on the console, and a Windows 10 or 11 PC, or Linux or a NAS with Docker. See Before you start.
On the console
Section titled “On the console”-
Get the two plugins.
NetIsoTiles.xex: from the latest NetDisc360 release.NetISO.xex1.0: downloadNova+NetISO-Aurora0.7b.zipfrom ConsoleMods’ NetISO page and take onlyNetISO.xexfrom it. The modifiedNova.xexin that kit is not needed.
-
Copy the plugins to the root of your USB drive (the one DashLaunch reads
launch.inifrom):DirectoryUsb:\
- launch.ini
- NetISO.xex from ConsoleMods’ NetISO kit
- NetISO.xex.txt you make this one in the next step
- NetIsoTiles.xex
- NetIsoTiles.ini optional, see Load games faster
- NetUsb360.xex optional, from part 1
-
Tell NetISO where the server is. Make a text file
NetISO.xex.txtnext toNetISO.xexwith one line: the IP address of the PC or NAS that runs NetDisc360, for example192.168.1.20. The server’s dashboard shows this address. Give that machine a fixed address in your router, so it doesn’t change.Download NetISO.xex.txtNetISO.xex.txt 192.168.1.20Put your server’s address in place of
192.168.1.20. -
Load the plugins in DashLaunch. In
launch.ini, set the[Plugins]section like this, and leave the rest of the file as it is:launch.ini [Paths]Default = Hdd:\Apps\Aurora\Aurora.xex[Plugins]plugin1 = Usb:\NetUsb360.xexplugin2 = Usb:\NetISO.xexplugin3 = Usb:\NetIsoTiles.xexDefaultis where your Aurora is; it makes the console boot straight into it. Without NetUsb360, leave its line out and number the others fromplugin1. Other plugins you load, such asxbdm.xex, go after these. Example files shows each case. -
Turn on Aurora’s FTP server and add the game folder. Reboot the console into Aurora. In Aurora’s settings, make sure the FTP server is on. Under Content, Scan paths, add
Hdd1:\NetISOwith depth 1. The folder can be empty: the server fills it.Aurora’s FTP login is
xboxftp/xboxftpunless you changed it. Changing it is a good idea (see Security). Then enter the same login on the server, below.
On your PC or NAS
Section titled “On your PC or NAS”-
Download
NetDisc360.exefrom the latest NetDisc360 release. It runs on Windows 10 or 11. -
Put it anywhere, for example in the folder with your games, and double-click it. It opens its dashboard in your web browser (
http://127.0.0.1:8360) and keeps running behind its icon in the notification area, by the clock. -
When Windows Firewall asks, allow it on private networks.
-
Add your game folders with Add a folder. Subfolders count too. The first time, it already serves the folder it is in, if that folder has games.
-
If you changed Aurora’s FTP login, enter it under Settings > Xbox & Aurora.
You can close the browser tab: the server keeps running. Click its icon to open the dashboard again. To have the server start, hidden, every time you sign in, turn on Start with Windows under Settings > Windows.
The same server runs in Docker on Linux, a NAS or anything else with Docker, with the same dashboard. Its image, ghcr.io/marcusisdahl/netdisc360, is published with each release for x86-64 and ARM64.
-
Put
docker-compose.ymlin a folder of its own:Download docker-compose.ymldocker-compose.yml # NetDisc360 (a NetISO server for Aurora) in Docker. Put your games in a# folder, set the path below, then: docker compose up -d# and open the dashboard at http://<this machine>:8360.# See "Docker" in README.md for every setting.services:netdisc:image: ghcr.io/marcusisdahl/netdisc360:latestbuild: .container_name: netdiscrestart: unless-stopped# Host networking: the Xbox connects straight to this machine on port 4323,# and the server sees the Xbox's real address. (Docker Desktop on Windows# or macOS: use the ports below instead and set NETDISC_XBOX.)network_mode: host# ports:# - "4323:4323" # NetISO# - "8360:8360" # the dashboardvolumes:# Your games: ISOs, extracted games and GOD packages, subfolders too.# Read-only: the server never writes to them.- ./games:/games:ro# The dashboard's settings. Must be writable by user 1000:1000# (sudo chown 1000:1000 ./config).- ./config:/configenvironment:TZ: Etc/UTC # your time zone, for the log's times# A password for the dashboard. Without one, anyone on your network can# open it and change the settings. (Or set one on the dashboard.)NETDISC_WEB_PASSWORD: ""# The rest can be set on the dashboard instead. These are only the first# start's settings: once saved in ./config, the dashboard's win.# Only these consoles' game folders are kept up to date (IP addresses,# separated by commas). Empty: every console that connects.NETDISC_XBOX: ""# Aurora's FTP login (Aurora: Settings > FTP).NETDISC_FTP_USER: xboxftpNETDISC_FTP_PASSWORD: xboxftp# NETDISC_NO_CATEGORY: "true" # leave Aurora's Xbox 360 category alone# NETDISC_NO_PUSH: "true" # only serve games, don't touch the Xbox# Files must be readable by this user (default 1000:1000).# user: "1000:1000" -
In it, put the folder with your games in place of
./games, and a password for the dashboard inNETDISC_WEB_PASSWORD. Without a password, anyone on your network can open the dashboard and change its settings. -
In the same folder, make the
configfolder writable for the server, which runs as user 1000:1000, and start it:Terminal window mkdir -p config && sudo chown 1000:1000 configdocker compose up -d -
Open the dashboard at
http://<the machine's address>:8360.docker compose logs -fshows the server’s log too.
- If you changed Aurora’s FTP login, enter it on the dashboard’s Settings page, or set
NETDISC_FTP_USERandNETDISC_FTP_PASSWORD. - If the server can’t read your games, set
user:in the compose file to an ID that can (and giveconfigto that ID). - On Docker Desktop (Windows, macOS), the server doesn’t see the consoles’ own addresses. Use the
ports:lines instead of host networking, and setNETDISC_XBOXto your consoles’ IP addresses, separated by commas.
Without a compose file, one command does the same:
mkdir -p ~/netdisc && sudo chown 1000:1000 ~/netdiscdocker run -d --name netdisc --network host --restart unless-stopped \ -v /path/to/games:/games:ro -v ~/netdisc:/config \ -e NETDISC_WEB_PASSWORD=<a password> ghcr.io/marcusisdahl/netdisc360Docker has every setting.
Turn on the console
Section titled “Turn on the console”Turn the console on. Within a minute or two of Aurora starting, the server adds a folder for each game to Hdd1:\NetISO, asks Aurora to scan it, and Aurora fetches the names and cover art. Your games are then in Aurora’s game list next to your installed games, in the Xbox 360 category too. Pick one and play.
It doesn’t matter whether the PC or the console starts first. For more consoles, repeat the console steps on each one. Their NetISO.xex.txt holds the same address.
Load games faster
Section titled “Load games faster”This step is optional. NetIsoTiles.xex already has NetISO ask for 64 KB at a time instead of 4 KB, with nothing to set up. To go faster still, put this NetIsoTiles.ini on the root of your USB drive (next to the plugins), and reboot the console:
read_kb=256rcv_kb=64Installing GTA V from its install disc over NetISO, on a console with a TP-Link UE306 USB adapter and NetUsb360:
| Speed | |
|---|---|
| NetISO on its own (4 KB per request) | about 7 MB/s |
read_kb=64, no bigger receive buffer (rcv_kb=0) |
about 17 MB/s |
read_kb=256, no bigger receive buffer |
about 19 MB/s |
read_kb=256, rcv_kb=64 |
about 26 MB/s |
read_kbis how much NetISO asks for in one request:4(NetISO’s own),16,64(the default),256or1024.rcv_kbis the receive buffer for NetISO’s connection:16,32,64(the default),128or256;0leaves NetISO’s own.- The file can also go on the root of
Hdd1:; the USB drive’s is used if both are there. Any other value is ignored, and NetISO then works as it does on its own. - Each game’s
netiso.logsays what the plugin set, in two lines startingNetISO reads:andNetISO's receive buffer:.