Giter Club home page Giter Club logo

arcaea-server's Introduction

Profile

  • NOT a professional programmer
  • NOT a full stack developer
  • NOT major in Computer Science
  • JUST a student who majors in Physics

So I may make many bugs and cannot program according to standard. Sorry. :(

Likes

  • Itsuka Kotori :)
  • Maths, Physics, Computer Science...
  • LOL, Sdorica, Genshin Impact, Honkai: Star Rail, Date A Live Spirit Pledge
  • Many music games, including osu!std, Arcaea, Deemo, Cytus 1/2, Cytoid, osu!droid, Dynamix, Malody
  • Animations, light novels, comics, galgames
  • Other games played before, such as COD, CS, RA2, MC and some small games (RPG, SLG, ADV, ...)

Languages

  • Skilled
    • Python
  • General
    • MATLAB
    • SQL
    • RenPy
    • Cython
    • LaTeX
    • Mathematica
  • Able
    • C
    • Fortran
    • JavaScript (Vue 3)
  • Used previously
    • Pascal (FP)
    • Basic (VB, QB, FB)

Contact me

Email: [email protected]

Github Stats

Most Used Languages

arcaea-server's People

Contributors

lost-msth avatar mbrjun avatar menci avatar superdxz avatar young-lord avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

arcaea-server's Issues

在linux运行时出现的错误

在运行main. py时出现了下面的错误
(tutorial-env) [root@localhost v2.10.1]# python -B main.py
Traceback (most recent call last):
File "main.py", line 25, in
import api
File "/opt/ffg/v2.10.1/api/init.py", line 3, in
from . import users
File "/opt/ffg/v2.10.1/api/users.py", line 2, in
from core.score import Potential, UserScoreList
File "/opt/ffg/v2.10.1/core/score.py", line 10, in
from .sql import Query, Sql
File "/opt/ffg/v2.10.1/core/sql.py", line 1, in
import sqlite3
File "/usr/local/lib/python3.8/sqlite3/init.py", line 23, in
from sqlite3.dbapi2 import *
File "/usr/local/lib/python3.8/sqlite3/dbapi2.py", line 27, in
from _sqlite3 import *
ModuleNotFoundError: No module named '_sqlite3'
尝试安装这个库
(tutorial-env) [root@localhost v2.10.1]# pip install sqlite3
Looking in indexes: https://repo.huaweicloud.com/repository/pypi/simple
ERROR: Could not find a version that satisfies the requirement sqlite3 (from versions: none)
ERROR: No matching distribution found for sqlite3
不存在,所以我不知道怎么办了

ios端无法登入

注册时ios端显示失败,但服务端是接收到数据并且处理成功
image
登陆时亦是ios端显示失败,但服务端显示成功
image
对比官服的response大致没有差别,有时json的key顺序会不同(可用有序字典解决),保持顺序仍无法登陆
服务端 win8,python 3.9
ios端 ios13.5.1

Couldn't switch between normal and awaken character illustration if running on Linux

As title, here's the log/stacktrace

Traceback (most recent call last):                                                                                        
File "/usr/lib/python3.9/site-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()                                                                               
File "/usr/lib/python3.9/site-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
File "/usr/lib/python3.9/site-packages/flask/app.py", line 1821, in handle_user_exception
  reraise(exc_type, exc_value, tb)
File "/usr/lib/python3.9/site-packages/flask/_compat.py", line 39, in reraise
  raise value                                                                                                           
File "/usr/lib/python3.9/site-packages/flask/app.py", line 1950, in full_dispatch_request
  rv = self.dispatch_request()                                                                                          
File "/usr/lib/python3.9/site-packages/flask/app.py", line 1936, in dispatch_request
  return self.view_functions[rule.endpoint](**req.view_args)
File "/home/alarm/arcaea/server/auth.py", line 157, in wrapped_view
  return view(user_id, *args, **kwargs)                                                                                 
File "/home/alarm/arcaea/main.py", line 152, in character_uncap
  character_id = int(path[22:])
ValueError: invalid literal for int() with base 10: ''

While it's working just fine on Windows and change int(path[22:]) to int(path[21:]) somehow fixes this problem, maybe it's better to use split() to get the last portion of the URL?

Anyway, thanks for your awesome work. 👍

关于错误输出

似乎在出现错误的时候完全没有任何输出, 导致难以定位错误
如果有错误输出, 希望能告知如何开启
如果没有, 希望能够添加, 以免出现任何问题连个错误日志都无法提交.
谢谢
以及我刚刚看了下您写的wiki 您的config里开启更详细的错误日志也不会在控制台出现错误日志
log里边的错误日志是flask的 控制台的错误日志也是flask的
服务器内部错误并没有被输出
希望您能改进一下
谢谢

求解

使用Nginx反向代理到内网,结果发现只要POST的请求就400,很多操作做不了(??)

配置:

    proxy_set_header Host 127.0.0.1;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
#    error_page   405 =200 @405;    
#    proxy_method POST;    
    add_header X-Cache $upstream_cache_status;
    proxy_redirect http:// $scheme://;
    #Set Nginx Cache    
        add_header Cache-Control no-cache;
    expires 12h;

站点添加ssl后无法登录后台

这次更新后出现了如题的情况

复现方法:
1.把服务器通过Nginx反代出去
2.给反代域名添加ssl
3.通过https://<反代域名>/web访问后台
4.尝试登录
5.点击登录后,登录页面会刷新,并没有进入后台页面
6.关闭ssl,通过http://<反代域名>/web访问后台并登录,可以正常进入后台页面
(我不是很会描述这个原谅我1551)

下载官方新歌曲的问题

环境

  • Ubuntu 20.04 TLS
  • Python 3.7.1
  • Nginx 1.8 反代
  • Android 10 over Root 系统信任证书

问题

下载歌曲时提示

下载歌曲时发生问题。请重试一次。

其他注册登录购买之类的功能工作的很nice,但在下载这里有点不明白,在解锁了音乐包后,下载音乐包里面的歌曲会出现错误提示,100%复现。

看了下wiki里的关于歌曲下载,可能是需要自己手动去添加歌曲的本地文件?想问问官方歌曲也需要这样嘛。还是可能我哪里没有配置到位()


如下载cyaegha这首魔王抓包返回是这样:
(目测好像是没有数据,请问我要怎么添加"value"内的内容呀)

Request

GET https://arcapi.lowiro.com/latte/13/serve/download/me/song?sid=antithese&sid=corruption&sid=blackterritory&sid=viciousheroism&sid=cyaegha&url=true

Response

{"success":true,"value":{}}

无法添加歌曲

arcaea version:3.5.5(ios)
server: v2.8
数据库arcsong:
数据库arcsong
文件:
文件

然后这曲子并没有出现在游戏里,请问还需要动什么地方?

about download

how to download all songs in 1 pack?, I can only download songs one by one in 1 pack..

/coffee/12/compose/aggregate应该是批量请求的接口

`每个call中的endpoint都应该是一条'/coffee/12'+call[i]['endpoint']的请求
官方那边是一条URL塞超过6个子请求就直接封号,所以id应该不会>5
然后是返回

{
"success": true,
"value": [
{"id": 0, "value": {response0}},
{"id": 1, "value": {response1}},
{"id": 2, "value": {response2}},
{...}
]
}

语文不好,可能表述不是很清楚(

关于Arcaea3.6.0客户端的问题

Arcaea更新到3.6.0之后
通过Charles请求时,发现会卡在一个Method为CONNECT的方法上
貌似这个Method的CONNECT的连接无法建立时,他下面的POST包也不发了
还有办法让arc连接到本地服务器吗

Some BYD downloads don't work

Using 47f05cd server with v4.0.255 client.

Songs like Bookmaker, Dement, Fairytale, Goodtek, Infinity Heaven and more.

So I put 3.aff for each song to their song ID folder properly. When downloading the song from client, I saw network requests for both base.ogg, 0.aff, 1.aff, 2.aff, and 3.aff. But after that only PST, PRS, FTR are available but not BYD. Checking the dl container folder also show only the base ogg and 0-2 aff, not showing the BYD aff file.

服务端版本迭代后登录提示未知错误

更新操作为压缩包内文件覆盖到目录,在网页端上传旧数据库。客户端也更新了新的版本。
提示未知错误,但重新输入账号密码仍可正常登录(估计是 token 获取不到)

70a84486b7840586

下載歌曲時提示發生錯誤

環境

  • Windows 10 20H2 64bit
  • iOS 14.5.1
  • 修改過binary的Arcaea 3.5.3
  • Python 3.9.1
  • Arcaea-server 2.4

問題

其他部份沒有問題,但當我試著下載任一歌曲時提示

下載曲目時發生錯誤, 請重試。

當我把DOWNLOAD_LINK_PREFIX的內容改為[http://HOST:PORT/latte/13/serve/download/]時會卡在0%一段時間後出現錯誤訊息,而留空時會直接提示錯誤(100%複現)

songs資料夾配置

  • songs
    • <songid>
      • 0.aff
      • 1.aff
      • 2.aff
      • 3.aff
      • base.ogg

抓包結果

Request

http://<HOST:PORT>/latte/13/serve/download/me/song?sid=aleph0&url=true

Respond

	"success": true,
	"value": {
		"aleph0": {
			"audio": {
				"checksum": "fe6ae6e6e0141029e71a4752c876908d",
				"url": "https://<<HOST:PORT>>/download/aleph0/base.ogg?t=1ab990e9864edd8649fc73cbb0e4fcb4"
			},
			"chart": {
				"0": {
					"checksum": "b01fe9a05fb57227c0f1f26379d18940",
					"url": "https://<<HOST:PORT>>/download/aleph0/0.aff?t=3a77970020b6943538dcebf70af245ba"
				},
				"1": {
					"checksum": "2ac52e32ba7dad35e3cd2fe2f7fd36ed",
					"url": "https://<<HOST:PORT>>/download/aleph0/1.aff?t=621d486ee175555ff98252b9ef443546"
				},
				"2": {
					"checksum": "10d73f674aaf5cb1c69a534bb0a2f673",
					"url": "https://<<HOST:PORT>>/download/aleph0/2.aff?t=6a37359b5b2dff8878727e4585e0e633"
				},
				"3": {
					"checksum": "10d73f674aaf5cb1c69a534bb0a2f673",
					"url": "https://<<HOST:PORT>>/download/aleph0/3.aff?t=26c7dfc6568d82fa86a4c3445ac993aa"
				}
			}
		}
	}
}

Unable to connect

Windows 10 20H2 x64
Android 9 (rev 4.9 kernel)
Arcaea 3.6.1c
Python 3.9.1
Arcaea-server 2.4

Can't connect to the local server whether or not I have enabled redirect or try to set up a proxy
is there any workaround to connect properly ?

Stuck

[2022-02-05 09:38:21,849] WARNING in init: File `database/arcaea_database.db` is missing.           

[2022-02-05 09:38:21,849] INFO in init: Try to new the file `database/arcaea_database.db`.          

[2022-02-05 09:38:21,970] INFO in init: Success to new the file `database/arcaea_database.db`.      

[2022-02-05 09:38:21,971] INFO in main: Start to initialize data in 'songfile' table...             

[2022-02-05 09:38:21,992] INFO in main: Complete! 

[2022-02-05 09:38:21,998] INFO in main: UDP server is running...                                     * Serving Flask app 'main' (lazy loading)         * Environment: production                           WARNING: This is a development server. Do not use it in a production deployment.                    Use a production WSGI server instead.           * Debug mode: off                                Traceback (most recent call last):                  File "/root/Arcaea-server/latest version/main.py", line 901, in <module>                              main()                                          File "/root/Arcaea-server/latest version/main.py", line 890, in main                                  app.run(Config.HOST, Config.PORT)               File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 920, in run                          run_simple(t.cast(str, host), port, self, **options)                                              File "/usr/local/lib/python3.9/dist-packages/werkzeug/serving.py", line 1010, in run_simple           inner()                                         File "/usr/local/lib/python3.9/dist-packages/werkzeug/serving.py", line 950, in inner                 srv = make_server(                              File "/usr/local/lib/python3.9/dist-packages/werkzeug/serving.py", line 782, in make_server           return ThreadedWSGIServer(                      File "/usr/local/lib/python3.9/dist-packages/werkzeug/serving.py", line 688, in __init__              super().__init__(server_address, handler)  # type: ignore                                         File "/usr/lib/python3.9/socketserver.py", line 452, in __init__                                      self.server_bind()                              File "/usr/lib/python3.9/http/server.py", line 138, in server_bind                                    socketserver.TCPServer.server_bind(self)        File "/usr/lib/python3.9/socketserver.py", line 466, in server_bind                                   self.socket.bind(self.server_address)         PermissionError: [Errno 13] Permission denied

Crash with v4.0.255

After it received the first compose/aggregate response, the program crashed. Probably some JSON format mismatch problem.

Using dbfed37

Crashing point:

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Triggered by Thread:  0

Application Specific Information:
Assertion failed: (flags_ & kIntFlag), function GetInt, file document.h, line 1396.

Thread 0 name:   Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib        	       0x1c8341200 __pthread_kill + 8
1   libsystem_pthread.dylib       	       0x2019071ac pthread_kill + 268
2   libsystem_c.dylib             	       0x198e213f4 __abort + 128
3   libsystem_c.dylib             	       0x198dc9e80 abort + 192
4   libsystem_c.dylib             	       0x198e20940 __assert_rtn + 272
5   Arc-mobile                    	       0x102b16774 0x102a88000 + 583540
6   Arc-mobile                    	       0x102b19b30 0x102a88000 + 596784
7   Arc-mobile                    	       0x102c2f590 0x102a88000 + 1734032
8   Arc-mobile                    	       0x102fcbf18 0x102a88000 + 5521176
9   Arc-mobile                    	       0x102c2cebc 0x102a88000 + 1724092
10  Arc-mobile                    	       0x102fcbf18 0x102a88000 + 5521176
11  Arc-mobile                    	       0x102fcb190 0x102a88000 + 5517712
12  Arc-mobile                    	       0x102fdec38 0x102a88000 + 5598264
13  Arc-mobile                    	       0x102ffd03c 0x102a88000 + 5722172
14  Arc-mobile                    	       0x102ffe7c4 0x102a88000 + 5728196
15  QuartzCore                    	       0x190eaf814 CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 748
16  QuartzCore                    	       0x190eb8e50 display_timer_callback(__CFMachPort*, void*, long, void*) + 372
17  CoreFoundation                	       0x1888c3bac __CFMachPortPerform + 176
18  CoreFoundation                	       0x1889069d0 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 60
19  CoreFoundation                	       0x188909b8c __CFRunLoopDoSource1 + 520
20  CoreFoundation                	       0x1888c45b4 __CFRunLoopRun + 2264
21  CoreFoundation                	       0x1888d7bac CFRunLoopRunSpecific + 612
22  GraphicsServices              	       0x1ab193360 GSEventRunModal + 164
23  UIKitCore                     	       0x18faefa34 -[UIApplication _run] + 888
24  UIKitCore                     	       0x18f8f5e04 UIApplicationMain + 340
25  Arc-mobile                    	       0x102af704c 0x102a88000 + 454732
26  dyld                          	       0x21bf7b8f8 start + 2296

一个奇怪的打开方式和出现的问题

系统是Win10 LTSC,前几天刚装的
Python3.9也是正常安装和配置好的
我用的方法是使用AdGuardHome,填写规则把本地服务器地址解析成arcapi.lowiro.com
应用到全局之后我整个网络都是可以直接指向服务器,
手机本地终端ping一下也能正常解析,
但问题来了——Arcaea客户端不认,Could not connect to online server
淦,亏我准备了这么多(
不过我也不确定我的AdGuardHome有没有正确配置,不过既然手机能ping通的话应该是没有问题的吧?
设备是MIX3,有root,面具,edxp,模块影响SSL验证的都关掉了
之前我是照着教程整的Charles,但是觉得太麻烦就(

A question about using the API

Hello, I'm using the API in the Arcara-server. I want you use the songs and the users to get the song list and best 30. However, I always receive 400 error. Do you have some suggestions or some examples for using these APIs? Thanks very much!

关于api接口

/users、/songs、/user/me、/user/<userid>/best使用get方法不可用

怎么在安卓端游戏登录啊

可以具体讲一下如何在安卓端连接服务器吗
大佬你好,我在自己的Linux服务器端(Debian9)成功跑起来了,config.py几乎没做改动
在我的手机上,我并不清楚如何设置,所以我连接WiFi后在高级选项中设置手动代理,主机我设置了自己的域名(指向了服务器IP),端口设置的是我在config.py中设置的8080,之后我也尝试了10900和10901(LINK_PLAY的俩端口)。之后我在flask输出的日志中看到了访问baidu.com这类的日志,我的手机显示无法上网,,说明服务器访问成功了。
之后,我寻思没用户名和密码,于是我把服务器上的arcaea_database.db复制到本地,用一个查看器把user表加了一行(其它表没动过),基本与你给的恶臭的那一行差不多,用户名和密码自己填的。然后我把它替换了服务器上的数据库。
然后,我登录游戏,发现显示密码或用户名错误。
于是我在/web/login路由的修改密码中把密码修改了(查询用户查询得到),此时复制服务器上的数据库,发现user表我的密码看不懂(64个字符)。
然后,我又一次登录游戏,发现显示密码或用户名错误。

附加内容
大佬我觉得我们其实很“镜像”,你用的flask和sqlite3,我正好也只会一点点,当然了,你在这方面的研究比我深得多。
希望能尽快回复我吧,谢谢。

Missing some songs from database

Single: pupa

World songs: 'redandblue3', 'ignotus3', 'singularity3', 'dropdead3', 'arcahv'

Note: those byd songs are April Fools charts. Without them they will never been shown.

implement a server on android for 3.6+

is it possible to implement a server on android for version 3.6+?
see the requirements such as doing remote mapping in that version, is it possible to do it on android?

Termux 中开启 UDP 服务端导致崩溃

Arcaea-server 为最新版,此问题并未出现在最近3个 commit 前

~ $ python /storage/emulated/0/Download/Arcaea-server/main.py
[2022-04-15 23:08:39,618] INFO in main: Start to initialize data in 'songfile' table...
[2022-04-15 23:08:39,631] INFO in main: Complete!
Traceback (most recent call last):
  File "/storage/emulated/0/Download/Arcaea-server/main.py", line 903, in <module>
    main()
  File "/storage/emulated/0/Download/Arcaea-server/main.py", line 885, in main
    [p.start() for p in process]
  File "/storage/emulated/0/Download/Arcaea-server/main.py", line 885, in <listcomp>
    [p.start() for p in process]
  File "/data/data/com.termux/files/usr/lib/python3.10/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
  File "/data/data/com.termux/files/usr/lib/python3.10/multiprocessing/context.py", line 224, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "/data/data/com.termux/files/usr/lib/python3.10/multiprocessing/context.py", line 284, in _Popen
    return Popen(process_obj)
  File "/data/data/com.termux/files/usr/lib/python3.10/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/data/data/com.termux/files/usr/lib/python3.10/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/data/data/com.termux/files/usr/lib/python3.10/multiprocessing/popen_spawn_posix.py", line 39, in _launch
    from . import resource_tracker
  File "/data/data/com.termux/files/usr/lib/python3.10/multiprocessing/resource_tracker.py", line 38, in <module>
    import _posixshmem
ModuleNotFoundError: No module named '_posixshmem'
~ $ python --version                                       Python 3.10.2
~ $ uname -a
Linux localhost 3.18.124-g24821698656f #1 SMP PREEMPT Tue Sep 21 04:44:10 CST 2021 aarch64 Android

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.