Archipelago Multi-Game Randomizer and Server https://archipelago.gg
  • Python 95.9%
  • HTML 1.6%
  • Lua 0.8%
  • CSS 0.6%
  • Assembly 0.4%
  • Other 0.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2025-09-06 19:21:36 +02:00
.github CI: only trigger release action for bare semver (#5065) 2025-09-05 23:33:13 +02:00
.run PyCharm: ship a working unittest run config (#2694) 2024-01-12 00:49:14 +01:00
data Kivy: Fix MessageBox popups (#5193) 2025-09-06 19:21:36 +02:00
deploy Docker: Add initial configuration for project (#4419) 2025-07-17 10:00:57 +02:00
docs ArchipIDLE: Remove game #5422 2025-09-05 23:20:37 +02:00
test Test: Deprecate TestBase (#5339) 2025-09-05 16:24:20 +02:00
typings Core: hot reload components from installed apworld (#3480) 2024-06-06 20:36:14 +02:00
WebHostLib Core: Remove lttp module requirement from generation #5384 2025-09-05 16:42:12 +02:00
worlds DS3: use yaml.safe_load (#5360) 2025-09-06 19:09:41 +02:00
.coveragerc Tests: create sane cov defaults (#2728) 2024-01-16 17:10:19 +01:00
.dockerignore Docker: Add initial configuration for project (#4419) 2025-07-17 10:00:57 +02:00
.gitattributes Yacht Dice: Mark YachtWeights.py as "linguist-generated" (#3898) 2024-11-29 20:45:10 +01:00
.gitignore Remove Minecraft (#4672) 2025-06-16 12:31:16 +02:00
_speedups.pyx Core: fix exceptions coming from LocationStore (#4358) 2024-12-10 20:09:36 +01:00
_speedups.pyxbld Core: fix exceptions coming from LocationStore (#4358) 2024-12-10 20:09:36 +01:00
AdventureClient.py Various: Make clients wait a second between connects (#5061) 2025-08-01 14:01:18 -04:00
AHITClient.py AHiT: Fix Client Argument Handling (#4992) 2025-05-14 07:18:36 -04:00
BaseClasses.py Core: Sort Unreachable Locations Written to the Spoiler (#5269) 2025-08-10 11:03:12 -04:00
BizHawkClient.py BizHawkClient: Avoid error launching BizHawkClient via Launcher CLI (#3554) 2024-09-18 20:42:22 +02:00
ChecksFinderClient.py ChecksFinder: Linux support via wine (#795) 2022-07-19 07:44:04 +02:00
CommonClient.py CommonClient: fix /items, /locations and /missing not working if the datapackage is local (#5350) 2025-09-05 16:48:15 +02:00
Dockerfile Core: require setuptools>=75 (#5346) 2025-08-19 19:35:50 +02:00
entrance_rando.py Core: Improved GER's caching of visited nodes during initialization (#5366) 2025-08-27 02:36:47 +02:00
Fill.py Core: Fix Priority Fill *not* crashing when it should, in cases where there is no deprioritized progression #5363 2025-08-25 17:52:04 +02:00
Generate.py Core: Remove lttp module requirement from generation #5384 2025-09-05 16:42:12 +02:00
inno_setup.iss LttP: remove sprite download from setup flow & make sprite repo dynamic (#4830) 2025-08-02 01:26:50 +02:00
intset.h Speedups: remove dependency on c++ (#2796) 2024-06-12 18:54:59 +02:00
KH1Client.py Kingdom Hearts: Implement New Game (#3201) 2024-08-19 00:39:37 +02:00
KH2Client.py KH2: Version 2 (#2009) 2023-11-25 08:46:00 -06:00
kvui.py Kivy: Fix MessageBox popups (#5193) 2025-09-06 19:21:36 +02:00
Launcher.py Core: add python 3.13 support (#5357) 2025-08-25 17:36:39 +00:00
LICENSE Core: it's 2025 (#4417) 2025-01-01 02:02:18 +01:00
LinksAwakeningClient.py LADX: Improve Fake Tracker Items (#4897) 2025-05-07 14:53:58 -04:00
LttPAdjuster.py LttP: remove sprite download from setup flow & make sprite repo dynamic (#4830) 2025-08-02 01:26:50 +02:00
Main.py Core: Remove lttp module requirement from generation #5384 2025-09-05 16:42:12 +02:00
meta.yaml meta.yaml: update progression balancing (#1283) 2022-12-05 22:26:44 +01:00
MMBN3Client.py Various: Make clients wait a second between connects (#5061) 2025-08-01 14:01:18 -04:00
ModuleUpdate.py Core: require setuptools>=75 (#5346) 2025-08-19 19:35:50 +02:00
MultiServer.py MultiServer: Validate CreateHints status arg #5408 2025-09-03 21:01:56 +02:00
NetUtils.py Core: MultiData typing (#5071) 2025-07-27 01:27:29 +02:00
OoTAdjuster.py OoT Adjuster: Remove per_slot_randoms (#4264) 2025-01-19 18:17:31 -05:00
OoTClient.py Various: Make clients wait a second between connects (#5061) 2025-08-01 14:01:18 -04:00
Options.py Core: Remove Checks for Unsupported Versions (#5067) 2025-07-31 22:33:56 +02:00
Patch.py Core: add layer for patches that don't use Patch.py (#2889) 2024-03-14 22:29:29 +01:00
pytest.ini Tests: only get __init__.py tests from test directories (#5135) 2025-07-28 03:10:06 +02:00
README.md ArchipIDLE: Remove game #5422 2025-09-05 23:20:37 +02:00
requirements.txt Core: update certifi (#4954) 2025-05-04 15:59:41 +02:00
settings.py Settings: warn for broken worlds instead of crashing (#4438) 2025-08-10 17:23:39 +02:00
setup.py ArchipIDLE: Remove game #5422 2025-09-05 23:20:37 +02:00
SNIClient.py ALTTP/SNIC/BHC: Stop using Utils.get_settings() (#5239) 2025-07-31 21:09:00 +02:00
UndertaleClient.py Core/Various Worlds: Fix crash/freeze with unicode characters (#4671) 2025-03-14 08:24:37 +01:00
Utils.py Core: add python 3.13 support (#5357) 2025-08-25 17:36:39 +00:00
WebHost.py Core: Remove lttp module requirement from generation #5384 2025-09-05 16:42:12 +02:00
Zelda1Client.py [TLOZ] Remove deprecated Utils.get_options call, part 2 (#5371) 2025-08-27 19:28:42 +02:00
ZillionClient.py Zillion: move client to worlds/zillion (#2649) 2024-01-01 13:42:41 -06:00

Archipelago Discord Shield | Install

Archipelago provides a generic framework for developing multiworld capability for game randomizers. In all cases,
presently, Archipelago is also the randomizer itself.

Currently, the following games are supported:

  • The Legend of Zelda: A Link to the Past
  • Factorio
  • Subnautica
  • Risk of Rain 2
  • The Legend of Zelda: Ocarina of Time
  • Timespinner
  • Super Metroid
  • Secret of Evermore
  • Final Fantasy
  • VVVVVV
  • Raft
  • Super Mario 64
  • Meritous
  • Super Metroid/Link to the Past combo randomizer (SMZ3)
  • ChecksFinder
  • Hollow Knight
  • The Witness
  • Sonic Adventure 2: Battle
  • Starcraft 2
  • Donkey Kong Country 3
  • Dark Souls 3
  • Super Mario World
  • Pokémon Red and Blue
  • Hylics 2
  • Overcooked! 2
  • Zillion
  • Lufia II Ancient Cave
  • Blasphemous
  • Wargroove
  • Stardew Valley
  • The Legend of Zelda
  • The Messenger
  • Kingdom Hearts 2
  • The Legend of Zelda: Link's Awakening DX
  • Adventure
  • DLC Quest
  • Noita
  • Undertale
  • Bumper Stickers
  • Mega Man Battle Network 3: Blue Version
  • Muse Dash
  • DOOM 1993
  • Terraria
  • Lingo
  • Pokémon Emerald
  • DOOM II
  • Shivers
  • Heretic
  • Landstalker: The Treasures of King Nole
  • Final Fantasy Mystic Quest
  • TUNIC
  • Kirby's Dream Land 3
  • Celeste 64
  • Castlevania 64
  • A Short Hike
  • Yoshi's Island
  • Mario & Luigi: Superstar Saga
  • Bomb Rush Cyberfunk
  • Aquaria
  • Yu-Gi-Oh! Ultimate Masters: World Championship Tournament 2006
  • A Hat in Time
  • Old School Runescape
  • Kingdom Hearts 1
  • Mega Man 2
  • Yacht Dice
  • Faxanadu
  • Saving Princess
  • Castlevania: Circle of the Moon
  • Inscryption
  • Civilization VI
  • The Legend of Zelda: The Wind Waker
  • Jak and Daxter: The Precursor Legacy
  • Super Mario Land 2: 6 Golden Coins
  • shapez
  • Paint
  • Celeste (Open World)

For setup and instructions check out our tutorials page.
Downloads can be found at Releases, including compiled
windows binaries.

History

Archipelago is built upon a strong legacy of brilliant hobbyists. We want to honor that legacy by showing it here.
The repositories which Archipelago is built upon, inspired by, or otherwise owes its gratitude to are:

We recognize that there is a strong community of incredibly smart people that have come before us and helped pave the
path. Just because one person's name may be in a repository title does not mean that only one person made that project
happen. We can't hope to perfectly cover every single contribution that lead up to Archipelago, but we hope to honor
them fairly.

Path to the Archipelago

Archipelago was directly forked from bonta0's multiworld_31 branch of ALttPEntranceRandomizer (this project has a
long legacy of its own, please check it out linked above) on January 12, 2020. The repository was then named to
MultiWorld-Utilities to better encompass its intended function. As Archipelago matured, then known as
"Berserker's MultiWorld" by some, we found it necessary to transform our repository into a root level repository
(as opposed to a 'forked repo') and change the name (which came later) to better reflect our project.

Running Archipelago

For most people, all you need to do is head over to
the releases page, then download and run the appropriate
installer, or AppImage for Linux-based systems.

If you are a developer or are running on a platform with no compiled releases available, please see our doc on
running Archipelago from source.

This project makes use of multiple other projects. We wouldn't be here without these other repositories and the
contributions of their developers, past and present.

Contributing

To contribute to Archipelago, including the WebHost, core program, or by adding a new game, see our
Contributing guidelines.

FAQ

For Frequently asked questions, please see the website's FAQ Page.

Code of Conduct

Please refer to our code of conduct.