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
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
Silvris
b372b02273
OptionCreator: 0.6.6 reported issues ( #5949 )
2026-03-04 19:47:30 +01:00
black-sliver
f26313367e
MultiServer: graceful shutdown for ctrl+c and sigterm ( #5996 )
2026-03-04 00:02:12 +01:00
Fabian Dill
a3e8f69909
Core: introduce finalize_multiworld and pre_output stages ( #5700 )
...
Co-authored-by: Ishigh1 <bonjour940@yahoo.fr >
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com >
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com >
2026-03-01 17:53:41 +01:00
Fabian Dill
922c7fe86a
Core: allow async def functions as commands ( #5859 )
2026-03-01 17:51:56 +01:00
Duck
e49ba2ff6f
Undertale: Use check_locations helper to avoid redundant sends ( #5993 )
2026-03-01 01:30:26 +01:00
Doug Hoskisson
61d5120f66
Core: use typing_extensions deprecated ( #5989 )
2026-03-01 00:14:33 +01:00
Chris W
ff5402c410
Fix(undertale): prevent massive bounce msg spam for position updates ( #5990 )
...
* fix(undertale): prevent massive bounce msg spam for position updates
* make sure player is removed on leaving / timing out
* do not check for tags: online, as bounce evaluation is or'd
2026-02-28 22:56:28 +00:00
black-sliver
fcccbfca65
MultiServer: don't keep multidata alive for race_mode ( #5980 )
2026-02-26 18:31:39 +00:00
black-sliver
2db5435474
CI: upgrade InnoSetup to 6.7.0 ( #5979 )
2026-02-26 10:34:23 +01:00
Aaron Wagener
eeb022fa0c
The Messenger: minor maintenance ( #5965 )
2026-02-26 02:24:50 +01:00
Duck
b30b2ecb07
Return new state man (Vi's note: I have chosen not to change this title) ( #5978 )
2026-02-25 20:52:34 +01:00
DrAwesome4333
699ca8adf6
WebHost: Add CORS headers to API Endpoints ( #5777 )
2026-02-25 02:47:54 +01:00
Silvris
fefd790de6
ALTTP: remove world: MultiWorld and typing ( #5974 )
2026-02-24 18:43:42 +01:00
Fabian Dill
d83da1b818
WebHost: memory leak fixes ( #5966 )
2026-02-22 21:22:22 +01:00
Mysteryem
0de09cd794
Core: Better scaling explicit indirect conditions ( #4582 )
...
* Core: Better scaling explicit indirect conditions
When the number of connections to retry was large and `queue` was large
`new_entrance not in queue` would get slow.
For the average supported world, the difference this change makes is
negligible.
For a game like Blasphemous, with a lot of explicit indirect conditions,
generation of 10 template Blasphemous yamls with
`--skip_output --seed 1` and progression balancing disabled went from
19.0s to 17.9s (5.9% reduction in generation duration).
* Create a new variable for the new set created from the intersection
2026-02-21 15:16:57 +01:00
Ixrec
48c201af19
Docs: Replace the 'true filler' weasel words in adding games.md's mention of get_filler_item_name() ( #5958 )
...
* replace the 'true filler' weasel words with a clear term defined by the linked method's docstring
* Update docs/adding games.md
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com >
---------
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com >
2026-02-20 21:43:34 +01:00
BroOtti
b0300d3063
Factorio: Update Download Image in guides ( #5953 )
2026-02-19 22:46:23 +01:00
Mysteryem
e0e34894a3
HK: Fix cached filler item names persisting between generations ( #5950 )
...
HK's `get_filler_item_name` was writing lists into a ClassVar[dict] on
the `HKWorld` class. This dict would not be cleaned out between
generations on the same process, leaving behind cached data from
previous generations.
I confirmed the issue when running single-slot generations on a local
webhost, where `self.cached_filler_items` could be already populated
during `HKWorld.__init__()`.
This has been fixed by putting an individual cache list on each HKWorld
instance, instead of a shared cached on the class.
2026-02-19 20:50:13 +01:00
Mysteryem
18e3a8911f
Saving Princess: Fix each slot sharing the same music_table ( #5952 )
...
`music_table` was initialized on the `SavingPrincessWorld` *class*, so
was being shared by each Saving Princess slot in the multiworld.
This has been fixed by initializing the `music_table` attribute on each
`SavingPrincessWorld` *instance* in `generate_early()` instead.
2026-02-19 20:13:54 +01:00
Ian Robinson
c505b1c32c
Core: Add missing args to rule builder inits ( #5912 )
...
* add filtered_resolution to inits
* update from_dict calls too
2026-02-18 22:40:16 +01:00
Silvris
e22e434258
Options: support "random" and variations for OptionSet with defined valid_keys ( #4418 )
...
* seemingly works? needs testing
* attempt docs update
* move to verify resolution (keep?)
* account for no valid keys and "random" being passed
* Update advanced_settings_en.md
* Update Options.py
Co-authored-by: qwint <qwint.42@gmail.com >
* Update Options.py
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com >
* unify random handling between range and set
* Update Options.py
* Update Options.py
* Update Options.py
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com >
* super is weird
* fix item/location
* remove groups from options
* unittest
* pep8
* Update Options.py
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com >
* Update Options.py
---------
Co-authored-by: qwint <qwint.42@gmail.com >
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com >
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com >
2026-02-18 21:16:04 +01:00