Restructure and expand setup page to instruct both players and hosts

This commit is contained in:
Rob B
2025-07-12 00:59:33 -04:00
parent 1fa08c74df
commit d8bd1aaf04
2 changed files with 150 additions and 84 deletions

View File

@@ -6,7 +6,7 @@ class SatisfactoryWebWorld(WebWorld):
theme = "dirt"
setup = Tutorial(
"Multiworld Setup Guide",
"A guide to setting up the Satisfactory Archipelago mod and connect it to an Archipelago Multiworld",
"A guide to setting up the Satisfactory Archipelago mod and connecting it to an Archipelago Multiworld",
"English",
"setup_en.md",
"setup/en",

View File

@@ -11,85 +11,46 @@
- Automatically via [smm.ficsit.app](https://smm.ficsit.app/) or
- Manually via [latest stable release on GitHub](https://github.com/satisfactorymodding/SatisfactoryModManager/releases/latest/)
> ⚠ Pre-Release Note: Since this game has not been merged into AP core yet,
> you will need the Archipelago Client from [its GitHub Releases page](https://github.com/ArchipelagoMW/Archipelago/releases/latest)
> to generate the world locally.
> See the other Pre-Release notes in this document for more information.
## Overview
This guide will walk you through installing the Satisfactory Archipelago mod via the Mod Manager
and entering Archipelago server connection details in the mod configuration options.
The server will send the required data to the game client and create the content required by the seed at runtime.
## 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](/games/Satisfactory/player-settings)
> ⚠ Pre-Release Note: The above link does not work because it would go to the live Archipelago site.
> Manually construct a yaml yourself from the one pinned in the Discord:
> <https://discord.com/channels/731205301247803413/1018853131859267656>
### 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](/mysterycheck)
> ⚠ Pre-Release Note: The above link does not work because it would go to the live Archipelago site.
> Manually construct a yaml yourself from the one pinned in the Discord:
> <https://discord.com/channels/731205301247803413/1018853131859267656>
### 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](https://satisfactory.wiki.gg/wiki/Advanced_Game_Settings)
to spawn the items you desire.
### Advanced Configuration
Advanced users can utilize the
[Weighted Options Page](/weighted-options)
and [Plando](/tutorial/Archipelago/plando)
to futher customize their experience.
> ⚠ Pre-Release Note: The above links do not work because it would go to the live Archipelago site.
> See these links instead:
>
> - <https://archipelago.gg/tutorial/Archipelago/advanced_settings/en>
> - <https://archipelago.gg/tutorial/Archipelago/plando/en>
## Prepare to Host Your Own Satisfactory Game
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 Server which is connected to the Archipelago Server via the Archipelago mod.
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.
- **Satisfactory Server** - The Satisfactory instance (game client or dedicated server) which will be used to host the game.
- **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.
- **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.
They must also have the Archipelago mod installed, but require no configuration.
They must also have the Archipelago mod installed, but require no configuration and do not need to provide Archipelago Server connection details.
It is important to note that the Satisfactory Archipelago mod
is not yet compatible with Linux dedicated servers - only Windows dedicated servers are supported.
### 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](https://satisfactory.wiki.gg/wiki/)
- Satisfactory Modding 'Frequently Asked Questions' page: [Satisfactory Modding Documentation FAQ](https://docs.ficsit.app/satisfactory-modding/latest/faq.html)
- Satisfactory Archipelago Item names (for hints/starting inventory/etc.) can be found [on the mod's github](https://github.com/Jarno458/Archipelago/blob/Satisfactory/worlds/satisfactory/Items.py)
## Preparing to Play Satisfactory Archipelago
### Installing Satisfactory
@@ -129,12 +90,101 @@ desktop shortcuts, Steam, Epic. etc. will all launch the game with mods still lo
You may also wish to install some of the suggested mods mentioned on the
[Archipelago Info page for Satisfactory](/games/Satisfactory/info/en#additional-mods).
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.
> ⚠ Pre-Release Note: The above link does not work because it would go to the live Archipelago site.
> Use this link instead:
> <https://github.com/Jarno458/Archipelago/blob/Satisfactory/worlds/satisfactory/docs/en_Satisfactory.md#additional-mods>
### Creating a New World
## 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](https://docs.ficsit.app/satisfactory-modding/latest/ForUsers/SatisfactoryModManager.html#_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](https://satisfactory.wiki.gg/wiki/Multiplayer#Joining_a_session))
See the [Troubleshooting section below](#troubleshooting) 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](/games/Satisfactory/player-settings)
> ⚠ Pre-Release Note: The above link does not work because it would go to the live Archipelago site.
> Manually construct a yaml yourself from the one pinned in the Discord:
> <https://discord.com/channels/731205301247803413/1018853131859267656>
#### 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](/mysterycheck)
> ⚠ Pre-Release Note: The above link does not work because it would go to the live Archipelago site.
> Manually construct a yaml yourself from the one pinned in the Discord:
> <https://discord.com/channels/731205301247803413/1018853131859267656>
#### 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)](https://satisfactory.wiki.gg/wiki/Advanced_Game_Settings)
to spawn the items you desire.
#### Advanced Configuration
Advanced users can utilize the
[Weighted Options Page](/weighted-options)
and [Plando](/tutorial/Archipelago/plando)
to futher customize their experience.
> ⚠ Pre-Release Note: The above links do not work because it would go to the live Archipelago site.
> See these links instead:
>
> - <https://archipelago.gg/tutorial/Archipelago/advanced_settings/en>
> - <https://archipelago.gg/tutorial/Archipelago/plando/en>
### Generating and Hosting the Multiworld
Generating a game and hosting an Archipelago server is explained in the [Archipelago Setup Guide](/tutorial/Archipelago/setup/en).
> ⚠ Pre-Release Note: The above link does not work because it would go to the live Archipelago site.
> Use this link instead:
> <https://archipelago.gg/tutorial/Archipelago/setup/en>
> ⚠ Pre-Release Note:
> Since the Satisfactory game is not merged into AP core, you must generate the world locally using the Archipelago Client.
> Download the latest `.apworld` from the [GitHub Releases page](https://github.com/Jarno458/SatisfactoryArchipelagoMod/releases/latest)
> then follow the directions in the above guide to generate the world.
> Once your world is generated you can host it on the Archipelago website as usual.
### 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.
@@ -147,7 +197,7 @@ Next, enter the connection details in the relevant fields.
- **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 slot, blank if you did not assign one.
Note that the Satisfactory Server/Client does *not* need a copy of your Archipelago config file.
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.
@@ -158,9 +208,9 @@ although this will never lock you out of progression.
> Note: Satisfactory dedicated servers do not currently have a user interface for the Mod Savegame Setting system.
> and [the starting inventory feature does not currently work on dedicated servers](https://github.com/Jarno458/SatisfactoryArchipelagoMod/issues/105).
> If you are setting up a dedicated server as your Satisfactory Server, to work around these limitations,
> If you are setting up a dedicated server as your Satisfactory Host, to work around these limitations,
> create the save locally in your Satisfactory Client first,
> then upload the save file to your Satisfactory Server using the [Server Manager](https://satisfactory.wiki.gg/wiki/Dedicated_servers#Loading_a_save_file).
> then upload the save file to your server using the [Server Manager](https://satisfactory.wiki.gg/wiki/Dedicated_servers#Loading_a_save_file).
### Verifying Connection Success
@@ -178,23 +228,44 @@ You may wish to use the Text Client to run commands since Satisfactory's in game
Check out the HUB to get started!
> ⚠ IMPORTANT: Check your HUB immediately upon joining to ensure your save file has been set up correctly!
> Make sure that you see multiple HUB milestones from Archipelago in Tier 1 and Tier 2.
> If you don't, ensure your connection details are correct.
> If that doesn't work, contact us on the Archipelago discord.
> See more information about this bug on the [GitHub issue tracker](https://github.com/Jarno458/SatisfactoryArchipelagoMod/issues/120).
See the [Troubleshooting section below](#troubleshooting) if you encounter any issues.
<!-- ## Other Settings
TODO implement filter_item_sends and bridge_chat_out mentioned in the Factorio guide? -->
### 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](https://satisfactory.wiki.gg/wiki/Multiplayer).
Have anyone you want to join follow the [Preparing to Play Satisfactory Archipelago](#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](https://docs.ficsit.app/satisfactory-modding/latest/ForUsers/SatisfactoryModManager.html#_sharing_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](https://docs.ficsit.app/satisfactory-modding/latest/ForUsers/DedicatedServerSetup.html).
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,
- 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.
If you need to enter a new port,
access the save's settings via the Mod Savegame Settings button in the pause menu.
See the [Port Changes section](#port-changes) above for more information.
- If you are having trouble using the Satisfactory Mod Manager, join the [Satisfactory Modding Discord](https://discord.ficsit.app) for support.
- If you encounter a game crash, please report it to us via the [Satisfactory Modding Discord](https://discord.ficsit.app).
Please include the following information:
@@ -205,9 +276,4 @@ TODO implement filter_item_sends and bridge_chat_out mentioned in the Factorio g
- Attach your Archipelago config file and spoiler to your report.
- If your early game power grid is repeatedly shutting down for unclear reasons,
ensure you are not wearing a Hover Pack, as they draw 100 MW.
## Additional Resources
- Satisfactory Wiki: [Satisfactory Official Wiki](https://satisfactory.wiki.gg/wiki/)
- Satisfactory Modding FAQ page: [Satisfactory Modding Documentation FAQ](https://docs.ficsit.app/satisfactory-modding/latest/faq.html)
- Satisfactory Archipelago Item names (for hints/starting inventory/etc.) can be found [on the mod's github](https://github.com/Jarno458/Archipelago/blob/Satisfactory/worlds/satisfactory/Items.py)
<!-- TODO remove hoverpack note once the mod is added as a dependency -->