mirror of
https://github.com/ArchipelagoMW/Archipelago.git
synced 2026-07-11 12:09:24 -07:00
e6e0bc3042
* Added ability to define custom port ranges the WebHost will use for game servers, instead of pure random. * - Added better fallback to default port range when a custom range fails - Updated config to be clearer * Added ability to define custom port ranges the WebHost will use for game servers, instead of pure random. * - Added better fallback to default port range when a custom range fails - Updated config to be clearer * Updated soft-fail message * Removed dead import from customserver.py * Update requirements.txt Settings requirements to main core branch * fix what reviewers said and add some improvements * remove unused argument * try fixing test with try * use yaml lists instead of string for config * fix value type bug on ephemeral type * reuse sockets with websockets api instead of opening and closing them * add used ports cache and filter used ports when looking for ports * fix port randomizer * Apply suggestions from code review Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com> * fix some reviews * use weights for random port and remove more-itertools * fix net_connections not working on macOS * rename variables and functions * lazy init `get_used_ports` * change `game_ports` to be `tuple` * fix last_used_ports not being updated locally * fix random choices and move game_port conversion into tuple * Apply suggestions from code review Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com> * use a named tuple on parse_game_ports * only use ranges * do it the duck way * this should check all usable ports before failing * fix while loop * add return type to weighted random * Update WebHostLib/customserver.py Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * simplify tuple conversion check * add tests * reformat file and change `create_random_port_socket` test * add more test cases for parse_game_ports * try to prevent busy-looping on create random port socket when doing test * simplify parse game port tests to one assertListEqual * make the range lesser for port test * reduce range on macOS * Apply suggestions from code review Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * Update WebHostLib/customserver.py Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> * remove unused import * Update WebHostLib/customserver.py Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> * use generator expressions * check for 0-tuple * use some kind of shuffled queue * update tests * refactor new port handling into a class (#1) * change time to monotonic * Update docs/webhost configuration sample.yaml Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * add psutil 7.2.2 as requirement * Update WebHostLib/requirements.txt Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> --------- Co-authored-by: Lexipherous <jasonnlelong@gmail.com> Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com> Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
66 lines
2.2 KiB
YAML
66 lines
2.2 KiB
YAML
# This is a sample configuration for the Web host.
|
|
# If you wish to change any of these, rename this file to config.yaml
|
|
# Default values are shown here. Uncomment and change the values as desired.
|
|
|
|
# TODO
|
|
#SELFHOST: true
|
|
|
|
# Maximum concurrent world gens
|
|
#GENERATORS: 8
|
|
|
|
# TODO
|
|
#SELFLAUNCH: true
|
|
|
|
# TODO
|
|
#DEBUG: false
|
|
|
|
# Web hosting port
|
|
#PORT: 80
|
|
|
|
# Ports used for game hosting. Values can be specific ports, port ranges or both. Default is: [49152-65535, 0]
|
|
# Zero means it will use a random free port if there is no free port in the ranges specified
|
|
# Examples of valid values: [40000-41000, 49152-65535]
|
|
# If ports within the range(s) are already in use, the WebHost will fallback to the default [49152-65535, 0] range.
|
|
#GAME_PORTS: [49152-65535, 0]
|
|
|
|
# Place where uploads go.
|
|
#UPLOAD_FOLDER: uploads
|
|
|
|
# Maximum upload size. Default is 64 megabyte (64 * 1024 * 1024)
|
|
#MAX_CONTENT_LENGTH: 67108864
|
|
|
|
# Secret key used to determine important things like cookie authentication of room/seed page ownership.
|
|
# If you wish to deploy, uncomment the following line and set it to something not easily guessable.
|
|
# SECRET_KEY: "Your secret key here"
|
|
|
|
# Slot limit to post a generation to Generator process pool instead of rolling directly in WebHost process
|
|
#JOB_THRESHOLD: 1
|
|
|
|
# After what time in seconds should generation be aborted, freeing the queue slot. Can be set to None to disable.
|
|
#JOB_TIME: 600
|
|
|
|
# Memory limit for Generator processes in bytes, -1 for unlimited. Currently only works on Linux.
|
|
#GENERATOR_MEMORY_LIMIT: 4294967296
|
|
|
|
# waitress uses one thread for I/O, these are for processing of view that get sent
|
|
#WAITRESS_THREADS: 10
|
|
|
|
# Database provider details:
|
|
#PONY:
|
|
# provider: "sqlite"
|
|
# filename: "ap.db3" # This MUST be the ABSOLUTE PATH to the file.
|
|
# create_db: true
|
|
|
|
# Maximum number of players that are allowed to be rolled on the server. After this limit, one should roll locally and upload the results.
|
|
#MAX_ROLL: 20
|
|
|
|
# TODO
|
|
#CACHE_TYPE: "simple"
|
|
|
|
# Host Address. This is the address encoded into the patch that will be used for client auto-connect.
|
|
#HOST_ADDRESS: archipelago.gg
|
|
|
|
# Asset redistribution rights. If true, the host affirms they have been given explicit permission to redistribute
|
|
# the proprietary assets in WebHostLib
|
|
#ASSET_RIGHTS: false
|