barbarburrito 2b21c3d8b5 jubeat: add Qubell (L44 2016-2017) support
The existing handlers produce festo-format responses, which Qubell rejects
(gametop.regist / get_pdata fail with r=7 in the game log and the card login
falls back to guest). This adds a Qubell handler set and routes requests by
the model date: builds older than 2018090000 (prop / Qubell / clan) use the
new handlers, festo is untouched.

Qubell layout follows bemaniutils' bemani/backend/jubeat/qubell.py:
- shopinfo.regist / gametop.get_info: shared info block wrapped in data/info
- gametop.get_pdata / regist: full profile (info, last, item lists, jbox,
  digdig, unlock stage list, born, ...). get_pdata creates the profile when
  the card is already bound on the CORE side, since Qubell then never calls
  gametop.regist and treats status 109 as a login failure.
- gametop.get_mdata: musicdata list with play/clear/fc/ex counts, score,
  clear flags and ghost bars; all scores returned on partition 1.
- gameend.regist: parses info counters, last settings, item lists, jbox,
  events, digdig/unlock state and result tunes into qubell_profile /
  qubell_score collections.
- gameend.final, lobby.check, demodata.get_news / get_hitchart,
  recommend.get_recommend: minimal valid responses.

Tested with jubeat Qubell L44:J:B:A:2017062001 on bemanitools: boot, card
registration, login, three-song credit, save and re-login all work.
2026-09-14 18:48:09 +00:00
2026-09-01 01:39:30 +08:00
2026-07-06 21:06:46 +01:00
2021-06-19 13:53:56 +02:00
2021-04-20 13:12:38 +09:00
2020-05-28 01:35:57 +01:00
2021-05-02 19:54:02 +08:00

Asphyxia CORE Community Plugins

These plugins are provided by community members and considered officially supported by Team Asphyxia.

How to use it?

  1. Make sure you have Asphyxia CORE installed.
  2. Go to Releases page.
  3. Download the latest source code.
  4. Extract the code in Asphyxia CORE's plugins folder.

How do I contribute?

I don't actually follow any coding rules for this jank so neither should you. There is, however, a prettier configuration if you want to format the code automatically and forget about it.

I'll do my best to merge PR, but please make sure you are submitting code targeted for "public" releases. (Unless it is some ancient rare stuff and you feel generous enough to provide support for it)

  • For new plugins: please use @asphyxia identifier for your plugin since you are submitting code as the community.
    • This way we prevent third-party plugins (e.g. popn or popn@someoneelse) from conflicting with our database.
  • For existing plugins: please inlude a changelog in your PR so it is easier for me to tell what it is for.

How do I make plugins?

Checkout our Documentation and maybe consider join our Discord server. Make sure to familiar yourself with at least XML and Typescript/Javascript.

Note that you should run npm install to install typing for node and lodash, and launch CORE using --dev arguments to enable console log and typechecking when using typescript.

S
Description
Community Plugins for Asphyxia CORE
Readme
498 MiB
Languages
TypeScript 48.6%
JavaScript 34.6%
Pug 15.4%
CSS 1.4%