Archipelago does not have a compiled release on macOS. However, it is possible to run from source code on macOS. This guide expects you to have some experience with running software from the terminal.
Here is a list of software to install and source code to download.
- Python 3.10 "universal2" or newer from the macOS Python downloads page. Python 3.13 is not supported yet.
- Xcode from the macOS App Store.
- The source code from the Archipelago releases page.
- The asset with darwin in the name from the SNI Github releases page.
- If you would like to generate Enemized seeds for ALTTP locally (not on the website), you may need the EnemizerCLI from its Github releases page.
- An Emulator of your choosing for games that need an emulator. For SNES games, I recommend RetroArch, entirely because it was the easiest for me to setup on macOS. It can be downloaded at the RetroArch downloads page
- Double click on the Archipelago source code zip file to extract the files to an Archipelago directory.
- Move this Archipelago directory out of your downloads directory.
- Open terminal and navigate to your Archipelago directory.
It is generally recommended that you use a virtual environment to run python based software to avoid contamination that can break some software. If Archipelago is the only piece of software you use that runs from python source code however, it is not necessary to use a virtual environment.
- Open terminal and navigate to the Archipelago directory. Alternatively, right click on the Archipelago folder in Finder and select 'New Terminal at Folder'.
- Run the command
python3 -m venv venv
to create a virtual environment. Running this command will create a new directory at the specified path, so make sure that path is clear for a new directory to be created. - Run the command
source venv/bin/activate
to activate the virtual environment. - If you want to exit the virtual environment, run the command
deactivate
.
- If your game doesn't have a patch file, run the command
python3 SNIClient.py
, changing the filename with the file of the client you want to run. - If your game does have a patch file, move the base rom to the Archipelago directory and run the command
python3 SNIClient.py 'patchfile'
with the filename extension for the patch file (apsm, aplttp, apsmz3, etc.) included and changing the filename with the file of the client you want to run. - Your client should now be running and rom created (where applicable).
- If using RetroArch, the instructions to set up your emulator here in the Link to the Past setup guide also work on the macOS version of RetroArch.
- Double click on the SNI tar.gz download to extract the files to an SNI directory. If it isn't already, rename this directory to SNI to make some steps easier.
- Move the SNI directory out of the downloads directory, preferably into the Archipelago directory created earlier.
- If the SNI directory is correctly named and moved into the Archipelago directory, it should auto run with the SNI client. If it doesn't automatically run, open up the SNI directory and run the SNI executable file manually.
- If using EnemizerCLI, extract that downloaded directory and rename it to EnemizerCLI.
- Move the EnemizerCLI directory into the Archipelago directory so that Generate.py can take advantage of it.
- Now that SNI, the client, and the emulator are all running, you should be good to go.