-
-
Notifications
You must be signed in to change notification settings - Fork 4
/
config.sample.toml
167 lines (137 loc) · 5.99 KB
/
config.sample.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
# NPPS4 sample configuration file.
[main]
# This is main configuration.
# Where's the data directory?
# Path is relative to the project root directory.
data_directory = "data"
# Secret key used for various things.
# If this secret key is compromised, please change it!
# Also you definitely must change this!
secret_key = "Hello World"
# Server private key.
# You must have server private key setup alongside with your client
# patched to use the server public key.
server_private_key = "default_server_key.pem"
# Server private key password.
# If your server private key password is encrypted, specify it here.
# Alternatively, the environment variable "NPPS_KEY_PASSWORD" takes precedence
# over this value.
# IF your private key is not encrypted, specify empty string.
server_private_key_password = ""
# Server-specific data.
# Server-specific data controls server-specific variable such as live-related drops.
# A sensible default based on version 59.4 is provided.
server_data = "npps4/server_data.json"
# Session token expiration in seconds.
# If you don't want user token to expire, set this to 0.
# The default is 72 hours (3 days).
session_expiry = 259200
[database]
# This is database-related configuration.
# NPPS4 uses SQLAlchemy for its ORM mapper library.
# For supported backends, please consult SQLAlchemy page:
# https://docs.sqlalchemy.org/en/20/dialects/index.html
# Database connection string.
# If in doubt, SQLite3 is a safe choice if you don't need performance as
# SQLite3 is available as part of NPPS4 requirements to access game DB files.
# Note: An async backend must be used:
# * SQLite3: sqlite+aiosqlite
# * PostgreSQL: postgresql+asyncpg
# * MySQL/MariaDB: mysql+asyncmy, mysql+aiomysql
# For additional database backend please consult SQLAlchemy dialects:
# https://docs.sqlalchemy.org/en/20/dialects/
url = "sqlite+aiosqlite:///data/main.sqlite3"
[download]
# This is in-game-download-related configuration.
# Client requires client files to function.
# Server requires client database to function too.
# Which download backend to use? Available backends are:
# "none" - None. Any `/download/` endpoint request will result in error.
# You MUST provide the server the database file it needs in
# `<data directory>/db` folder, otherwise the server will refuse to
# start!
# "n4dlapi" - NPPS4 Download API (recommended). This is the recommended
# backend with standarized API. A reference implementation to
# host your own NPPS4 Download API is available at here:
# https://github.com/DarkEnergyProcessor/NPPS4-DLAPI
# Currently, NPPS4 requires NPPS4 Download API server that
# implements version 1 of the protocol.
# "internal" - Locally mirrored game data according to folder structure
# written in https://github.com/DarkEnergyProcessor/NPPS4-DLAPI.
# "custom" - Use custom Python script to provide downloader.
# Please see "external/custom_downloader.py" on how to implement
# your own download backend provider.
backend = "none"
# Send patched server_info.json automatically?
# This requires honky-py (installed as part of NPPS4 requirements). There's no
# reason to turn this off unless your download API or archive already provides
# patched server_info.json.
send_patched_server_info = true
[download.none]
# What's the latest client version?
client_version = "59.4"
[download.n4dlapi]
# NPPS4 Download API protocol is an RESTful-based HTTP protocol on how to
# retrieve SIF-related files.
# More information can be found in here:
# https://github.com/DarkEnergyProcessor/NPPS4-DLAPI
# Where's the NPPS4 Download API is hosted?
# This option accepts URL path without trailing slashes. For example, if your
# NPPS4 Download API server is hosted through `http://example.com/n4dlapi` and
# such that `http://example.com/n4dlapi/api/publicinfo` gives public
# information about the NPPS4 Download API server, then specify
# "http://example.com/n4dlapi"
server = "https://localhost:8000"
# What's the Shared Key used to communicate with the NPPS4 Download API
# server?
# If your NPPS4 Download API server is public, then specify empty string.
shared_key = ""
[download.internal]
# Where's the "archive-root" directory is stored?
# Path is relative to the project root directory.
archive_root = "archive-root"
[download.custom]
# Specify custom download provider script.
# Path is relative to the project root directory.
file = "external/custom_downloader.py"
[game]
# Game-specific configuration
# Specify badwords checker script.
# Path is relative to the project root directory.
badwords = "external/badwords.py"
# Specify login bonus reward generator script.
# Path is relative to the project root directory.
login_bonus = "external/login_bonus.py"
# Specify beatmap provider script.
# Path is relative to the project root directory.
beatmaps = "external/beatmap.py"
# Specify Live Show! unit drop script.
# Path is relative to the project root directory.
live_unit_drop = "external/live_unit_drop.py"
# Specify Live Show! Reward Box drop script.
# Path is relative to the project root directory.
live_box_drop = "external/live_box_drop.py"
[iex]
# This is account import/export setting.
# Feel free to change as needed, but consider it when exposing them.
# Enable account data export.
# Export UI can be accessed through /webview.php/helper/export
enable_export = true
# Enable account data import.
# Import UI can be accessed through /webview.php/helper/import
enable_import = false
# When importing account through import UI, bypass any signature check.
# Normally, only account exported with same "main.secret_key" can be imported
# back.
bypass_signature = false
[advanced]
# This is advanced configuration.
# In most cases, you don't have to change anything.
# Base XORPAD key.
base_xorpad = "eit4Ahph4aiX4ohmephuobei6SooX9xo"
# The server application key.
application_key = "b6e6c940a93af2357ea3e0ace0b98afc"
# Consumer key.
consumer_key = "lovelive_test"
# Should be the X-Message-Code sent by client be verified?
verify_xmc = true