Uriel
08a6ee2b3a
fix port randomizer
2026-03-05 11:15:33 -03:00
Uriel
b0615590fc
add used ports cache and filter used ports when looking for ports
2026-03-05 10:34:33 -03:00
Uriel
0a0faefab2
reuse sockets with websockets api instead of opening and closing them
2026-03-05 09:53:23 -03:00
Uriel
d6473fa0ed
fix value type bug on ephemeral type
2026-03-05 08:42:09 -03:00
Uriel
f8b730308d
use yaml lists instead of string for config
2026-03-05 08:35:51 -03:00
Uriel
8800124c4e
try fixing test with try
2026-03-05 08:08:45 -03:00
Uriel
88dc83e557
remove unused argument
2026-03-05 07:47:32 -03:00
Uriel
ed77f58f13
fix what reviewers said and add some improvements
2026-03-05 07:42:33 -03:00
Uriel
9b098d6f6a
Merge branch 'main' into custom-port-range
2026-03-05 05:16:44 -03:00
Fabian Dill
d83da1b818
WebHost: memory leak fixes ( #5966 )
2026-02-22 21:22:22 +01:00
black-sliver
8dee460397
customserver: don't set last_activity that will be overwritten later ( #5844 )
2026-01-17 13:46:20 +01:00
black-sliver
e907980ff0
MultiServer: slight optimizations ( #5527 )
...
* Core: optimize MultiServer.Client
* Core: optimize websocket compression settings
2025-10-08 02:22:34 +02:00
black-sliver
91e97b68d4
Webhost: eagerly free resources in customserver ( #5512 )
...
* Unref some locals that would live long for no reason.
* Limit scope of db_session in init_save.
2025-10-05 03:49:56 +02:00
Duck
a36e6259f1
Core: Add restricted_dumps helper ( #5117 )
...
* Add pickling helper that check unpicklability
* Add test condition and generation error handling
* Fix incorrect call and make imports consistent
* Fix newline padding
* Change PicklingError to directly caused by UnpicklingError
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com >
* Revert to `pickle.dumps` for decompressed multidata
* Fix import order
* Restore pickle import in main
* Re-add for multidata in Main
* Remove multisave checks
* Update MultiServer.py
* Update customserver.py
---------
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com >
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com >
2025-07-26 23:01:40 +02:00
black-sliver
63fbcc5fc8
WebHost: custom proc title for Generator and MultiHoster ( #4310 )
...
* WebHost: custom proctitle for Generator and MultiHoster
* Update setproctitle to 1.3.5
2025-04-06 13:50:24 +02:00
Fabian Dill
cad217af19
Core: update cert file daily in customserver.py ( #4454 )
2025-04-06 05:31:14 +02:00
Lexipherous
60f6f0f8a8
Merge branch 'main' into main
2025-03-21 09:57:36 +00:00
NewSoupVi
b7fc96100c
Revert "Core: update websockets ( #4732 )" ( #4753 )
...
This reverts commit 42eaeb92f0 .
2025-03-19 01:39:18 +01:00
Lexipherous
16b47b0a7f
Merge branch 'main' into main
2025-03-18 16:13:59 +00:00
lexipherous
41b0c7edc6
Removed dead import from customserver.py
2025-03-18 16:06:48 +00:00
Fabian Dill
42eaeb92f0
Core: update websockets ( #4732 )
2025-03-16 22:13:12 +01:00
black-sliver
8349774c5c
customserver: ignore static datapackage optimization for old games ( #4650 )
2025-02-16 23:51:36 +01:00
Lexipherous
4d5853d8e3
Merge branch 'main' into HEAD
...
# Conflicts:
# WebHostLib/autolauncher.py
# WebHostLib/customserver.py
2025-02-09 17:45:26 +00:00
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
Lexipherous
8f4e4cf6b2
Updated soft-fail message
2024-02-04 18:47:08 +00:00
Lexipherous
6dd2367696
Merge tag '0.4.4' into HEAD
2024-01-07 17:59:10 +00: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
Lexipherous
9aae61ce0e
Merge remote-tracking branch 'origin/main' into HEAD
...
# Conflicts:
# WebHostLib/customserver.py
2023-11-26 23:37:40 +00: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
Lexipherous
1815645994
- Added better fallback to default port range when a custom range fails
...
- Updated config to be clearer
2023-09-09 14:50:37 +01:00
Lexipherous
b326045cb7
Added ability to define custom port ranges the WebHost will use for game servers, instead of pure random.
2023-09-09 14:50:37 +01: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