Fork of Archipelago Multi-Game Randomizer and Server that runs on https://ap.hollymcfarland.com
Go to file
black-sliver 5f5c48e17b
Core: fix some memory leak sources without removing caching (#2400)
* Core: fix some memory leak sources

* Core: run gc before detecting memory leaks

* Core: restore caching in BaseClasses.MultiWorld

* SM: move spheres cache to MultiWorld._sm_spheres to avoid memory leak

* Test: add tests for world memory leaks

* Test: limit WorldTestBase leak-check to py>=3.11

---------

Co-authored-by: Fabian Dill <fabian.dill@web.de>
2023-10-31 02:08:56 +01:00
.github CI: run tests multi-threaded (#2251) 2023-10-02 08:47:28 +02:00
WebHostLib Docs, WebHost: Update faq_en.md (#2313) 2023-10-28 14:18:11 -04:00
data BizHawkClient: Add BizHawkClient (#1978) 2023-10-03 02:44:19 +02:00
docs Docs: slight adding games.md rework (#1192) 2023-10-27 12:30:32 +02:00
test Core: fix some memory leak sources without removing caching (#2400) 2023-10-31 02:08:56 +01:00
typings/kivy
worlds Core: fix some memory leak sources without removing caching (#2400) 2023-10-31 02:08:56 +01:00
worlds_disabled
.gitignore Core: more gitignore (#2249) 2023-10-02 20:17:34 +02:00
AdventureClient.py
BaseClasses.py Core: fix some memory leak sources without removing caching (#2400) 2023-10-31 02:08:56 +01:00
BizHawkClient.py BizHawkClient: Add BizHawkClient (#1978) 2023-10-03 02:44:19 +02:00
ChecksFinderClient.py
CommonClient.py CommonClient: inherit Context tags (#2283) 2023-10-11 19:21:02 +02:00
FF1Client.py Docs: Revise all docs mentioning Lua in EmuHawk (which are in English), and other misc. corrections (#1782) 2023-06-26 08:53:44 +02:00
FactorioClient.py
Fill.py Core: log fill progress (#2382) 2023-10-30 01:22:00 +01:00
Generate.py Core: fix some memory leak sources without removing caching (#2400) 2023-10-31 02:08:56 +01:00
KH2Client.py KH2: AntipointReset (#1815) 2023-05-18 15:28:35 +02:00
LICENSE
Launcher.py Launcher: Allow opening patches for clients without an exe (#2176) 2023-10-02 20:52:00 +02:00
LinksAwakeningClient.py
LttPAdjuster.py LttP: Adjuster no longer breaks when sprite path doesn't exist. 2023-10-07 15:57:05 +02:00
MMBN3Client.py
Main.py Core: change Region caching to on_change from on-miss-strategy (#2366) 2023-10-29 19:47:37 +01:00
MinecraftClient.py
ModuleUpdate.py Core: allow multi-line and --hash in requirements.txt 2023-10-25 00:52:57 +02:00
MultiServer.py
NetUtils.py Speedups: fix file date check when frozen (#2211) 2023-09-22 23:05:04 +02:00
OoTAdjuster.py
OoTClient.py Core: Add settings API ("auto settings") for host.yaml (#1871) 2023-07-05 22:39:35 +02:00
Options.py Options: have as_dict return set values as lists to reduce JSON footprint (#2354) 2023-10-24 22:50:53 +02:00
Patch.py
PokemonClient.py
README.md
SNIClient.py SNIClient: fix /snes command if tree (#791) 2023-09-10 07:19:40 +02:00
Starcraft2Client.py SC2 WoL - Mod, Item and Location update (#2113) 2023-09-15 02:22:10 +02:00
UndertaleClient.py Undertale: Various Fixes (#2146) 2023-09-20 10:18:53 +02:00
Utils.py Core: fix some memory leak sources without removing caching (#2400) 2023-10-31 02:08:56 +01:00
WargrooveClient.py
WebHost.py Core, WebHost: lazy-load worlds in unpickler, WebHost and WebHostLib (#2156) 2023-09-20 16:05:56 +02:00
Zelda1Client.py
ZillionClient.py Zillion: Python 3.11 compatibility fix (#2105) 2023-08-16 09:00:10 -05:00
_speedups.pyx
_speedups.pyxbld
inno_setup.iss Setup: new setup experience (read: torch almost all of it) (#2268) 2023-10-23 22:07:24 +02:00
kvui.py kvui: silently fail to disable DPI awareness on Windows (#2246) 2023-10-02 20:06:29 +02:00
meta.yaml
playerSettings.yaml LTTP: Key Drop Shuffle (#282) 2023-09-27 05:24:10 +02:00
pytest.ini pytest: run tests on non-windows with new names (#2349) 2023-10-24 10:59:15 +02:00
requirements.txt Core: update jellyfish 2023-09-22 21:39:29 +02:00
settings.py BizHawkClient: Add autostart setting (#2322) 2023-10-19 07:07:15 +02:00
setup.py Hylics 2: Various fixes and APWorld support (#2324) 2023-10-18 21:50:57 +02:00

README.md

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
  • Minecraft
  • Subnautica
  • Slay the Spire
  • Risk of Rain 2
  • The Legend of Zelda: Ocarina of Time
  • Timespinner
  • Super Metroid
  • Secret of Evermore
  • Final Fantasy
  • Rogue Legacy
  • VVVVVV
  • Raft
  • Super Mario 64
  • Meritous
  • Super Metroid/Link to the Past combo randomizer (SMZ3)
  • ChecksFinder
  • ArchipIDLE
  • Hollow Knight
  • The Witness
  • Sonic Adventure 2: Battle
  • Starcraft 2: Wings of Liberty
  • 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
  • Clique
  • Adventure
  • DLC Quest
  • Noita
  • Undertale
  • Bumper Stickers
  • Mega Man Battle Network 3: Blue Version
  • Muse Dash
  • DOOM 1993
  • Terraria

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. The installers function on Windows only.

If you are running Archipelago from a non-Windows system then the likely scenario is that you are comfortable running source code directly. 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

For contribution guidelines, please see our Contributing doc.

FAQ

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

Code of Conduct

Please refer to our code of conduct.