How to Set Up ALttP Multiworld Randomizer

The Legend of Zelda: A Link to the Past (ALttP) is one of the best games released for the SNES, and I’d even argue of the franchise as a whole. Over the last few years, I’ve played through different randomized versions of this classic game, trying everything from basic randomized gameplay to randomized enemies and doors.

At its core, the ALttP randomizer (ALttPR), like the base game, is a single player game. Sure, you can give everyone the same randomized seed to race with, but if competition isn’t your thing or you’re looking for a different experience out of ALttPR, there’s simply a limit to what a game you play by yourself is capable of.

Thanks to a mode known as Multiworld, however, a true co-op randomizer experience is easier to realize than you might think.

What is ALttPR Multiworld?

ALttPR Multiworld is a game mode where each player configures the Link to the Past Randomizer settings they would like to play with, then combines them in a zip file to generate a server with seeds that can contain items for all players. Once all players connect to the server, items are delivered to their owners during gameplay as they are discovered.

A Link to the Past Multiworld Randomizer

This means that if you and a couple friends want to play an ALttPR co-op, but one of you wants to do a Triforce Hunt, another wants to play Keysanity, and the last wants to play a normal seed with randomized enemies and bosses, all of you can get what you want while helping each other find the items needed to complete your version of the game!

Pretty awesome, right?

Setting a Multiworld up can be a little tricky the first time, as it is much more involved than rolling a typical ALttPR seed. Once you get it running once though, it’s pretty easy to replicate in a much shorter amount of time.

It is also extremely important you look at my ALttPR setup guide before starting to set up your Multiworld if you aren’t familiar with using Lua Scripting or Lanabean’s guide to Usb2Snes if you’re new to playing randomizers on a flash cart – this guide assumes you’re familiar with the subject matter you need from these 2 articles to play a normal ALttPR seed.

ALttPR Multiworld Setup Guide

A huge thank you to Eriphram for organizing and writing up this information after we tested everything out, and another to the guide written by TalisMK4 and Nicholas Steel that did an excellent job laying out the order of operations for crucial setup steps, especially those involving emulator setup.

Our guide assumes you’re on Windows, but you can probably adapt it for Mac using this setup guide for Archipelago as reference material. It should be noted that the Berserker Multiworld we discuss and Archipelago are two distinctly different Multiworld websites and programs that look extremely similar to each other due to being developed by the same programmer.

More on that after we discuss how to set up Berserker Multiworld.

First, you’ll need to set up 3 programs if you don’t have them already:

Berserker Multiworld 4.1.3 Setup

Go to this GitHub and download the highlighted item in the picture below.

Berserker Multiworld

Run the .exe file and follow the instructions in the program for installation. It will set up all needed utilities to run Multiworld. Once it is completed, make sure you restart your computer as required.

QUsb2Snes Setup

Grab the latest version of QUsb2Snes from this GitHub, which will be in a “.7z” format, as pictured below. Make sure you can extract this type of file before going any further. If you cannot, download and install 7-Zip first.

QUsb2Snes download

Once QUsb2Snes is downloaded and extracted, run the QUsb2Snes.exe file and an icon should pop up in the taskbar. No windows will pop up, and if you don’t see it, it may be in your hidden icons near your clock, as underlined below.

QUsb2Snes icon

YAML Setup

Each player playing in a Multiworld must create a YAML file, which contains the settings for the type of ALttPR game you wish to play. While you can all choose the same settings if you wish, every person can also have separate settings while playing in the same Multiworld, including goals for finishing the game, difficulty, and any other setting you can normally customize.

Go here to configure your settings for the YAML file.

It is extremely important for each person to fill out their player name to clearly separate YAML files. When your settings are just the way you want them, click the Export Settings button at the bottom of the page to download them. If you want more in-depth tweaks, you can also go to weighted settings link provided.

Berserker Multiworld YAML setup

Once you have your YAML file, send it to the person hosting your Multiworld. The host will send you a patch or a link to download your patch in return.

Rolling Your Group’s Multiworld and Generating Player Patches

This step is only for the person hosting your Multiworld. If you aren’t the host, skip to the “Apply Your Patch” section below.

Once you have everyone’s YAML files, use 7-Zip or your compression program of choice to put them all into one zipped folder. Once that is done, click on “Upload Config” on the Berserker Multiworld website, and you’ll be taken to a page that looks like this.

Upload Config screen

Click the Upload button and upload the zip file you created with everyone’s YAML files. Your page will transition to a generation screen before bringing up a Seed Info screen.

Seed Info screen

Click on Create a New Room, then you can either download everyone’s patch files and distribute them or simply give them the URL of your current page and have them do that themselves.

ALttPR Multiworld Room

As the host, you will have the ability to enter commands on this screen, but nobody else will have this privilege. Other players can, however, input commands in their individual command windows later on, so if you are playing with a lot of tech savvy people, everyone needs to agree not to put in commands unless absolutely necessary (though watching the logs is totally fine).

Apply Your Patch

Go to your Start Menu and find the Berserker’s Multiworld file. In the dropdown, select the BerserkerMultiWorld Folder.

Berserker MultiWorld Folder

This will open it up. I created a patches folder to have a nearby place to patch files. Move your downloaded patch file to the Patches folder, then Launch BersekerLttpAdjuster.exe.

Berserker LttP Adjuster

This will launch the patcher program which will also allow you to make last second changes you may have missed to your game. The Base Rom is the unedited rom and the Rom to Adjust will be the patch file provided to you.

Rom Adjuster

When done, click Adjust Rom and that will provide you the needed SFC file.

Optional: If you’re feeling especially confident, you can instead open your patch file, follow the prompt in the command window that opens, and generate the SFC file here instead. This method does automatically open a browser tab and your ROM, both of which you’ll need to close for right now.

SFC Setup Prompt

Optional: If you want to use an MSU while playing your Multiworld, move your SFC file to your MSU folder and rename it accordingly at this time.

Emulator Setup

The final steps are dependent on the emulator you want to use. This guide covers RetroArch and a specific build of snes9x involved in other Multiworlds.

Snes9x-rr Setup

Note: Steps 1 and 3 may be skipped if you already have Snes9x-rr set up. A regular Snes9x emulator will not work, as it does not support Lua Scripting.

  1. Download and extract snes9x-rr-1.60-win32-multitroid2-r5.zip from Multitroid’s Google Drive.
  2. Run snes9x.exe
  3. Configure your gamepad

    Note: Steps 4-9 MUST be followed in the exact order given.
  4. Input > Enable Background Input
  5. Make sure to disable ALL hotkeys so you don’t accidentally change any settings (there are multiple “pages” of hotkeys)
  6. Right click QUsb2Snes’s icon in your system tray, then hover over the devices menu and enable Lua Bridge & SD2SNES.
  7. Load the SFC file you created in Snes9x.
  8. File > Lua Scripting > New Lua Script Window
  9. Browse… > Navigate to your QUsb2Snes folder, go to the LuaBridge folder, and select luabridge.lua

RetroArch Setup

We will use the snes9x core (the one with no year listed on it), but bsnes core should also work. This setup guide assumes you already have worked with RetroArch before.

  1. Edit your retroarch.cfg file (can be found in %appData%\RetroArch) to set network_cmd_enable = “true” to true
  2. Right click QUsb2Snes’s icon in your system tray, then hover over the devices menu and enable Retroarch virtual device. (may not be a needed step)
  3. Load either of the two cores mentioned above in Retroarch, then load your game.

Optional: If you use an auto-tracker like EmoTracker with either of these setups, you may configure that at this time.

Connect to Multiworld

Once your game is loaded and your Lua Script is running, you are ready to connect to your Multiworld. Go to your Start menu and launch the Berserker MultiWorld program.

Berserker MultiWorld program

This will launch a command window – DO NOT CLOSE THIS

Berserker MultiWorld command window

A webpage will also be launched.

Multiworld WebUI page

The host will give players a command that looks something like this:

/connect archipelago.gg:57669

Put that command in the bottom command box and you should be connected to the Multiworld and ready to play. If you need to double check the command, it is also available at the same URL where you downloaded your patch.

Berserker Multiworld patch download

SD2SNES/FXPAK users may need to use /SNES if there is trouble connecting.

Note: Your seed codes will look different from those of the others playing in your Multiworld – this is normal, as you are playing individual seeds connected through the archipelago server you just joined.

ALttPR Multiworld FAQs

What is the difference between Berserker Multiworld and Archipelago?

Berserker Multiworld is a standalone Multiworld solution designed exclusively for ALttPR. Archipelago is a Multiworld solution that works with many popular games new and old.

Berserker66 is involved in the development of both, and both websites look incredibly similar to one another and are both branded as Archipelago, making it incredibly difficult to discern which is which if you’re just learning about Multiworlds. Of these options, berserkermulti.world is the one we recommend for ALttPR Multiworld due to ease of setup.

Is Berserker Multiworld still supported?

Berserker Multiworld hasn’t received an update since 2021, so odds are it isn’t going to be receiving a lot more updates, particularly since archipelago.gg seems to be where current multiworld environments can be found.

Can I generate and play an ALttPR Multiworld on the archipelago.gg website?

Technically, yes. Unfortunately, if you like playing different game types beyond the standard randomizer like Triforce Hunt or Master Sword Pedestal, Archipelago’s YAML generator doesn’t inherently support these game types like the Berserker Multiworld generator does.

That doesn’t mean it can’t be done – there’s a specifically created YAML file that is available if you ask for it in the Archipelago Discord – but it does mean that you’ll have to tweak that YAML file by hand in a program like Notepad++.

Not a problem if you have a coding background, as the tweaks are simple, but very unfriendly to those who do not. Fortunately, most other setup steps are virtually identical in nature. That said, since Berserker Multiworld works well and has a much more intuitive user interface for ALttPR, it is what we recommend for the average randomizer enthusiast.

Can I use MSUs with a Multiworld?

Yes! The same setup process applies to multiworld seeds as single player seeds.

Can I use a second Lua Script for auto-trackers like EmoTracker?

Yes! Just open up a new Lua Script window and set it up as normal.

Other Video Game Articles You May Enjoy