Charles

下载安装

下载安装
激活网站
打开安装好的Charles,菜单栏 Help-Register Charles 弹出注册的窗口填入Registered Name和生成的license key,点击 Register

使用

打开Charles,找到help-SSL Proxying-Install Charles Root Certificate

然后proxy-macOS proxy打开,理论上现在就可以开始抓包了

Arcaea-Server私服搭建

安装Arcaea-Server

这里下载服务端
运行环境

安装运行环境

1
pip install -r requirements.txt

注意:在Linux和macOS请使用

1
pip3 install -r requirements.txt

如果网络有问题,请使用

1
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ -r requirements.txt

相应的,在Linux和macOS请使用

1
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ -r requirements.txt

主服务端配置

在文件已经写的很明白了,这边放出我的配置作为参考

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
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
class Config():
'''
This is the example setting file.
The user's setting file's name is `config.py`.
'''

'''
--------------------
主机的地址和端口号
Host and port of your server
'''
HOST = '0.0.0.0'
PORT = 82
'''
--------------------
'''

'''
--------------------
游戏API地址前缀
Game API's URL prefix
'''
GAME_API_PREFIX = ["/autumnequinox/33", "/join/21"]
'''
--------------------
'''

'''
--------------------
允许使用的游戏版本,若为空,则默认全部允许
Allowed game versions
If it is blank, all are allowed.
'''
ALLOW_APPVERSION = []
'''
--------------------
'''

'''
--------------------
联机功能相关设置,请确保与Link Play服务器端的设置一致
Setting of your link play server
Please ensure that the settings on the side of Link Play server are consistent.
'''
# SET_LINKPLAY_SERVER_AS_SUB_PROCESS: 是否同时在本地启动Link Play服务器
# SET_LINKPLAY_SERVER_AS_SUB_PROCESS: If it is `True`, the link play server will run with the main server locally at the same time.
SET_LINKPLAY_SERVER_AS_SUB_PROCESS = True
# LINKPLAY_HOST: 对主服务器来说的Link Play服务器的地址
# LINKPLAY_HOST: The address of the linkplay server based on the main server. If it is blank, the link play feature will be disabled.
LINKPLAY_HOST = '0.0.0.0'
LINKPLAY_UDP_PORT = 10900
LINKPLAY_TCP_PORT = 10901
LINKPLAY_AUTHENTICATION = 'my_link_play_server'
# LINKPLAY_DISPLAY_HOST: 对客户端来说的Link Play服务器地址,如果为空,则自动获取
# LINKPLAY_DISPLAY_HOST: The address of the linkplay server based on the client. If it is blank, the host of link play server for the client will be obtained automatically.
LINKPLAY_DISPLAY_HOST = ''
'''
--------------------
'''

'''
--------------------
SSL证书路径
留空则使用HTTP
SSL certificate path
If left blank, use HTTP.
'''
SSL_CERT ='put-your-cert-here' # *.pem
SSL_KEY ='put-your-key-here' # *.key
'''
--------------------
'''

'''
--------------------
愚人节模式开关
Switch of April Fool's Day
'''
IS_APRILFOOLS = True
'''
--------------------
'''

'''
--------------------
世界排名的最大显示数量
The largest number of global rank
'''
WORLD_RANK_MAX = 200
'''
--------------------
'''

'''
--------------------
世界模式当前活动图设置
Current available maps in world mode
'''
AVAILABLE_MAP = [] # Ex. ['test', 'test2']
'''
--------------------
'''

'''
--------------------
Web后台管理页面的用户名和密码
Username and password of web background management page
'''
USERNAME = 'admin'
PASSWORD = 'password'
'''
--------------------
'''

'''
--------------------
Web后台管理页面的session秘钥,如果不知道是什么,请不要修改
Session key of web background management page
If you don't know what it is, please don't modify it.
'''
SECRET_KEY = '1145141919810'
'''
--------------------
'''

'''
--------------------
API接口完全控制权限Token,留空则不使用
API interface full control permission Token
If you don't want to use it, leave it blank.
'''
API_TOKEN = ''
'''
--------------------
'''

'''
--------------------
歌曲下载地址前缀,留空则自动获取
Song download address prefix
If left blank, it will be obtained automatically.
'''
DOWNLOAD_LINK_PREFIX = '' # http://***.com/download/
'''
--------------------
'''

'''
--------------------
玩家歌曲下载的24小时次数限制,每个文件算一次
Player's song download limit times in 24 hours, once per file
'''
DOWNLOAD_TIMES_LIMIT = 3000
'''
歌曲下载链接的有效时长,单位:秒
Effective duration of song download link, unit: seconds
'''
DOWNLOAD_TIME_GAP_LIMIT = 1000
'''
--------------------
'''

'''
--------------------
Arcaea登录的最大允许设备数量,最小值为1
The maximum number of devices allowed to log in Arcaea, minimum: 1
'''
LOGIN_DEVICE_NUMBER_LIMIT = 3
'''
是否允许同设备多应用共存登录
请注意,这个选项设置为True时,下一个选项将自动变为False
If logging in from multiple applications on the same device is allowed
Note that when this option is set to True, the next option automatically becomes False
'''
ALLOW_LOGIN_SAME_DEVICE = True
'''
24小时内登陆设备数超过最大允许设备数量时,是否自动封号(1天、3天、7天、15天、31天)
When the number of login devices exceeds the maximum number of devices allowed to log in Arcaea within 24 hours, whether the account will be automatically banned (1 day, 3 days, 7 days, 15 days, 31 days)
'''
ALLOW_BAN_MULTIDEVICE_USER_AUTO = False
'''
--------------------
'''

'''
--------------------
是否记录详细的服务器日志
If recording detailed server logs is enabled
'''
ALLOW_INFO_LOG = False
ALLOW_WARNING_LOG = False
'''
--------------------
'''

'''
--------------------
用户注册时的默认记忆源点数量
The default amount of memories at the time of user registration
'''
DEFAULT_MEMORIES = 0
'''
--------------------
'''

'''
--------------------
数据库更新时,是否采用最新的角色数据,如果你想采用最新的官方角色数据
注意:如果是,旧的数据将丢失;如果否,某些角色的数据变动将无法同步
If using the latest character data when updating database. If you want to only keep newest official character data, please set it `True`.
Note: If `True`, the old data will be lost; If `False`, the data changes of some characters will not be synchronized.
'''
UPDATE_WITH_NEW_CHARACTER_DATA = True
'''
--------------------
'''

'''
--------------------
是否全解锁搭档
If unlocking all partners is enabled
'''
CHARACTER_FULL_UNLOCK = True
'''
--------------------
'''

'''
--------------------
是否全解锁世界歌曲
If unlocking all world songs is enabled
'''
WORLD_SONG_FULL_UNLOCK = True
'''
--------------------
'''

'''
--------------------
是否全解锁世界场景
If unlocking all world sceneries is enabled
'''
WORLD_SCENERY_FULL_UNLOCK = True
'''
--------------------
'''

'''
--------------------
是否强制使用全解锁云端存档
If forcing full unlocked cloud save is enabled
请注意,当前对于最终结局的判定为固定在`Testify`解锁之前
Please note that the current setting of the finale state is before the unlock of `Testify`
'''
SAVE_FULL_UNLOCK = True
'''
--------------------
'''

请注意:将SSL_CERT和SSL_KEY改为你的证书目录
将USERNAME和PASSWORD改为你的,默认为admin和password

运行

在windows请双击run.bat
macOS/Linux

1
python main.py

如果有问题

1
python3 main.py

谱面定数

在database/songs中,存储songid和songlist
官方谱面的定数表可以从这里找到

使用Charles进行DNS劫持

配置DNS劫持

打开Charles,在tools-Map Remote里,添加:
from: https://arcapi-v3.lowiro.com/ port443 to https://your-server-domain.com/ port82
然后钩上Map Remote

还是在这里,找到Install Charles Root Certificate on a Mobile Device or Remote Browser
然后在系统终端输入

1
ifconfig | grep inet

或者在windows中

1
ipconfig

找到192.168开头的,打开shadowrocket,添加本地节点,IP输入刚才获取的inet,端口输入8888,模式选http
在proxy- proxy settings里,把两个都钩上,然后这样配置:

OK,现在打开VPN,然后Install Charles Root Certificate on a Mobile Device or Remote Browser,它会提示这个

照做即可
安装好证书后,现在浏览器打开 https://arcapi-v3.lowiro.com/ 它应该会提示“hello world!”就说明成功了
恭喜,你已经完成了arcaea-server的安装,可以尽情游戏了!
后台配置在https://your-domain.com:82/web
记得开端口82 10900 10901 tcp/udp都开

最后

欢迎来我的服务器玩,有意请邮箱联系我
arcaea@nekonekoniko120.com