* Added Satisfactory to latest master * Fixed hard drive from containing the mam + incremented default value for harddrive progression * Apply cherry pick of 3076259 * Apply cherry pick of 6114a55 * Clarify Point goal behavior (https://github.com/Jarno458/SatisfactoryArchipelagoMod/issues/98) * Update Setup guide and info page * Add links to Gifting and Energy Link compatible games. Add info on Hard Drive behavior * Fix typos * Update hard drive behavior description * Hopefully fixed the mam from getting placed behind harddrives * Add 1 "Bundle: Solid Biofuel" to default starting items (for later chainsaw usage or early power gen) * Add info/warning about save setup failure bug * Add notes about dedicated server setup * Fixes: `TypeError: 'set' object is not subscriptable` random.choice does not work over set objects, cast to a list to allow 'trap_selection_override' * progrees i think * Fixed some bugs * Progress commmit incase my pc crashes * progress i think as test passed * I guess test pass, game still unbeatable tho * its generating * Some refactorings * Fixed generation with different elevator tiers * Remove debug statement * Fix this link. * Implemented abstract base classes + some fixes * Implemented many many new options * Yay more stuff * Fixed renaming of filters * Added 1.1 stuffs * Added options groups and presets * Fixes after variable renmame * Added recipy groups for easyer hinting * Implemented random Tier 0 * Updated slot_data * Latest update for 1.1 * Applied cheaper building costs of assembler and foundry * Implemented exploration cost in slot_data * Fixed exposing option type * Add goal time estimates * Trap info * Added support for Universal Tracker Put more things in the never exclude pool for a more familiar gameplay * Added iron ore to build hub * Added Dark Matter Crystals * Added Single Dark Matter Crystals * Fixed typo in options preset * Update setup directions and info * Options formatting fixes, lower minimum ExplorationCollectableCount, add new Explorer starting inventory items preset * Fixed incorrect description on the options * Reduce Portable Miner and Reinforced Iron Plate quantities in "Skip Tutorial Inspired" starting preset * Fixed options pickling error * Reworked logic to no longer include Single: items as filler Reworked logic for more performance Reworked logic to always put useful equipment in pool * Fixed Itemlinks Removed space elevator parts from fillers Removed more AWESOME shop purchaseables from minimal item pool Added all equipment to minimal item pool Removed non fissile and fertile uranium from minimal item pool Removed portal from minimal item pool Removed Ionized fuel from minimal item pool Removed recipes for Hoverpack and Turbo Rifle Ammo from minimal item pool Lowered the chance for rolling steel on randomized starter recipes * Fixed hub milestone item leaking to into wrong milestones * Fixed unlock cost of geothermal generator * Fixed itemlinks again * Add troubleshooting note about hoverpacks * Add starting inventory bundle delivery info * Added hint generation at generation time Harddrive locations now go from 1-100 rather then 0-99 * Update __init__.py Fixed mistake * Cleaned docs to be better suited to get verified * Update CODEOWNERS Added Satisfactory * Update README.md Added Satisfactory * Restructure and expand setup page to instruct both players and hosts * Add terms entry for Archipelago mod * Fixed generation of traps * Added Robb as code owner * Restore tests to original state * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fix additional typos from code review * Implemented fix for itterating enum flags on python 3.10 * Update en_Satisfactory.md * Update setup_en.md * Apply suggestions from code review Co-authored-by: Scipio Wright <scipiowright@gmail.com> * more world > multiworld * Clarify universal tracker behavior * Fix typos * Info on smart hinting system * Move list of additional mods to a page on the mod GitHub * Restore revamped setup guide that other commits overwrote Originally frombe26511205,d8bd1aaf04* Removed bundle of ficsit coupons from the from the item pool added estimated completion times to space elevator option description * Apply suggestions from code review Co-authored-by: Scipio Wright <scipiowright@gmail.com> * Wording * Fix typo * Update with changes from ToBeVerified branch * Update note about gameplay options * Update note about gameplay options * Improved universal tracker handling * Improved universal tracker + modernized code a bit * Fixed bugs that where re-introduced * Added Recipe: Excited Photonic Matter * Removed python 3.9 workaround * Fixed * Apply suggestions from code review Co-authored-by: Scipio Wright <scipiowright@gmail.com> * Streamlined handle craftable logic by using itterable rather then tuple Removed dict.keys as the dict itzelf already enumerates over keys * Updated option description * Fixed typing * More info on goal completion conditions * More info on goal completion conditions (093fe38b6e) * Apply suggestions from code review Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com> * Implemented review results * PEP8 stuff * More PEP8 * Rename ElevatorTier->ElevatorPhase and related for clarity and consistency. Untested * speedups part1 * speedsups on part rules * Fix formatting * fix `Elevator Tier #` string literals missed in rename * Remove unused/duplicate imports + organize imports, `== None` to `is None` * Fixed after merge * Updated values + removed TODO * PEPed up the code * Small refactorings * Updated name slot data to phase * Fix hint creation * Clarify wording of elevator goal * Review result * Fixed minor typo in option * Update option time estimates --------- Co-authored-by: Rob B <computerguy440+gh@gmail.com> Co-authored-by: ProverbialPennance <36955346+ProverbialPennance@users.noreply.github.com> Co-authored-by: Joe Amenta <airbreather@linux.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Scipio Wright <scipiowright@gmail.com> Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com> Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
13 KiB
Satisfactory Setup Guide
Required Software
- Satisfactory, either
- Steam Satisfactory (Steam)
- Epic Satisfactory (Epic)
- Satisfactory Mod Manager, either
- Automatically via smm.ficsit.app or
- Manually via latest stable release on GitHub
Overview
This guide walks you through installing the Satisfactory Archipelago mod via the Satisfactory Mod Manager, configuring an Archipelago slot for Satisfactory, and playing the game with a Satisfactory client.
Defining Some Terms
In Archipelago, multiple Satisfactory worlds may be played simultaneously. Each of these worlds must be hosted by a Satisfactory Host which is connected to the Archipelago Server via the Archipelago mod.
This guide uses the following terms to refer to the software:
- Archipelago Server - The central Archipelago server, which connects all games to each other.
- Archipelago Client - The desktop application used by many Archipelago games as middleware. Satisfactory does NOT require this software, unless you would like to generate a world locally.
- Archipelago (Satisfactory) mod - The Satisfactory mod which implements Archipelago in-game functionality and connectivity. All Satisfactory hosts and clients must have this mod installed.
- Satisfactory Host - The Satisfactory instance which will be used to host the game. This could be a Satisfactory Client using Singleplayer or host-and-play multiplayer, or it could be a Satisfactory dedicated server. It must be supplied with the Archipelago Server connection details. Any number of Satisfactory Clients may connect to this server.
- Satisfactory Client - The Satisfactory instance (game client) with which additional players can use to connect to the same Satisfactory world.
What a Playable State Looks Like
- An Archipelago Server
- One running modded Satisfactory Host (game client or dedicated server) per Satisfactory world
- Optionally, additional modded Satisfactory Clients for additional players
Additional Resources
- Satisfactory Wiki: Satisfactory Official Wiki
- Satisfactory Modding 'Frequently Asked Questions' page: Satisfactory Modding Documentation FAQ
- Satisfactory Archipelago Item names (for hints/starting inventory/etc.) can be found on the mod's github
Preparing to Play Satisfactory Archipelago
Installing Satisfactory
Purchase and install Satisfactory via one the sources linked above. Launch the game at least once to ensure that the Mod Manager can detect the game's install location.
Make sure that you are running the correct branch of the game (Release or Experimental) that Archipelago supports. Learn how to switch branches here: Satisfactory Modding Documentation FAQ: Switching Branches
Installing Satisfactory Mod Manager
The Mod Manager is used to install and manage mods for Satisfactory. It automatically detects your game install location and automatically handles mod dependencies for you.
Download the Mod Manager here: Satisfactory Mod Manager automatic download via ficsit.app
Directions for setting and using up the Mod Manager can be found here: Satisfactory Modding Documentation FAQ: Installing the Mod Manager
Installing the Archipelago Mod
Once the Mod Manager is installed you can install mods directly in the manager or via the Satisfactory Mod Repository website.
Inside the Mod Manager, search for and install the "Archipelago Randomizer". Alternatively, visit the mod page: Archipelago Randomizer mod on ficsit.app. Once on the mod page, click the "Install" link in the Latest Versions card.
The Mod Manager will install all required dependency mods for you with no additional action required.
As soon as you have the relevant mods installed, you do not need to launch the game through the Mod Manager - desktop shortcuts, Steam, Epic. etc. will all launch the game with mods still loaded.
Installing Additional Mods
You may also wish to install some of the suggested mods mentioned on the Archipelago Info page for Satisfactory. If you are playing multiplayer in the same Satisfactory world, all Satisfactory Clients should have the same mods installed. The Mod Manager's profile import/export feature makes coordinating this easy.
Connecting to Someone Else's Satisfactory Game
If you are joining someone else's existing Satisfactory game, your setup process is almost complete. If your host has sent you a Mod Manager profile containing additional mods, be sure to install it. See Satisfactory Modding Documentation: Profiles for more information.
To get started playing, connect to the Satisfactory Host using the connection details provided by your host. (Satisfactory Wiki: Joining a Session)
See the Troubleshooting section below if you encounter any issues.
Hosting Your Own Satisfactory Game
If you're hosting your own Satisfactory game, you will need to configure an Archipelago world and set up the Satisfactory Host you will be playing on.
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 page on the website allows you to configure your personal settings and export a config file from them. Satisfactory player settings page: Satisfactory Settings Page
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 page. YAML Validator page: Yaml Validation Page
Starting Inventory
The Player Settings page provides a few options for controlling what materials you start with and when certain key technologies are unlocked. Any Resource Bundle type items added to your starting inventory will be delivered to your player inventory when you initally spawn, unless they can't fit, in which case they can be collected by building an Archipelago Portal.
Advanced users can use Plando, Weighted Options, and manual yaml editing to further configure the starting inventory. If you don't wish to use these techniques, consider using Satisfactory's Advanced Game Settings (Satisfactory Wiki) to spawn the items you desire.
Advanced Configuration
Advanced users can utilize the Weighted Options Page and Plando to futher customize their experience.
Generating and Hosting the Multiworld
Generating a game and hosting an Archipelago server is explained in the Archipelago Setup Guide.
Creating the Satisfactory World
After you have installed the mods, launch the game via the Mod Manager or via your preferred method. Once the game has launched, start creating a new game.
Select your starting location and Skip Intro if you wish to skip the tutorial sequence, then click the "Mod Savegame Settings" button in the bottom right corner of the screen. Next, enter the connection details in the relevant fields.
- Server URI: Archipelago Server URI and port, for example,
archipelago.gg:49236 - User Name: The name you entered as your Player Name when you created your config file. It's also listed in the Name column of your room page.
- Password: The password for your Archipelago room, blank if you did not assign or receive one.
Note that the Satisfactory Host/Client does not need a copy of your Archipelago config file. The mod communicates with the Archipelago Server, which already has your config file, to generate the required content at runtime.
Consider setting the following options in the "Options" > "Gameplay" section, especially because they are per-user and persist across your game saves:
- Creature Hostility:
Default(the game's default). Some of the mod's Traps involve creatures, and having them Passive or Retaliate cheapens the experience. - Keep Inventory:
Keep EverythingorKeep Equipment(the game's default). Although dying and dropping items will never lock you out of progression, Free Samples and Bundles means you can easily gain items you can't easily replace.
Verifying Connection Success
After you have created your new world, you should see in-game chat messages confirming that you have connected to the Archipelago Server.
You can issue the /help command in the game's chat to list available commands, such as /hint.
For more information about the commands you can use, see the Commands Guide.
Note that Archipelago commands are not prefixed with ! inside of Satisfactory.
You may wish to use the Text Client to run commands since Satisfactory's in game chat is not very user friendly.
Check out the HUB to get started!
See the Troubleshooting section below if you encounter any issues.
Allowing Other People to Join Your Game
Additional players can join your game using the game's built-in multiplayer functionality. For more information, see Satisfactory Wiki: Multiplayer.
Have anyone you want to join follow the Preparing to Play Satisfactory Archipelago section above. If you're using any additional mods, be sure to export a profile using the Mod Manager for players to import. Satisfactory Modding Documentation: Sharing Mod Manager Profiles
As mentioned above, it is possible to use a Satisfactory dedicated Server as your Satisfactory Host. The process for setting up and configuring a dedicated server is out of scope of this guide, but you can find more information here: Satisfactory Modding Documentation: Installing Mods on Dedicated Servers.
It is important to note that the Satisfactory Archipelago mod is not yet compatible with Linux dedicated servers - only Windows dedicated servers are supported.
Port Changes
If you are using a public Archipelago Server to host your game, rooms are automatically put to sleep after a period of inactivity. The room can be awoken by visiting the room page on the Archipelago website. This may cause the room's assigned port to change, requiring you to update your "Mod Savegame Settings" with the new Server URI. To do this, open your save, go to the pause menu's "Mod Savegame Settings" section, enter the updated Server URI, then save and reload the game.
Troubleshooting
- If you are having trouble connecting to the Archipelago Server, make sure you have entered the correct server address and port. The server port may have changed if the room went to sleep. See the Port Changes section above for more information.
- If you are having trouble using the Satisfactory Mod Manager, join the Satisfactory Modding Discord for support.
- If you encounter a game crash, please report it to us via the Satisfactory Modding Discord.
Please include the following information:
- What you were doing when the crash occurred.
- If you were a Satisfactory multiplayer host or client, and if you were playing on a dedicated server.
- Use the Mod Manager to generate a debug zip and attach that file. Satisfactory Modding Documentation FAQ: Generating a debug zip
- Attach your Archipelago config file and spoiler to your report.