# Lufia II Ancient Cave Multiworld Setup Guide ## Required Software - [Archipelago](https://github.com/ArchipelagoMW/Archipelago/releases). Make sure to check the box for `SNI Client - Lufia II Ancient Cave Patch Setup` - Hardware or software capable of loading and playing SNES ROM files - An emulator capable of connecting to SNI ([snes9x rr](https://github.com/gocha/snes9x-rr/releases), [BizHawk](http://tasvideos.org/BizHawk.html), or [RetroArch](https://retroarch.com?page=platforms) 1.10.3 or newer). Or, - An SD2SNES, [FXPak Pro](https://krikzz.com/store/home/54-fxpak-pro.html), or other compatible hardware. **note: modded SNES minis are currently not supported by SNI** - Your American ROM file, probably named `Lufia II - Rise of the Sinistrals (USA).sfc` ## Installation Procedures 1. Download and install SNIClient from the link above, making sure to install the most recent version. **The installer file is located in the assets section at the bottom of the version information**. - During setup, you will be asked to locate your base ROM file. This is your American Lufia II - Rise of the Sinistrals ROM file. 2. If you are using an emulator, you should assign your Lua capable emulator as your default program for launching ROM files. 1. Extract your emulator's folder to your Desktop, or somewhere you will remember. 2. Right-click on a ROM file and select **Open with...** 3. Check the box next to **Always use this app to open .sfc files** 4. Scroll to the bottom of the list and click the grey text **Look for another App on this PC** 5. Browse for your emulator's `.exe` file and click **Open**. This file should be located inside the folder you extracted in step one. ## Create a Config (.yaml) File ### What is a config file and why do I need one? Your config file contains a set of configuration options which provide the generator with information about how it should generate your game. Each player of a multiworld will provide their own config file. This setup allows each player to enjoy an experience customized for their taste, and different players in the same multiworld can all have different options. ### Where do I get a config file? The [Player Settings](/games/Lufia%20II%20Ancient%20Cave/player-settings) page on the website allows you to configure your personal settings and export a config file from them. ### Verifying your config file If you would like to validate your config file to make sure it works, you may do so on the [YAML Validator](/mysterycheck) page. ## Generating a Single-Player Game 1. Navigate to the [Player Settings](/games/Lufia%20II%20Ancient%20Cave/player-settings) page, configure your options, and click the "Generate Game" button. 2. You will be presented with a "Seed Info" page. 3. Click the "Create New Room" link. 4. You will be presented with a server page, from which you can download your patch file. 5. Double-click on your patch file, and SNIClient will launch automatically, create your ROM from the patch file, and open your emulator for you. 6. Since this is a single-player game, you will no longer need the client, so feel free to close it. ## Joining a MultiWorld Game ### Obtain your patch file and create your ROM When you join a multiworld game, you will be asked to provide your config file to whoever is hosting. Once that is done, the host will provide you with either a link to download your patch file, or with a zip file containing everyone's patch files. Your patch file should have a `.apl2ac` extension. Put your patch file on your desktop or somewhere convenient, and double click it. This should automatically launch the client, and will also create your ROM in the same place as your patch file. ### Connect to the client #### With an emulator When the client launched automatically, SNI should have also automatically launched in the background. If this is its first time launching, you may be prompted to allow it to communicate through the Windows Firewall. ##### snes9x Multitroid 1. Load your ROM file if it hasn't already been loaded. 2. Click on the File menu and hover on **Lua Scripting** 3. Click on **New Lua Script Window...** 4. In the new window, click **Browse...** 5. Select the connector lua file included with your client - Look in the Archipelago folder for `/SNI/lua/x64` or `/SNI/lua/x86` depending on if the emulator is 64-bit or 32-bit. 6. If you see an error while loading the script that states `socket.dll missing` or similar, navigate to the folder of the lua you are using in your file explorer and copy the `socket.dll` to the base folder of your snes9x install. ##### BizHawk 1. Ensure you have the BSNES core loaded. You may do this by clicking on the Tools menu in BizHawk and following these menu options: `Config --> Cores --> SNES --> BSNES` Once you have changed the loaded core, you must restart BizHawk. 2. Load your ROM file if it hasn't already been loaded. 3. Click on the Tools menu and click on **Lua Console** 4. Click Script -> Open Script... 5. Select the `Connector.lua` file you downloaded above - Look in the Archipelago folder for `/SNI/lua/x64` or `/SNI/lua/x86` depending on if the emulator is 64-bit or 32-bit. Please note the most recent versions of BizHawk are 64-bit only. ##### RetroArch 1.10.3 or newer You only have to do these steps once. Note, RetroArch 1.9.x will not work as it is older than 1.10.3. 1. Enter the RetroArch main menu screen. 2. Go to Settings --> User Interface. Set "Show Advanced Settings" to ON. 3. Go to Settings --> Network. Set "Network Commands" to ON. (It is found below Request Device 16.) Leave the default Network Command Port at 55355. ![Screenshot of Network Commands setting](/static/generated/docs/A%20Link%20to%20the%20Past/retroarch-network-commands-en.png) 4. Go to Main Menu --> Online Updater --> Core Downloader. Scroll down and select "Nintendo - SNES / SFC (bsnes-mercury Performance)". When loading a ROM, be sure to select a **bsnes-mercury** core. These are the only cores that allow external tools to read ROM data. #### With hardware This guide assumes you have downloaded the correct firmware for your device. If you have not done so already, please do this now. SD2SNES and FXPak Pro users may download the appropriate firmware on the SD2SNES releases page. SD2SNES releases page: [SD2SNES Releases Page](https://github.com/RedGuyyyy/sd2snes/releases) Other hardware may find helpful information on the usb2snes platforms page: [usb2snes Supported Platforms Page](http://usb2snes.com/#supported-platforms) 1. Close your emulator, which may have auto-launched. 2. Power on your device and load the ROM. ### Connect to the Archipelago Server The patch file which launched your client should have automatically connected you to the AP Server. There are a few reasons this may not happen however, including if the game is hosted on the website but was generated elsewhere. If the client window shows "Server Status: Not Connected", simply ask the host for the address of the server, and copy/paste it into the "Server" input field then press enter. The client will attempt to reconnect to the new server address, and should momentarily show "Server Status: Connected". ### Play the game When the client shows both SNES Device and Server as connected, you're ready to begin playing. Congratulations on successfully joining a multiworld game! You can execute various commands in your client. For more information regarding these commands you can use `/help` for local client commands and `!help` for server commands.