black-sliver
1a41e1acc8
customserver: fix memory leak ( #3864 )
2024-09-01 20:34:50 +02:00
black-sliver
948f50f35d
customserver: fix minor memory leak ( #3636 )
...
Old code keeps ref to last started room's task and thus never fully cleans it up.
2024-07-14 13:56:56 +02:00
black-sliver
187f9dac94
customserver: preemtively run GC before starting room ( #3637 )
...
GC seems to be lazy.
2024-07-14 13:56:27 +02:00
black-sliver
afb6d9c4da
MultiServer, customserver, CI, Test: Fix problems in room hosting and test/simulate it ( #3464 )
...
* Test: add hosting simulation test
* WebHost: add weak typing to get_app()
* MultiServer: add typing to auto_saver_thread
* MultiServer: don't cancel task, properly end it
* customserver: stop auto-save thread from saving after shutdown
and make sure it stops, another potential memory leak
* MultiServer, customserver: make datapackage small again
* customserver: collect/finish room tasks
Hopefully fixes the memory leak we are seeing
* CI: test hosting
* Test: hosting: verify autohoster saves on Ctrl+C
* customserver: save when stopping via Ctrl+C
2024-06-06 01:54:46 +02:00
black-sliver
6f6bf3c62d
CustomServer: properly 'inherit' Archipelago from static_server_data ( #3366 )
...
This fixes a potential exception during room spin-up.
2024-05-30 18:16:13 +02:00
Fabian Dill
461f5db35a
Customserver: only save on exit if it's in a good state. ( #3351 )
2024-05-21 14:08:59 +02:00
black-sliver
019dfb8242
CustomServer: re-add missing Archipelago to data package ( #3341 )
2024-05-19 20:40:08 +02:00
Fabian Dill
e97eddcdaf
WebHost: move atexit saving to end of room hosting function ( #3339 )
2024-05-19 18:25:56 +02:00
Fabian Dill
d3f4ee4994
WebHost: re-introduce per-Room Locker ( #3337 )
2024-05-19 16:31:35 +02:00
black-sliver
cf34f125d6
CustomServer: don't mutate static server data ( #3334 )
...
when switching to multiple rooms per process, we ended up modifying the static server data
because that's how _load works and the data is now shared between multiple rooms.
2024-05-19 15:32:11 +02:00
Fabian Dill
663b50b33e
WebHost: fix AutoLauncher restarting rooms due to race condition ( #3333 )
2024-05-19 15:17:55 +02:00
Fabian Dill
7900e4c9a4
WebHost: use a limited process pool to run Rooms ( #3214 )
2024-05-17 12:21:01 +02:00
Fabian Dill
56ac6573f1
WebHost: fix room shutdown ( #2554 )
...
Currently when a room shuts down while clients are connected it instantly spins back up. This fixes that behaviour categorically.
I still don't know why or when this problem started, but it's certainly wreaking havok on prod.
2023-12-06 18:24:13 +01:00
Zach Parks
790f192ded
WebHost: Refactor `tracker.py`, removal of dead code, and tweaks to layouts of some tracker pages. ( #2438 )
2023-11-18 12:29:35 -06:00
Fabian Dill
5d47c5b316
WebHost: check that worlds system is not loaded in customserver ( #2222 )
2023-09-27 11:26:08 +02:00
black-sliver
d471dcc067
Core, WebHost: lazy-load worlds in unpickler, WebHost and WebHostLib ( #2156 )
...
* Core: lazy-load worlds in unpickler
this should hopefully fix customserver's memory consumption
* WebHost: move imports around to save memory in MP
* MultiServer: prefer loading _speedups without pyximport
This saves ~15MB per MP and speeds up module import if it was built in-place.
* Tests: fix tests for changed WebHost imports
* CustomServer: run GC after setup
* CustomServer: cleanup exception handling
2023-09-20 16:05:56 +02:00
Aaron Wagener
f1ccf1b663
reenable ping
2023-06-25 01:24:39 +02:00
Fabian Dill
422ccdaa4c
WebHost: remove some unused imports
2023-06-18 22:56:55 +02:00
Fabian Dill
f015cf4298
MultiServer: compat fix if checksum is not present ( #1642 )
2023-04-01 22:40:14 +02:00
Fabian Dill
754a57cf69
WebHost: give active rooms a chance to reclaim their port
2023-03-25 19:34:09 +01:00
Zach Parks
ff9f563d4a
Deprecate `data_version` and introduce `checksum` for DataPackages. ( #684 )
...
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
2023-03-20 17:01:08 +01:00
Fabian Dill
7fdf38b2ad
WebHost: automatically fill PATCH_TARGET -> HOST_ADDRESS and re-use it for rooms ( #1518 )
2023-03-09 21:31:00 +01:00
Fabian Dill
c61f467218
WebHost: fix location_name_group related spinup crash
2023-03-09 12:31:35 +01:00
Fabian Dill
9add1495d5
SSL support ( #1340 )
2023-01-21 17:29:27 +01:00
Zach Parks
fe2b431821
MultiServer: Remove `forced_auto_forfeit` ( #1363 )
2023-01-02 19:26:34 -06:00
Fabian Dill
208a0c6b08
WebHost: prevent infinite spinup loop of Rooms
2022-11-04 20:07:28 +01:00
Fabian Dill
bb46ee7fc1
WebHost: optimize imports
2022-10-17 01:24:02 +02:00
black-sliver
4686881566
WebHost: CustomServer: use defaultdicts
...
also change non_hintable to defaultdict in MultiServer and add some typing
2022-09-19 01:20:36 +02:00
Fabian Dill
33103b209d
WebHost: fix error on save
2022-08-23 23:19:19 +02:00
Fabian Dill
c1e9d0ab4f
WebHost: allow customserver to skip importing worlds subsystem for hosting a Room ( #877 )
...
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
2022-08-07 18:28:50 +02:00
Fabian Dill
e47527087e
WebHost: some updates ( #603 )
...
* WebHost: Make custom server prefer ipv4 for display
* WebHost: Make server retry saving in case of connection issues
* WebHost: fix autolaunch guardians getting stuck waiting for the oldest two rooms.
Probably not related to the issues of the system itself getting stuck, but should be fixed anyway.
* WebHost: logfile is meant to be guarded by access cookie
* WebHost: set patch target to null if port is not valid, disabling auto-connect
2022-06-08 00:35:35 +02:00
Fabian Dill
f8893a7ed3
WebHost: check uploads against zip magic number instead of .zip
2022-01-01 17:18:48 +01:00
Fabian Dill
e7d8149d74
LttP Docs: reword instructions to not accidentally overwrite the SNI Connector with an empty file.
2021-12-03 07:01:21 +01:00
Fabian Dill
7b0b243607
MultiServer: remove promp_toolkit
2021-11-28 04:06:30 +01:00
Fabian Dill
43323e59ce
Logging Revamp
2021-11-10 15:35:43 +01:00
Fabian Dill
34eba2655e
MultiServer: add !collect and collect_mode
...
CommonClient: make missing and checked location lookups faster
FactorioClient: implement reverse grant technologies for collect/forfeit/coop
2021-10-18 22:58:29 +02:00
Fabian Dill
4d4af9d74e
WebHost: Guard each Room via file-lock
2021-06-29 03:11:48 +02:00
Fabian Dill
6d15aef88a
Factorio: align tech tree sections in growing ingredient requirements
2021-04-10 18:45:11 +02:00
Fabian Dill
ea15f221ae
various fixes to WebHost
2021-04-10 15:26:30 +02:00
Fabian Dill
20b72369d8
allow basic WebHost functionality to work
2021-04-04 03:18:19 +02:00
Fabian Dill
8ebd36b5a7
update Archipelago
2021-01-03 14:32:32 +01:00
Fabian Dill
08ca4245c1
Merge branch 'main' into breaking_changes
...
# Conflicts:
# Adjuster.py
# AdjusterMain.py
# BaseClasses.py
# MultiClient.py
# MultiServer.py
# Mystery.py
# Utils.py
# WebHostLib/downloads.py
# WebHostLib/generate.py
# dumpSprites.py
# test/TestBase.py
# worlds/alttp/EntranceRandomizer.py
# worlds/alttp/Main.py
# worlds/alttp/Rom.py
2021-01-03 13:13:59 +01:00
Fabian Dill
72a3930d18
add server password default to webhost
2020-11-30 21:07:26 +01:00
Fabian Dill
4dc84e1dac
Update Webhost for generation on-site
...
uploads and tracker do not work yet
2020-10-26 00:04:58 +01:00
Fabian Dill
94dafa3c55
Open Breaking changes
2020-10-18 23:07:48 +02:00
Fabian Dill
5cd5223ae0
WebHost: Add youtube livestreaming and autogenerated multistream link
2020-07-25 22:40:24 +02:00
Fabian Dill
ac238d9b14
WebHost: Don't count exit saving as activity, thereby creating a hosting loop
2020-07-20 14:17:05 +02:00
Fabian Dill
1d036c0d3c
add compatibility server setting
2020-07-16 16:57:38 +02:00
Fabian Dill
626b6b0521
fix loading old savegames from ponyorm DB
2020-07-16 02:29:36 +02:00
Berserker66
963bb7998c
WebHost: Correct WebHost tag
2020-07-11 17:44:52 +02:00