FactorioClient: address some common issues

This commit is contained in:
Fabian Dill 2021-10-24 23:22:06 +02:00
parent c9a3f67121
commit 57831f0eba
3 changed files with 19 additions and 4 deletions

View File

@ -94,7 +94,7 @@ class FactorioContext(CommonContext):
@property
def savegame_name(self) -> str:
return f"AP_{self.seed_name}_{self.auth}.zip"
return f"AP_{self.seed_name}_{self.auth}_Save.zip"
def print_to_game(self, text):
self.rcon_client.send_command(f"/ap-print [font=default-large-bold]Archipelago:[/font] "

View File

@ -11,7 +11,20 @@
## General Concept
One Server Host exists per Factorio World in an Archipelago Multiworld, any number of modded Factorio players can then connect to that world. From the view of Archipelago, this Factorio host is a client.
One Server Host exists per Factorio World in an Archipelago Multiworld, any number of modded Factorio players can then connect to that world.
From the view of Archipelago, this Factorio host is a client.
The final state you're looking for to play is:
* The generated Factorio Mod (part of Generate's output)
* An Archipelago Server.
* An (or multiple for multiworld) ArchipelagoFactorioClient, that is connected to that Archipelago Server.
* A Factorio Server that is started by the ArchipelagoFactorioClient automatically.
* Installed and enabled to this server is an AP_* mod that got generated alongside the generation.
* A Factorio Game (or multiple for coop) that then connect to that embedded Factorio Server.
* Installed and enabled to these games is an AP_* mod that got generated alongside the generation.
Note: There is an Archipelago mod on the Factorio Mod Portal, this mod is mostly for developers, not for play.
## Installation Procedures
### Dedicated Server Setup

View File

@ -86,8 +86,7 @@ class GameManager(App):
# bottom part
bottom_layout = BoxLayout(orientation="horizontal", size_hint_y=None, height=30)
info_button = Button(height=30, text="Command:", size_hint_x=None)
info_button.bind(on_release=lambda button: logging.getLogger("Client").info(
"/help for client commands and !help for server commands."))
info_button.bind(on_release=self.command_button_action)
bottom_layout.add_widget(info_button)
textinput = TextInput(size_hint_y=None, height=30, multiline=False)
textinput.bind(on_text_validate=self.on_message)
@ -108,6 +107,9 @@ class GameManager(App):
self.title = self.base_title
self.progressbar.value = 0
def command_button_action(self, button):
logging.getLogger("Client").info("/help for client commands and !help for server commands.")
def connect_button_action(self, button):
if self.ctx.server:
self.ctx.server_address = None