black-sliver
e8dc0dc592
Merge remote-tracking branch 'imurx/custom-port-range' into active/rc-site
2026-03-10 22:05:58 +01:00
black-sliver
e8f014fcc8
Merge branch 'feat/data-package-cache' into active/rc-site
2026-03-10 22:00:09 +01:00
josephwhite
4b37283d22
WebHost: Update UTC datetime usage (timezone-naive) ( #4906 )
2026-03-10 18:57:48 +01:00
Uriel
d57b3078b5
use generator expressions
2026-03-09 16:41:17 -03:00
Uriel
baad3ceede
Update WebHostLib/customserver.py
...
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com >
2026-03-09 16:33:54 -03:00
Uriel
805b978403
Apply suggestions from code review
...
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com >
2026-03-09 13:55:34 -03:00
Uriel
aff006a85f
Update WebHostLib/customserver.py
...
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com >
2026-03-09 07:00:44 -03:00
Uriel
2725720406
reformat file and change create_random_port_socket test
2026-03-08 07:01:29 -03:00
Uriel
10d2908339
add tests
2026-03-08 06:32:22 -03:00
Uriel
9653c8d29c
simplify tuple conversion check
2026-03-07 22:50:04 -03:00
Uriel
62afec9733
Update WebHostLib/customserver.py
...
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com >
2026-03-07 22:24:13 -03:00
Uriel
62f56e165a
add return type to weighted random
2026-03-07 18:10:44 -03:00
Uriel
eebd83df76
fix while loop
2026-03-07 17:48:21 -03:00
Uriel
33f03387c4
this should check all usable ports before failing
2026-03-07 17:37:50 -03:00
Uriel
779dd46658
do it the duck way
2026-03-07 17:26:54 -03:00
Uriel
4ea7fbbcba
only use ranges
2026-03-07 17:18:03 -03:00
Uriel
9ab7c56791
use a named tuple on parse_game_ports
2026-03-07 17:13:50 -03:00
Uriel
e2823aa044
Apply suggestions from code review
...
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com >
2026-03-07 16:52:57 -03:00
Uriel
368eafae86
fix random choices and move game_port conversion into tuple
2026-03-07 16:30:20 -03:00
Uriel
6779b4fcf3
fix last_used_ports not being updated locally
2026-03-07 15:09:53 -03:00
Uriel
6a94a9e6ca
change game_ports to be tuple
2026-03-07 15:02:08 -03:00
Uriel
c290386950
lazy init get_used_ports
2026-03-07 14:59:33 -03:00
Uriel
60773ddf83
rename variables and functions
2026-03-07 14:43:06 -03:00
Uriel
980a229aaa
fix net_connections not working on macOS
2026-03-05 19:07:44 -03:00
black-sliver
821645a881
MultiServer, customserver: cache: rename module
2026-03-05 22:17:10 +01:00
Uriel
f03d1cad3e
use weights for random port and remove more-itertools
2026-03-05 17:01:08 -03:00
Uriel
551dbf44f6
fix some reviews
2026-03-05 16:03:29 -03:00
Uriel
61f893437a
Apply suggestions from code review
...
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com >
2026-03-05 15:51:09 -03:00
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
black-sliver
9c00b546dd
MultiServer, customserver: minor formatting fixes
2026-02-27 01:24:52 +01:00
black-sliver
9489a950cb
MultiServer, customserver: move data package handling
...
Create a new class that handles conversion worlds+embedded -> context data.
Create a derived class that uses static_server_data+pony instead.
There is also a not very efficient feature to deduplicate strings (may need perf testing).
By moving code around, we can simplify a lot of the world loading.
Where code lines were touched, some typing and some reformatting was added.
The back compat for GetDataPackage without games was finally dropped.
This was done as a cleanup because the refactoring touched those lines anyway.
Also reworked the per-context dicts and the RoomInfo to hopefully be more efficient
by ignoring unused games. (Generating the list of used games was required for the new
code anyway.)
Side effect of the MultiServer cache: we now load worlds lazily (but still all at once)
and don't modify the games package in place. If needed we create copies.
This almost gets us to the point where MultiServer doesn't need worlds - it still needs
them for the forbidden items.
There is a bonus optimization that deduplicates strings in name_groups that may have bad
performance and may need some perf testing if we run into issues.
2026-02-27 00:53:34 +01: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