mokurin000
|
b9e4b36053
|
feat: implement per user pc-rating curve
|
2025-08-04 13:03:21 +08:00 |
|
mokurin000
|
9d3ca2fe76
|
feat: export regions
|
2025-08-04 02:01:39 +08:00 |
|
mokurin000
|
a3ba321e5e
|
refactor: drop players.json support
|
2025-08-04 01:55:44 +08:00 |
|
mokurin000
|
c1767e592e
|
log: fix misleading info! log
|
2025-08-04 01:50:44 +08:00 |
|
mokurin000
|
73e1046be9
|
perf: parquet based data export
|
2025-08-04 01:49:43 +08:00 |
|
mokurin000
|
89d8177180
|
chore: load players.json via orjson
|
2025-08-03 20:48:55 +08:00 |
|
mokurin000
|
c8867a68e6
|
chore: use better layout
|
2025-08-03 20:10:59 +08:00 |
|
mokurin000
|
a698434526
|
fix: dump user region resp
|
2025-08-03 20:02:57 +08:00 |
|
mokurin000
|
90a3fc09df
|
feat: dump user regions
|
2025-08-03 20:00:50 +08:00 |
|
mokurin000
|
ca81c6495a
|
fix: make sure tables are initialized
|
2025-08-03 19:30:03 +08:00 |
|
mokurin000
|
a1b3a8ef0e
|
feat: scrape user regions
|
2025-08-03 19:04:16 +08:00 |
|
mokurin000
|
56a36933e1
|
fix: create records table
|
2025-08-03 18:11:27 +08:00 |
|
mokurin000
|
497c67ff89
|
chore: collect structured GetUserMusicApiResp
|
2025-08-03 18:08:50 +08:00 |
|
mokurin000
|
81c8f21729
|
feat: scrape all player record
|
2025-08-03 17:54:31 +08:00 |
|
mokurin000
|
9a6e414793
|
refactor: add Ext postfix for APIExt types
|
2025-08-03 12:15:37 +08:00 |
|
mokurin000
|
0d379bf248
|
feat: add helper for userallmusicdetail
|
2025-08-03 12:12:32 +08:00 |
|
mokurin000
|
7e4dc9b978
|
refactor: more flexible cached scrape
|
2025-08-03 12:06:07 +08:00 |
|
mokurin000
|
a60e65e110
|
perf: migrate to orjson for performance
|
2025-08-03 10:32:29 +08:00 |
|
mokurin000
|
0e40282e87
|
docs: add some comments
|
2025-08-03 10:06:10 +08:00 |
|
mokurin000
|
83caae4a31
|
feat: export b50 with music title, difficulty
|
2025-08-03 00:45:17 +08:00 |
|
mokurin000
|
503f5f3f33
|
refactor: music-db crate
|
2025-08-02 23:52:46 +08:00 |
|
mokurin000
|
f7b3161847
|
fix: missing version dot
|
2025-08-02 23:35:52 +08:00 |
|
mokurin000
|
d3c1ed73ee
|
feat: print map version
|
2025-08-02 23:24:31 +08:00 |
|
mokurin000
|
2c4b7ed447
|
chore: remove more useless fields
|
2025-08-02 23:03:01 +08:00 |
|
mokurin000
|
af8cee2528
|
fix: don't output trophy, which is also always zero
|
2025-08-02 22:54:50 +08:00 |
|
mokurin000
|
bd40ebba8a
|
feat: public export without userId
|
2025-08-02 22:47:50 +08:00 |
|
mokurin000
|
f25349ca26
|
fix: don't block other command when database is opened
|
2025-08-02 22:32:30 +08:00 |
|
mokurin000
|
03dc2eea94
|
feat: dump players.json without userId
|
2025-08-02 22:31:04 +08:00 |
|
mokurin000
|
0d9c8c79b4
|
enhance: compact & upgrade database
|
2025-08-02 22:13:04 +08:00 |
|
mokurin000
|
0b2bf20e50
|
fix: dumb cache update
|
2025-08-02 22:08:44 +08:00 |
|
mokurin000
|
3e1a0185fa
|
feat: dump fetched b50
|
2025-08-02 22:02:52 +08:00 |
|
mokurin000
|
c85c2101b7
|
feat: filter abnormal users
|
2025-08-02 20:03:50 +08:00 |
|
mokurin000
|
2415a7e029
|
log: fix logging message
|
2025-08-02 19:58:25 +08:00 |
|
mokurin000
|
957166d8f4
|
feat: B50 fetchall impl
|
2025-08-02 19:56:30 +08:00 |
|
mokurin000
|
84edce688d
|
refactor: split userid read & fetch
|
2025-08-02 19:49:41 +08:00 |
|
mokurin000
|
929e4641ea
|
refactor: split read_cache
|
2025-08-02 19:41:49 +08:00 |
|
mokurin000
|
9b53cb633c
|
refactor: implement fetchall with generic type
|
2025-08-02 19:39:39 +08:00 |
|
mokurin000
|
de330005b3
|
enhance: special case dx rating calculate
|
2025-08-02 17:29:37 +08:00 |
|
mokurin000
|
c877f8efeb
|
fix: SSS+ rating calculating
|
2025-08-02 17:12:06 +08:00 |
|
mokurin000
|
677cdbfd9b
|
fix: 101.0000% rank
|
2025-08-02 16:22:18 +08:00 |
|
mokurin000
|
45cba29b23
|
log: make sure to log login timestamp
|
2025-08-02 16:07:58 +08:00 |
|
mokurin000
|
fe008cca67
|
docs: fix incorrect comment on machine_readable
|
2025-08-02 11:01:34 +08:00 |
|
mokurin000
|
c3010f2f10
|
chore: better display
|
2025-08-02 10:58:11 +08:00 |
|
mokurin000
|
9e17df0624
|
feat: convert music detail to dxrating
|
2025-08-02 10:03:02 +08:00 |
|
mokurin000
|
d337c48ff1
|
fix: dxratingnet conversion
|
2025-08-02 09:42:49 +08:00 |
|
mokurin000
|
c86626bc75
|
style: reformat some code
|
2025-08-02 09:14:34 +08:00 |
|
mokurin000
|
abea7fce11
|
docs: add more documentation
|
2025-08-02 02:05:05 +08:00 |
|
mokurin000
|
3721b2f8fd
|
chore: also print playCount
|
2025-08-02 00:54:15 +08:00 |
|
mokurin000
|
2cb3c77d92
|
feat: display music details
|
2025-08-02 00:52:09 +08:00 |
|
mokurin000
|
23d8345b0e
|
log: always colorful output to stderr
|
2025-08-02 00:13:31 +08:00 |
|
mokurin000
|
dbe0890a4a
|
log: ping-pong delay log
|
2025-08-02 00:11:12 +08:00 |
|
mokurin000
|
000251df65
|
chore: sdgb 1.40 stopped service
|
2025-08-02 00:08:21 +08:00 |
|
mokurin000
|
780785b7ea
|
build: disable fetchall feature by default
|
2025-08-02 00:06:58 +08:00 |
|
mokurin000
|
f000b8636c
|
feat: implement full user music fetch
|
2025-08-02 00:02:57 +08:00 |
|
mokurin000
|
7b4dfbe5b2
|
feat: dxrating payload dump
|
2025-08-01 18:42:01 +08:00 |
|
mokurin000
|
4cf7fd1ee9
|
fix: output flatten list of records
|
2025-08-01 18:34:29 +08:00 |
|
mokurin000
|
4e07eaf2e0
|
feat: support dxratingnet format
|
2025-08-01 18:16:16 +08:00 |
|
mokurin000
|
953feee4c4
|
refactor: extract json_display
|
2025-08-01 16:25:27 +08:00 |
|
mokurin000
|
8d7ac62f80
|
log: do not send logs to stdout
|
2025-08-01 16:18:44 +08:00 |
|
mokurin000
|
7fe64ac4cd
|
perf: speed-up musicDB load
|
2025-08-01 03:50:36 +08:00 |
|
mokurin000
|
68e8a6e005
|
feat: DX RATING calculation
|
2025-08-01 03:31:16 +08:00 |
|
mokurin000
|
ef2df9052b
|
fix: achievement formatr
|
2025-08-01 02:55:47 +08:00 |
|
mokurin000
|
1c2a6b6161
|
feat: dump music level
|
2025-08-01 02:27:30 +08:00 |
|
mokurin000
|
6fd7361ca1
|
feat: simple musicDB for title
|
2025-08-01 02:03:47 +08:00 |
|
mokurin000
|
9b046036c9
|
feat: initial support for GetUserRating
|
2025-08-01 01:15:13 +08:00 |
|
mokurin000
|
0b8de2b4bc
|
fix: logout without custom timestamp is useless
|
2025-07-31 22:30:59 +08:00 |
|
mokurin000
|
183955e655
|
feat: implement GetUserRatingApi
|
2025-07-31 22:24:05 +08:00 |
|
mokurin000
|
8dfc834d15
|
refactor: rename associated type to Response
|
2025-07-31 21:50:13 +08:00 |
|
mokurin000
|
b0b8cea00e
|
enhance: typed request, thanks to crabtime
|
2025-07-31 21:42:38 +08:00 |
|
mokurin000
|
b408d1ba51
|
chore: add util scripts
|
2025-07-31 20:28:44 +08:00 |
|
mokurin000
|
789d46991d
|
fix: totally fix rustc version check
C-style shit syntax
|
2025-07-31 20:02:46 +08:00 |
|
mokurin000
|
1ec2668bad
|
log: log dumped player number
|
2025-07-31 14:34:11 +08:00 |
|
mokurin000
|
f2d0daf60d
|
perf: add back zero-copy decode for mai 1.50
|
2025-07-31 12:36:59 +08:00 |
|
mokurin000
|
ca4761f83a
|
log: only log succeed userid
|
2025-07-31 12:33:45 +08:00 |
|
mokurin000
|
57c29c8959
|
perf: read transcition for exisiting check
|
2025-07-31 11:54:01 +08:00 |
|
mokurin000
|
b72addd661
|
refactor: dump database to json
|
2025-07-31 11:25:04 +08:00 |
|
mokurin000
|
3ab53b426d
|
enhance: allow to adjust concurrency number
|
2025-07-31 10:45:08 +08:00 |
|
mokurin000
|
cb92337dee
|
perf: don't dump json on break
|
2025-07-31 02:17:12 +08:00 |
|
mokurin000
|
417b3c55bc
|
chore: FnOnce is more general
|
2025-07-31 02:05:55 +08:00 |
|
mokurin000
|
7742a8b011
|
refactor: login-logout action
|
2025-07-31 02:04:49 +08:00 |
|
mokurin000
|
125091c76d
|
fix: GetUserDataApi
|
2025-07-31 01:40:30 +08:00 |
|
mokurin000
|
1943b5b1f6
|
todo: fix UserData decryption
|
2025-07-31 01:13:00 +08:00 |
|
mokurin000
|
c4860b812b
|
docs: add more comments for fields
|
2025-07-30 23:13:30 +08:00 |
|
mokurin000
|
be2e430fcc
|
chore: add getUserDataApi
|
2025-07-30 22:40:41 +08:00 |
|
mokurin000
|
f23c92628d
|
log: notice ctrl-c received
|
2025-07-30 19:25:48 +08:00 |
|
mokurin000
|
d35372b20a
|
feat: correctly handle interrupt
|
2025-07-30 19:15:48 +08:00 |
|
mokurin000
|
5ad0135deb
|
perf: cache for players scraping
|
2025-07-30 19:06:17 +08:00 |
|
mokurin000
|
19a0d53624
|
build: allow to switch async runtime
|
2025-07-30 17:55:19 +08:00 |
|
mokurin000
|
7670e6f3ae
|
perf: add benchmark for title api encode/decode
|
2025-07-30 17:02:43 +08:00 |
|
mokurin000
|
789a3566bf
|
refactor: rename api_request to api_call
|
2025-07-30 16:46:31 +08:00 |
|
mokurin000
|
d3c3592e67
|
feat: authlite command
|
2025-07-30 13:14:06 +08:00 |
|
mokurin000
|
82e30c020d
|
feat: implement AuthLite
|
2025-07-30 12:18:17 +08:00 |
|
mokurin000
|
d4b6921eeb
|
fix: logout field is returnCode
|
2025-07-30 10:46:05 +08:00 |
|
mokurin000
|
42575eaa32
|
chore: add PingResp
|
2025-07-30 10:43:49 +08:00 |
|
mokurin000
|
dd1bb5fb5c
|
feat: introduce typed resp request
|
2025-07-30 04:27:32 +08:00 |
|
mokurin000
|
5ea8ebbf64
|
feat: preview user info
|
2025-07-30 03:57:51 +08:00 |
|
mokurin000
|
704be45e00
|
chore: ping does not need extra data
|
2025-07-30 03:22:23 +08:00 |
|
mokurin000
|
1a281e0cc7
|
feat: abstract method to perform action
|
2025-07-30 03:20:21 +08:00 |
|
mokurin000
|
6ee009715d
|
feat: initial support of method call
|
2025-07-30 02:33:31 +08:00 |
|
mokurin000
|
d870dc7047
|
feat: encryption of SDGB 1.40/1.50
|
2025-07-30 01:30:17 +08:00 |
|