FactorioClient:

fix reconnect
add auto-world-gen

todo:
move remaining script output bridge to rcon
This commit is contained in:
Fabian Dill
2021-07-02 01:58:03 +02:00
parent 0a64caf4c5
commit 97f45f5d96
4 changed files with 139 additions and 108 deletions

View File

@@ -13,38 +13,8 @@ os.environ["KIVY_NO_FILELOG"] = "1"
os.environ["KIVY_NO_ARGS"] = "1"
import asyncio
from CommonClient import server_loop, logger
from FactorioClient import FactorioContext, factorio_server_watcher
async def main():
ctx = FactorioContext(None, None, True)
ctx.server_task = asyncio.create_task(server_loop(ctx), name="ServerLoop")
factorio_server_task = asyncio.create_task(factorio_server_watcher(ctx), name="FactorioServer")
ui_app = FactorioManager(ctx)
ui_task = asyncio.create_task(ui_app.async_run(), name="UI")
await ctx.exit_event.wait() # wait for signal to exit application
ui_app.stop()
ctx.server_address = None
ctx.snes_reconnect_address = None
# allow tasks to quit
if ui_task:
await ui_task
if factorio_server_task:
await factorio_server_task
if ctx.server_task:
await ctx.server_task
if ctx.server and not ctx.server.socket.closed:
await ctx.server.socket.close()
if ctx.server_task:
await ctx.server_task
while ctx.input_requests > 0: # clear queue for shutdown
ctx.input_queue.put_nowait(None)
ctx.input_requests -= 1
from CommonClient import logger
from FactorioClient import main
from kivy.app import App
@@ -166,5 +136,6 @@ Builder.load_string('''
if __name__ == '__main__':
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
ui_app = FactorioManager
loop.run_until_complete(main(ui_app))
loop.close()