How does it work? See the Game Page.
Setting up? See the Setup Guide.
Compatibility
Current Known issues
Old Known issues
Changelog
Roadmap
Contributors
- This version has been tested with Dark Souls: Remastered, Steam version (App ver. 1.03.1 & Regulation ver. 1.04) on Windows 11, with Archipelago Launcher version 0.6.7. Using incorrect versions of Dark Souls: Remastered may result in a crash upon connecting.
- Linux has preliminary support via Proton with v0.1.0. See the Setup Guide for more information.
- Upon receiving a Fog Wall Key, the related Fog Wall sometimes does not unlock. To work around this, completely close both the game and client (DSR and DSAP), then relaunch them and reconnect.
- Master Key chosen from character creation (whether as a gift or thief starting item) is not ever considered to be in-logic. The
Randomized Starting LoadoutandRandomized Starting Giftoptions replace the master key from the thief's starting item and the starting gifts respectively. - If you give a later Ember to a blacksmith before an earlier one in the same chain, they might lock you out of some upgrades. This is a vanilla bug, but will be mitigated in the future with "progressive embers".
- Placing Lord Souls at Firelink Altar may not open the door - This seems to be due to not having received some number of the Lord Souls or Lordvessel. We could use information for this - If you see this, please run the /lordvessel command, which will both provide diagnostic information & the missing items. Please provide a screenshot of the output with any additional context you can provide about the missing items to the dark-souls-1 channel in the Archipelago discord (such as, if you know it, did the items come in while you were offline, was it with other items, etc).
- v0.1.2+ with Seamless Co-op: Warping crashes the game, potentially both for host and client.
- Using "Can Warp Without Lordvessel" option results in two unintended behaviors when the player does not have the Lordvessel: Frampt takes you into the Firelink Altar (expecting you to place it), and Ingward in New Londo will grant you the "Key to the Seal" location check. As workarounds: the first can be escaped by using the "unstuck" button (or homeward, a homeward bone, or dark sign), and the second is just an unintended "out of logic" check.
- "Warp to all bonfires" lets players do Undead Asylum 2nd visit checks out of logic - before access to the Firelink-Parish elevator.
- v0.1.2 - v0.1.0: Player no longer receives key items after getting 64 key items. In vanilla, there are With fogwall sanity and boss fogwall sanity on, there are 84 total "key items", vs the 64 slots available for key items. If not using boss fogwall sanity, this limit will not be reached. If you are using both fogwall sanities, you can work around the issue by dropping or depositing any fogwall key items into your bottomless box, handing in embers immediately, etc. The "fogwall key" items in DSR are not actually needed to pass through their corresponding fog walls. As soon as you have received the AP item, the fog wall should become passable, whether or not it is in your actual DSR inventory. This is fixed in v0.1.3 with the implementation of "fogwall keychains"
- v0.1.0 and above: /help function doesn't provide useful output.
- v0.0.22.0 and v0.0.21.0: Hard lock / infinite loop of receiving Rubbish if player has been /send'd a valid AP item that the client doesn't know about (Estus flask, Event items, etc). Resolved in v0.1.0 with an error message instead.
- v0.0.21.0: Dispelling of Golden fogwalls inconcorrectly considered in logic once player had Lordvessel, even if it cannot be placed at Firelink Altar.
- v0.0.21.0: Boss fog walls in the DLC do not correctly "Lock" with boss fog wall locks on.
- v0.0.21.0 and lower: Once a save receives an item from the server, it cannot be re-received to a new save or different player. Fixed with v0.0.22.0 (
Multi-save support!). - v0.0.21.0 and lower: Prism stone received at locations in DSR player's game which are replaced with other multiworld players' items. Updated to no longer occur with v0.0.22.0 (
AP items as DSR items). - v0.0.21.0 and lower: Items will only ever be sent to one save. This is fixed in v0.0.22.0+.
- v0.0.20.0 and lower: Goal may not send upon completion. It is recommended to upgrade the DSAP client to v0.0.21.0, connect, and run the /goalcheck command. v0.0.21.0 of the client is fully compatible with v0.0.20.0-generated apworlds.
- v0.0.19.1 and lower: If you receive an item while on the main menu, it will be lost, requiring admin intervention. For safety, you should only run the client once loaded into game.
- Furthermore, you should close the client before quitting to menu or quitting the game.
- v0.0.19.1 and lower: Looting the "key item chest" in Firelink Shrine behind Frampt will break logic for DSR. In a vanilla playthrough, this chest is usually empty/already open, and only has items if you somehow don't have a key item you "should have", depending on where you are in the game. In a randomizer environment, those normal circumstances don't apply! As an example: if you loot this chest after looting the vanilla "Basement Key" location, it will have a Basement Key - but in AP randomizer that key can even be in another game! In v0.0.20+ it gives rubbish instead.
- v0.0.19.1 and lower: On reconnect, player can receive duplicate items. The items are specifically those from "door"-type location checks in their own world.
- v0.0.19.1 and lower: Some enemy drops (invaders, Havel, etc) are erroneously replaced with prism stones, but do not grant an AP item. The player should get the standard enemy drop in these locations instead.
- v0.0.19.1 and lower: Not receiving deathlinks - a potential workaround is to close DSAP client, completely exit game to desktop, relaunch DSR + DSAP, load in with your character, and then reconnect with DSAP client. This occurs when the game happens to load your player character information near enough to a 65k boundary (limit of a 2^16 "short" int), which could in some cases happen each time you load in. Anecdotally, restarting the game from desktop makes it most likely to allocate your memory in a better spot. This is fixed in v0.0.20+.
- v0.0.19.1 prerelease: While unhollowed/human, the player is detected as "not in game". This can result in no items or deathlinks being sent to other players.
- v0.0.18.3: DSR game and DSAP.client.exe both crash upon connect - you must load into the game and be able to move your character around before connecting with the client.
- v0.0.18.2 and lower: Items do not get replaced. Upgrade your client version.
- Version update -> 0.1.4. Both apworld and client have updated. Client should be backward compatible with all 0.1.x generated apworlds.
- Feature: Add PopTracker Auto Tabbing.
- Note: for full tracker support in PopTracker, ensure your DSR PopTracker pack is up to date.
For full tracker support in Universal Tracker, ensure both yourdsr.apworldand DSR PopTracker pack are up to date.
- Note: for full tracker support in PopTracker, ensure your DSR PopTracker pack is up to date.
- Fix: For map tracking, Andre's now detected as being in Undead Parish instead of Upper Undead Burg.
- Version update -> 0.1.4. Both apworld and client have updated. Client should be compatible with all 0.1.x generated apworlds.
- Feature: Add
Soul MultiplierandWeight Multiplieroptions - configurable via yaml option to be either be a static multiplier or require an option-defined number of "progressive" items to increase souls or reduce weight. Min/Max soul multipler is 20% to 500%, weight multiplier is 300% to 0%. Defaults are 100% for both and no such "progressive items". Soul multiplier changes via progressive item may not take effect until enemies are reloaded. - Feature: More
goal_conditions! Ornstein & Smough, Manus. Added along withAfter O+Slocation group - to exclude if you're using the O+S goal; this will exclude all normally Post-Lordvessel checks./goalcheckwill tell you what your goal is. Credit to BroodierLake140 from discord - Feature: Tracker Map Auto Tabbing is available (and immediately available via Universal Tracker, with the Poptracker map pack). Controls also added to turn off sending this information from the client (for, e.g. co-op)
- Feature: Added
Item Lot Paramconsistency check - should help catch issues if players didn't clean up their install after using a randomizer or other Param modifier. - Fix: Send boss fogwall checks if their respective boss is killed without passing through it. You can now safely cheese the bosses (or try weird fog wall skips)
- Fix: Bonfire warp items (mainly used for debugging) weren't working and Catacombs and Chasm of the Abyss were swapped. Warning: these items are still not normally placed, nor considered for logic.
- Version update -> 0.1.3. Both apworld and client have updated. Client should be compatible with all 0.1.x generated apworlds
- Feature: Add
Fogwall KeychainandBoss Fogwall Keychainkey items - instead of the many Fog Wall Key items and Boss Fog Wall Key items, you now have 2 keychain items whose extended descriptions tell you which fog walls you have unlocked. - Feature: Add
ghost_difficultyyaml options - with possible values ofnormal,ghosts_are_not_ghostly, or (default)rickert_sells_curses. Less death-runs in New Londo! See the template yaml file or option creator tooltips for more information. - Feature: Add
/optionscommand to print out the apworld options the client knows about. - Fix: As a result of Fogwall Keychains, running out of key item slots should no longer happen, so the "player stops receiving key items after 64 key item slots are filled" issue will no longer occur.
- Version update -> 0.1.2. Both apworld and client have updated. Client should be compatible with all 0.1.x generated apworlds
- Feature: Add "warp_to_all_bonfires" - making all bonfires eligible to be warp targets - on by default. This still only unlocks warp points once you've rested at them. As a side effect, the target of the warp also becomes your new respawn point upon death/homeward/dark sign.
- Feature: Added to client "custom controls" the ability to change bonfire warp menu sort types (alphabetical, vanilla, progression), and to optionally use changed/enhanced names instead of "vanilla" ones.
- Feature: Added connection details and custom control options persisting between client sessions.
- Special thanks to discord user GhostEye85 for their code and help with the bonfire warping & settings persistence.
- Version update -> 0.1.1. Both apworld and client have updated. Client should be compatible with all 0.1.x generated apworlds
- Feature:
goal_conditionoption, andall_bossesgoal added. No longer will you only need 5 macguffins to fight Gwyn and beat the game! Note: DSAP does not prevent NG+ from triggering upon defeating Gwyn - it is recommended to leave him for last. - Feature: Added goal tracking for
all_bossesgoal to/goalcheck - Fix: Logic - Add Hellkite Bridge -> Upper Undead Burg Bonfire ladder connection
- Fix: Item Syncs were failing with null replacements
- Fix: Add faith requirements to Crescent Axe and Astoras Greatsword for starting rando purposes
- Version update -> 0.1.0. Both Apworld and Client have updated. This Client version will NOT be compatible with earlier versions of the apworld.
- Feature: Linux support - huge thanks to discord user @theabysmalkraken. From basic tests appears to work, but not tested thoroughly - should be considered somewhat more unstable.
- Feature: Starting loadout, gifts, and spells randomization - including yaml options for controlling them. See the options for more details.
- Feature: Server-delivered items - Items will now always be delivered by the server. This may cause a slightly delayed item popup.
- Feature: Synced "looted" items between saves - Now upon starting a new save on an in-progress slot, you'll get all the items that slot ever looted. For now, "empty" items at those locations will still exist in the world. Possible due to Server-delivered items.
- Feature: Synced "warp points" between saves/co-op on same slot.
- Feature: Custom Controls window for client settings. Settings do not yet persist between sessions, but are a lot easier to change. Deathlink can be more easily toggled from here as well.
- Feature - Item popup options - In the "Custom Controls" window, player can now change the categories of items for which they will get popups. Granular - can choose different settings for items that come from your own game & items sent to & from others' games.
- Feature: Yaml option (QoL) - Can Warp Without Lordvessel - on by default.
- Feature: Yaml option - Remove weapon stat requirements - off by default.
- Feature: Yaml option - Remove spell stat requirements - off by default.
- Feature: Yaml option - Remove miracle covenant requirements - for those miracles that have them - on by default.
- Feature: Add /lordvessel command - For players to use if placing all 4 souls at the Firelink Altar doesn't open the Kiln door. Intended to catch the case where the client didn't receive the items correctly - both getting diagnostics & making player whole (gives them the missing "received" items). Please provide the output to us in the dark-souls-1 discord channel if you have to use this command to help us debug this issue!
- QoL: Sanitization on host and slot, remove "/connect " prefix if it's in host string, and trim spaces from both strings.
- Fix: Logic - Basement Door access no longer requires Taurus Demon defeat
- Fix: Unreceivable items causing infinite rubbish loop. Now they will just display an error message instead.
- Fix: Improved messaging for case where player connects with save from a previous instance of a multiworld (when a 2nd room is created from 1 seed / AP_####.zip).
- Fix: DLC Boss Fog Walls added to
All DLC regionslocation group. - Code quality: massive refactoring of code which updates DSR item lots, messages, and params
- Documentation: Created Setup Guide and Game Page (linked at top of this file).
- Client Version update -> 0.0.22.1. Fully compatible with 0.0.22.0 worlds, but not compatible with apworlds at or below v0.0.21.
- Apworld is unchanged.
- Fix: Crashes, incorrect items when too many non-local items are located within DSR, due to incorrectly built item params.
- Version update -> 0.0.22.0. Both Apworld and Client have updated. This Client version will NOT be compatible with earlier versions of the apworld.
- Feature: The Item Pool is now generated based on the vanilla item pool, with slight modifications. You can actually get rings, and the Zweihander now! You can expect to get less Soul items / less souls from the average soul item compared to v0.0.21 and lower.
- Feature: See received items! Item popups will now appear for items received by other players. You can disable showing the popup for non-progression or all items via the
/ripshowtext command in DSAP (see/helpfor details) - Feature: See sent items! AP Items as DSR Items: Items for other players, and your own Fog Wall Keys now show what they are in the standard in-game item popup, instead of showing up as prism stones. And no more of those stones weighing down your bag! They do still look like prism stones, though.
- Feature/Fix: Multi-save support! Now you (or somebody else!) can start a new character on your slot without risk of losing items! Note: Most local items will still have to be re-acquired in the new save. Same-slot seamless co-op play may also be possible (not thoroughly tested) - see the Co-op Toleration section below.
- Feature: "Excluded Location Behavior" yaml option added, to allow for not randomizing excluded areas at all, instead of just making them have non-priority, non-useful randomized items.
- Feature: No more need to immediately battle through the difficult Catacombs immediately! Added yaml option
logic_to_access_catacombs, which allows you to add additional conditions to catacombs logical access - via access to Andre, Undead Merchant (in Undead Burg), or Ornstein and Smough. Default is access to either Andre or the Undead Merchant. - Feature: Yaml-less Universal Tracker (UT) support.
- Update: Doors checks have been removed (for now). They may be re-introduced in the future with a "door sanity" type of option.
- Update: Yaml options simplified - Fogwall Lock and Fogwall Sanity options combined into just Fogwall Sanity (same for the Boss equivalents).
- Update: Yaml option for "Locked Undead Asylum Fog Wall" was removed, and not folded into any other option. It too quickly caused BK mode.
- Update: Yaml option for "Singular Boss Souls" was removed, due to being irrelevant.
- Update: Yaml option for "Enable Master Key" was removed, due to being confusing. It is possible to add it into the pool via the Guaranteed Items option.
- Update: Added multiple text commands to the client:
/connect,/unstuck, a limited/warpcommand for re-accessing blocked areas,/ripshowfor limiting popups for items received from other games. - Update: Saves will now keep track of the slot (and generated seed) they last connected to, and warn player if the save they load into was both 1) made by a v0.0.22+ client and 2) previously connected to a different slot (and seed). This should help guard against accidentally sending the checks completed by a save which was used for a different generated multiworld. Does not protect against this when loading v0.0.21 and lower saves.
- Fix: Account for shop items and un-randomized drops being in logic, instead of also adding them to the pool.
- Fix: Logic - Golden fogwalls no longer considered clearable until you can actually place the Lordvessel.
- Fix: Location name: Renamed
DR: Soul of a Brave Warrior - Ruins/Domain ShortcuttoDR: Soul of a Brave Warrior - Ruins/Domain Elevatorfor clarity - Fix: Location name: Renamed
DR: Soul of a Brave Warrior - Chaos DoortoDR: Soul of a Brave Warrior - Chaos Covenant Door - Fix: DLC Boss Fogs now made to work correctly.
- Fix: Broken Pendant, Duke's Archives Cell Key, Residence Key, Crest of Artorias, and Covenant of Artorias should now only be in their vanilla locations, instead of also randomized into the Item Pool.
- Fix: Some improvements to client behavior after reconnection to AP Server.
- Fix: Massive reduction of bandwidth and game data storage usage
- Fix: Pressing
Enterwhile in the client text box will now submit text commands.
- Version update -> 0.0.21.0. Client is compatible with 0.0.20.0-generated apworlds.
- Feature: Add yaml option
fogwall_lock- introduces AP items which are "keys" that you must acquire before you can go through fog walls. Default on. - Feature: Add yaml option
boss_fogwall_lock- like above, but for boss fog walls. Does not include Asylum Demon (first encounter), Sif, or Seath (2nd encounter), as all of them do not have fog walls upon your first entry to their arena. - Feature: Add "Fogwall Sanity" and "Boss Fogwall Sanity" - get items when you pass through fog walls and the first time through boss fog walls, respectively.
- Feature: Add Universal Tracker (UT) support for importing poptracker maps.
- Feature: Added commands /fog and /bossfog for tracking which of the above keys you've acquired. Also added /lock to view all lockable events (currently only bossfogs and fogs).
- Feature: Added command /diag to collect diagnostic information. If you report a bug, you can include the screenshot from this output for more information.
- Feature: Add Overlay toggle (on by default).
- Feature: Autoscroll on by default.
- Feature: Upgrade information is now in spoiler log.
- Fix: Goal should now reliably send upon defeating Gwyn. Made SendGoal put its work on the scheduler to avoid a deadlock, and added a message for when it does try to send.
- Fix: Various fixes to async processing.
- Fix: Added command /goalcheck to re-try sending the goal if goal conditions have been met (either Gwyn is defeated or player is in NG+). If it works or doesn't work, please send us a screenshot with the results.
- Fix: Logic - Require skull lantern for Tomb of the Giants.
- Fix: Logic - Added Kaathe entrance to the Lordvessel Altar/Kiln (was irrelevant before Fog Wall Lock)
- Fix: Logic - 2 demon ruins items require Orange Charred Ring
- Fix: Logic - Removed Upper Undead Burg -> Darkroot Basin connection that does not go through the Watchtower Basement.
- Fix: Logic - Add 2-way connections to relevant Entrances in the logic.
- Fix: Logic - Corrected/adjusted many region connections
- Fix: Logic - NL: Key to the Seal now requires Lordvessel (no longer potentially require killing the NPC)
- Fix: Logic - Make artificial logic only apply when both fogwall lock and boss fogwall lock options are off.
- Feature: Enable DLC (#50). Exclude-able as location group "All DLC regions" as noted below
- Feature: Game overlay to display AP messages from the DSAP client while in game (including received and found items). Note: Overlay may not show up in streams of the game on discord, etc, as it uses another window (which may appear mostly blank in the alt-tab display).
- Feature: Weapon Upgrades via yaml option (#48)
- Feature: Add /deathlink command to toggle it post-seed creation, and /help command to list DSAP-specific commands (#68)
- Feature: Add location groups (#62). Using this feature you can exclude whole groups of locations such as "All DLC regions" or "Painted World", "The Great Hollow", "Ash Lake", "Upper Blighttown Depths Side", etc (See Location Groups below). Excluding locations does not prevent them being randomized at this point, but only makes it so they should not have items classified as useful or priority.
- Feature: Add item groups (#62). Not excludable yet, but you are now able to mark them as local or non-local.
- Feature: Unstuck button (#64) - will teleport you to Firelink Shrine if you've at least reached there. Useful if stuck in the Duke's Archive without a key.
- Feature: Compatibility support for 0.0.19.1 and warning/error messages for unsupported apworld versions
- Fix: Goal detection now requires being in-game (#52)
- Fix: Items should now only be sent while player is actually in game - and queued for sending when received while they aren't in game (#71)
- Fix: Fixed Deathlink "desync" issue and potentially other random things failing due to incorrectly calculating addresses for their in-memory structures (#66)
- Fix: No longer replacing every enemy lot (#47)
- Fix: Embers are always added to the item pool, and only added once (#47)
- Fix: Firelink Shrine Chest behind Frampt ("key item lost and found") replaced with rubbish to prevent accidentally breaking AP logic (#64)
- Fix: Item pool - Soul spells added to pool instead of consumable soul items (#70)
- Fix: Location - nonexistent DA: Reah's Cell location removed (#47)
- Fix: Location - PW: Twin Humanities not being detected as "checked" fixed (#49)
- Fix: Location - PW: Velka's Rapier now requires Annex Key (#49)
- Fix: Location - PW: Gold Coin doesn't require Annex Key (#54)
- Fix: Location - PW: "Next to Stairs" check hint text improved
- Fix: Items - Elite Cleric Armor set added (#47)
- Fix: Post-Seath Arena entry logic (#61)
- General: Better error mesaging (#50, #65, #68, etc)
- Feature: Shop Items randomized
- Feature: Enemy drops randomized
- Traps
- Option to consider certain in-game skips logical.
- tathxo (aka noka) - Maintainer (as of May 2026)
- ArsonAssassin - Creator and Maintainer from initial creation in Oct 2024 through May 2026, creator of the memory library "Archipelago.Core" used heavily by this implementation.
- Nave - Contributor, research/reverse engineering
- BroodierLake140 (discord) - Contributor, O+S and Manus goals
- DeeKay - Contributor, "Allow Skips" Logic
- TheAbysmalKraken - Linux-enabling fix in dependant memory library
- GhostEye85 (discord) - Contributor, Settings Persistence and Bonfire Warping features and code
- ahhhreptar (discord) - Provided a 2nd method for linux via the
launch_dsr.shscript - Edgarra1619 - Logic fix