mirror of
https://github.com/Lost-MSth/Arcaea-server.git
synced 2025-12-14 08:06:23 +08:00
- Add support for missions - PTT mechanism: Change first play protection to new best protection - Adapt to the new difficulty ETR - Uncap DORO*C - Incomplete support for "pick_ticket" - Fix requirements: cryptography >= 35.0.0 Note: This is an intermediate test version, only for Arcaea 5.4.0c. Next version will adapt to 5.4.0.
106 lines
2.5 KiB
Python
106 lines
2.5 KiB
Python
class Config:
|
|
'''
|
|
Default config
|
|
'''
|
|
|
|
HOST = '0.0.0.0'
|
|
PORT = 80
|
|
|
|
DEPLOY_MODE = 'flask_multithread'
|
|
USE_PROXY_FIX = False
|
|
USE_CORS = False
|
|
|
|
SONG_FILE_HASH_PRE_CALCULATE = True
|
|
|
|
GAME_API_PREFIX = '/saikyoukaze/27' # str | list[str]
|
|
OLD_GAME_API_PREFIX = [] # str | list[str]
|
|
|
|
ALLOW_APPVERSION = [] # list[str]
|
|
|
|
SET_LINKPLAY_SERVER_AS_SUB_PROCESS = True
|
|
|
|
LINKPLAY_HOST = '0.0.0.0'
|
|
LINKPLAY_UDP_PORT = 10900
|
|
LINKPLAY_TCP_PORT = 10901
|
|
LINKPLAY_AUTHENTICATION = 'my_link_play_server'
|
|
LINKPLAY_DISPLAY_HOST = ''
|
|
LINKPLAY_TCP_SECRET_KEY = '1145141919810'
|
|
|
|
SSL_CERT = ''
|
|
SSL_KEY = ''
|
|
|
|
IS_APRILFOOLS = True
|
|
|
|
WORLD_RANK_MAX = 200
|
|
|
|
AVAILABLE_MAP = [] # list[str]
|
|
|
|
USERNAME = 'admin'
|
|
PASSWORD = 'admin'
|
|
|
|
SECRET_KEY = '1145141919810'
|
|
|
|
API_TOKEN = ''
|
|
|
|
DOWNLOAD_LINK_PREFIX = ''
|
|
|
|
DOWNLOAD_USE_NGINX_X_ACCEL_REDIRECT = False
|
|
NGINX_X_ACCEL_REDIRECT_PREFIX = '/nginx_download/'
|
|
|
|
DOWNLOAD_TIMES_LIMIT = 3000
|
|
DOWNLOAD_TIME_GAP_LIMIT = 1000
|
|
|
|
DOWNLOAD_FORBID_WHEN_NO_ITEM = False
|
|
|
|
LOGIN_DEVICE_NUMBER_LIMIT = 1
|
|
ALLOW_LOGIN_SAME_DEVICE = False
|
|
ALLOW_BAN_MULTIDEVICE_USER_AUTO = True
|
|
|
|
ALLOW_SCORE_WITH_NO_SONG = True
|
|
|
|
ALLOW_INFO_LOG = False
|
|
ALLOW_WARNING_LOG = False
|
|
|
|
DEFAULT_MEMORIES = 0
|
|
|
|
UPDATE_WITH_NEW_CHARACTER_DATA = True
|
|
|
|
CHARACTER_FULL_UNLOCK = True
|
|
WORLD_SONG_FULL_UNLOCK = True
|
|
WORLD_SCENERY_FULL_UNLOCK = True
|
|
|
|
SAVE_FULL_UNLOCK = False
|
|
|
|
ALLOW_SELF_ACCOUNT_DELETE = False
|
|
|
|
# ------------------------------------------
|
|
|
|
# You can change this to make another PTT mechanism.
|
|
BEST30_WEIGHT = 1 / 40
|
|
RECENT10_WEIGHT = 1 / 40
|
|
|
|
MAX_FRIEND_COUNT = 50
|
|
|
|
WORLD_MAP_FOLDER_PATH = './database/map/'
|
|
SONG_FILE_FOLDER_PATH = './database/songs/'
|
|
SONGLIST_FILE_PATH = './database/songs/songlist'
|
|
SQLITE_DATABASE_PATH = './database/arcaea_database.db'
|
|
SQLITE_DATABASE_BACKUP_FOLDER_PATH = './database/backup/'
|
|
DATABASE_INIT_PATH = './database/init/'
|
|
SQLITE_LOG_DATABASE_PATH = './database/arcaea_log.db'
|
|
SQLITE_DATABASE_DELETED_PATH = './database/arcaea_database_deleted.db'
|
|
|
|
GAME_LOGIN_RATE_LIMIT = '30/5 minutes'
|
|
API_LOGIN_RATE_LIMIT = '10/5 minutes'
|
|
|
|
|
|
class ConfigManager:
|
|
|
|
@staticmethod
|
|
def load(config) -> None:
|
|
for k, v in config.__dict__.items():
|
|
if k.startswith('__') or k.endswith('__'):
|
|
continue
|
|
if hasattr(Config, k):
|
|
setattr(Config, k, v)
|