forked from Hanabi/hanabi-league
56 lines
1.8 KiB
Python
56 lines
1.8 KiB
Python
# This file should only contain constants that we use throughout the program,
|
|
# i.e. stuff that might be changed at some point, but not changed on user-level
|
|
# It's not meant to include all string constants or anything, just the ones that are important for functioning.
|
|
|
|
APP_NAME = 'hanabi-league'
|
|
DB_CONFIG_FILE_NAME = 'db_config.yaml'
|
|
CONFIG_FILE_NAME = 'config.yaml'
|
|
|
|
DEFAULT_DB_NAME = 'hanabi-league'
|
|
DEFAULT_DB_USER = 'hanabi-league'
|
|
DEFAULT_DB_PASS = 'hanabi-league'
|
|
|
|
DB_TABLE_NAMES = [
|
|
"users"
|
|
, "user_accounts"
|
|
, "downloads"
|
|
, "variants"
|
|
, "games"
|
|
, "game_participants"
|
|
, "game_actions"
|
|
, "seeds"
|
|
, "variant_base_ratings"
|
|
, "variant_ratings"
|
|
, "user_base_ratings"
|
|
, "user_ratings"
|
|
, "statistics"
|
|
]
|
|
|
|
DATABASE_SCHEMA_PATH = 'install/database_schema.sql'
|
|
DEFAULT_DB_CONFIG_PATH = 'install/default_db_config.yaml'
|
|
DEFAULT_CONFIG_PATH = 'install/default_config.yaml'
|
|
|
|
VARIANTS_JSON_URL = 'https://raw.githubusercontent.com/Hanabi-Live/hanabi-live/main/packages/game/src/json/variants.json'
|
|
|
|
FORBIDDEN_GAME_OPTIONS = [
|
|
"deckPlays"
|
|
, "emptyClues"
|
|
, "oneExtraCard"
|
|
, "oneLessCard"
|
|
, "allOrNothing"
|
|
, "detrimentalCharacters"
|
|
]
|
|
|
|
# Cache time (in seconds) for history requests of players
|
|
# In case of frequent reruns (especially during development), we do not want to stress the server too much.
|
|
USER_HISTORY_CACHE_TIME = 60 * 60
|
|
|
|
# Fraction of seeds which is assumed to be unwinnable
|
|
UNWINNABLE_SEED_FRACTION = 0.02
|
|
|
|
WEBSITE_OUTPUT_DIRECTORY = 'build'
|
|
|
|
ENDGAME_MAX_DRAW_PILE_SIZE = 15 # Not interested in game states with more than 15 cards, this should be enough.
|
|
ENDGAME_MEMORY_BYTES = 4 * 1024 * 1024 * 1024 # 4 GB of memory
|
|
ENDGAME_TIMEOUT_SECONDS = 60 * 15 # 15 Minutes per game by default
|
|
ENDGAME_ANALYSIS_QUERY_INTERVAL_MINUTES = 5 # Re-query database every 5 minutes
|