68 Commits

Author SHA1 Message Date
Lost-MSth
9bb7171354 [Bug fix] Update error & About bundle download
- Data for Arcaea 5.8.0
- Fix a bug that the server's database updates from an old version may meet a challenge if `recent30` table has some strange data.
- Fix the issue where the bundle downloading memory cache does not clean up.
- Add a config term to only change the X-Accel-Redirect prefix for bundle downloading.
2024-07-02 22:18:00 +08:00
Lost-MSth
8f66b90912 [Enhance] Content bundle
- Add support for content bundles
- For Arcaea 5.4.0 play store version and iOS version
2024-03-11 16:31:21 +08:00
Lost-MSth
b3bf55407f [Enhance] Game new/old API prefix list support
- Add some endpoints for old API prefixes to notify users to update the client; add support for multiple game prefixes
2024-02-24 16:39:15 +08:00
Lost-MSth
4527339d78 [Enhance] Support 'skill_ilith_ivy'
- Add support for the skill 'skill_ilith_ivy'
- For Arcaea 4.5.0
2023-06-28 22:34:43 +08:00
Lost-MSth
af03a48134 [Enhance] Cloud save update scores & capture auth error
- Restore the feature that cloud save can be used to cover best scores
- Capture error that the request does not have `Authorization` in header
2023-01-13 17:50:01 +08:00
Lost-MSth
426f65ea9e [Enhance][Refactor] unranked score & warning log
- Add an option that can be used to forbid some illegal scores
- Add brief warning logs for custom exceptions
2022-11-28 21:58:06 +08:00
Lost-MSth
a7a9a4ba3d [Enhance][Bug fix] Add log db & log bug
- Add a log database to record all playing scores
- Fix a bug that if an exception is raised before flask app runs, logger will not work well.
2022-11-26 21:03:29 +08:00
Lost-MSth
e1ce4d9ec4 [Enhance][Bug fix] download songlist & new skill & API null recent
- Add `amane` and add support for `skill_amane`
- Add a parser for `songlist` to specify downloadable files
- Fix a bug that users with no recent scores cannot get `recent30` via API
2022-11-10 18:00:27 +08:00
Lost-MSth
7cc17181e1 [Bug fix][Refactor] Course scores & Download
- Fix a bug that scores in course mode cannot calculate rating
- Make some optimization for downloading songs
2022-11-07 21:14:05 +08:00
Lost-MSth
4a5083c597 [Bug Fix][Enhance] Endless loop & waitress log
- Fix a bug due to 6fcca17918 that there is a endless loop in calculating recent 10 updating

- Add info log for `waitress`
2022-11-05 21:17:44 +08:00
Lost-MSth
78d28f8886 [Enhance][Bug fix] Waitress & API token
- Fix a bug that using API token in config file will not success
- Add deployment mode `waitress`
2022-11-03 13:42:39 +08:00
Lost-MSth
cf350842ac [Refactor] Performance optimization
- Put download token in memory database
- Accelerate multiple querying in `best_score` table
2022-11-01 18:08:02 +08:00
Lost-MSth
4da3f38f6e [Enhance] Performance optimization
- Change journal mode to WAL and enlarge cache size for sqlite3 database
- Use monkey patch to do asynchrony
- Make gevent use Flask's logger
2022-10-31 17:49:19 +08:00
Lost-MSth
40630fff4d [Refactor] Database initialization and migration
- Code refactoring for database initialization and migration
2022-10-21 18:19:37 +08:00
Lost-MSth
d150553e6b [Enhance] Some config options & Login limiter
- Add limiter for login and API login
- Add some config options

- Delete `setting.py` files
2022-10-16 17:07:32 +08:00
Lost-MSth
ba36190f30 [Enhance][Bug fix] Improve setting file & ...
- Fix a small bug that `best30` of API cannot have scores whose songs are not in database
- At present the setting file can be a module or a file with some of options
- Limiter can have multiple rules together now
2022-10-16 15:49:49 +08:00
Lost-MSth
68a83a29d2 [Enhance] Add limiter & Building API
- Add a custom limiter and use it for limiting users' download instead of using database
> So add a requirement `limits`.

- Fix a character's value
- Change the email max length to 64
- Change something about API's roles and powers
- Add an API endpoint for getting users' roles and powers
2022-10-12 15:27:45 +08:00
Lost-MSth
7a614eaa57 [Enhance] Add download error status code 2022-10-04 00:28:19 +08:00
Lost-MSth
8f1c28eb5c [Enhance] API & LinkPlay & something else
- Add song names for getting the score list (For API)
- Try to ensure thread safety in Link Play (twice again)
- Small change about database timeout
- Have a try to use `nginx` and `gevent` (Yes. I ensure it works well. This will not be viewed as a formal and necessary update.)
2022-10-03 23:46:52 +08:00
Lost-MSth
299c8c582c [Bug Fix][Enhance] About Link Play
- Fix a bug that the room host will be changed late when finishing a song
- Add logging module for linkplay server
2022-09-19 23:13:51 +08:00
Lost-MSth
6298b37ea2 Rearrange Link Play module
- Try to ensure thread safety by using TCP socket
2022-09-19 01:46:01 +08:00
Lost-MSth
7bf43c3e07 Database performance optimization for large quantities
- Add two indices for avoiding possible slow queries

> This is an experimental handle for the database which has some tables over one hundred thousand lines.
2022-08-29 22:41:31 +08:00
Lost-MSth
5fba93524c Add a new feature
- Add support for specifying the songs of which only the `beyond` chart should be served #60
2022-07-22 17:20:13 +08:00
Lost-MSth
93f4ad4999 Fix some bugs
- Fix a bug that `GET` requests without data will report an error in API
- Fix a bug that `aggregate` requests will get an error when the inner function raises an error
- Fix a bug that the charts of a course cannot be the same because of the incorrect primary keys
- Fix a bug that global ranking scores cannot be calculated if there are no chart in the database #61
- The first try to fix #60 (I don't think it can be done so easily.)
2022-07-20 21:59:26 +08:00
Lost-MSth
47f05cdf1e Fix a bug and add a new thing
- Add support for logging Arcaea's errors
- Fix a bug when world maps' data don't have some unnecessary parts the client of iOS may break down
2022-07-16 19:50:07 +08:00
Lost-MSth
af3e91b3e8 Code refactoring
- Code refactoring mainly for API
- Delete a useless option in `setting.py`
- Change some constants in Link Play mode
2022-07-06 22:07:00 +08:00
Lost-MSth
6fcca17918 Code refactoring
- Code refactoring
- Fix a bug that the other player will not become the host of the room at once, when the player disconnect in link play.

> Maybe add many unknown bugs. XD
> The song database `arcsong.db` will not used in the future. You can use a tool in `tool` folder to import old data.
2022-07-04 18:36:30 +08:00
Lost-MSth
9de62d3645 Update to v2.8.6 without release
- Code refactoring
- Update the song database
- Fix a bug of the friend system which arose in the last version
- Fix a bug of duplicate calculating finishing states when players finish playing the chart in Link Play.
2022-05-26 18:56:33 +08:00
Lost-MSth
96fbd26342 Update to v2.8.5 2022-04-28 18:29:26 +08:00
LY
409c2c032b Modify the location of the import of link_play
... to reduce unnecessary imports (both link_play and cryptography)
2022-04-16 18:29:40 +08:00
Lost-MSth
35c34f25d5 Try to fix a bug in Unix
multiprocess bug of python in Unix operating system:
The subprocess will not start when using 'fork' mode. This will make the UDP server down.
2022-04-05 22:12:23 +08:00
Lost-MSth
3a1c731e24 Update to v2.8.2 without release
- Try to add support for Anniversary 5 ticket
- Update the song database

> Well, there may be bugs with Anniversary 5 ticket. Remember it can only be used when the pack is on sale.
2022-03-09 18:44:00 +08:00
Lost-MSth
35b954e549 Fix two bugs
- Fix a bug when downloading a beyond chart which has another audio file.

- Fix a safety problem when downloading.
2022-02-14 16:35:36 +08:00
Lost-MSth
ceebba4664 Fix a bug
Fix a bug that the high version of ios client cannot log in.
2022-01-27 19:26:13 +08:00
Lost-MSth
5bc9b9a3dc Fix a bug
Fix a bug about link play not getting the right address.
If you use reverse proxy, this may be helpful.
2022-01-24 22:38:43 +08:00
Lost-MSth
d9a543bc5a Change something about constant table and aggregate 2022-01-24 21:44:37 +08:00
Lost-MSth
32bcbb0ccd Change something about aggregate 2022-01-24 21:22:38 +08:00
Young-Lord
23bf3c020f Change the implement of experimental agreegate API 2022-01-22 10:40:06 +08:00
Young-Lord
e1fc1bbcd1 Minor fix 2022-01-22 07:35:57 +08:00
Young-Lord
355ec3557f Add experimental aggregate API 2022-01-21 22:55:23 +08:00
Lost-MSth
849f4f7260 Add Link Play 2022-01-19 17:52:32 +08:00
Lost-MSth
b927ad23f8 Update to v2.7.2 without release
- Unlock the character **marija**
- Update the song database
2021-12-26 21:29:12 +08:00
Lost-MSth
8bc74b36c7 Update to v2.7.1 without release
- Unlock the character **shirahime**
- Fix the values of two characters
- Update the song database

> It will take more time for me to make the Link Play system. I am not sure how much time it will take, because it is a new challenge for me.
2021-12-13 00:26:01 +08:00
Lost-MSth
7dc8bfea9a Fix a bug
#32
Fix a bug about register
2021-11-21 13:57:09 +08:00
Lost-MSth
7c3bc99570 Update to v2.6.2 2021-08-11 18:45:32 +08:00
Lost-MSth
168e5f0b12 Update to v2.6.1 2021-07-21 18:14:26 +08:00
Lost-MSth
9286caf900 Update to v2.6 2021-07-01 18:46:16 +08:00
Lost-MSth
c8d0463b9e Fix a small bug
Fix a bug about double slashes in URL, which will influence character uncap, uncap override and level up with EXP cores when you use a special game API prefix, like '/latte' or '/latte/1'.
It means that the length of game API prefix is not 2 in the end (not '/*** . . . **/**') and the bug will happen.
2021-06-14 18:04:16 +08:00
Lost-MSth
3fbf473de2 Ready to update to v2.5
Please wait for some time. I need to change readme. I almost forgot what I changed before.
WARNING: There will be many bugs!
2021-06-10 19:01:26 +08:00
Lost-MSth
8a3cec05b7 Update to v2.4 2021-05-14 14:06:58 +08:00