From 165530ba0ffb4e22cc9d3864130dd5d4bb8e6552 Mon Sep 17 00:00:00 2001 From: Jennifer Taylor Date: Sat, 4 Oct 2025 01:40:59 +0000 Subject: [PATCH] Update README to reflect that Dance Evolution is now supported. --- README.md | 65 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 40 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 14e9325..d4d0559 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,16 @@ # Introduction -A collection of programs for working with various games in the BEMANI series. This -could be untangled quite a bit into various modules that provide simpler pieces. -However, this is how it ended up evolving over time. This repository includes -utilities for unpacking (and sometimes repacking) various file formats, emulating -network services for various games, utilities for sniffing, redirecting and -reconstructing network packets, utilities for gathering information about various -game music databases and associated tooling that makes developing the previous -utilities easier. It is meant to be a complete ecosystem for somebody looking to -provide hobby network services to themselves in order to preserve a particular era -of gaming that is no longer officially supported. +A collection of programs for working with various games in and out of the BEMANI +series. This could be untangled quite a bit into various modules that provide +simpler pieces. However, this is how it ended up evolving over time. This +repository includes utilities for unpacking (and sometimes repacking) various +file formats, emulating network services for various games, utilities for +sniffing, redirecting and reconstructing network packets, utilities for +gathering information about various game music databases and associated tooling +that makes developing the previous utilities easier. It is meant to be a +complete ecosystem for somebody looking to provide hobby network services to +themselves in order to preserve a particular era of gaming that is no longer +officially supported. Thanks to Tau for the great writeup on the binary network format. Thanks to some rando on stack overflow for RC4 code for Python. Thanks to some other rando on @@ -46,12 +47,12 @@ how to use it. ## api Development version of this repository's BEMAPI implementation. This serves as the -REST-like API layer for inter-network federation of scores, profiles and rivals. -Run it like `./api --help` to see help output and determine how to use this. Much -like "services" and "frontend", this should be pointed at the development version -of your services config file which holds information about the MySQL database that -this should connect to as well as what game series are supported. See -`config/server.yaml` for an example file that you can modify. +REST-like API layer for inter-network federation of game song catalogs, scores, +profiles and rivals. Run it like `./api --help` to see help output and determine +how to use this. Much like "services" and "frontend", this should be pointed at +the development version of your services config file which holds information about +the MySQL database that this should connect to as well as what game series are +supported. See `config/server.yaml` for an example file that you can modify. Do not use this utility to serve production traffic. Instead, see `bemani/wsgi/api.wsgi` for a ready-to-go WSGI file that can be used with a Python @@ -293,12 +294,13 @@ BEMANI games boot and supports full scores, profile and events for Beatmania IID Pop'n Music 19-27, Jubeat Saucer, Saucer Fulfill, Prop, Qubell, Clan and Festo, Sound Voltex 1, 2, 3 Season 1/2 and 4, Dance Dance Revolution X2, X3, 2013, 2014 and Ace, MÚSECA 1, MÚSECA 1+1/2, MÚSECA Plus, Reflec Beat, Limelight, Colette, groovin'!! Upper, -Volzza 1 and Volzza 2, Metal Gear Arcade, and finally The\*BishiBashi. Note that it also -has matching support for all Reflec Beat versions as well as MGA. By default, this serves -traffic based solely on the database it is configured against. If you federate with -other networks using the "Data API" admin page, it will upgrade to serving traffic -based on the profiles, scores and statistics of all connected networks as well as the -local database. Run like `./services --help` to see how to use this. +Volzza 1 and Volzza 2, Metal Gear Arcade, The\*BishiBashi, and finally, Dance Evolution +Arcade. Note that it also has matching support for all Reflec Beat versions as well +as MGA. By default, this serves traffic based solely on the database it is configured +against. If you federate with other networks using the "Data API" admin page, it will +upgrade to serving traffic based on the profiles, scores and statistics of all +connected networks as well as the local database. Run like `./services --help` to +see how to use this. Do not use this utility to serve production traffic. Instead, see `bemani/wsgi/api.wsgi` for a ready-to-go WSGI file that can be used with a Python @@ -341,9 +343,11 @@ simply verify that certain things exist so as not to crash a real client. This currently generates traffic emulating Beatmania IIDX 20-26, Pop'n Music 19-27, Jubeat Saucer, Fulfill, Prop, Qubell, Clan and Festo, Sound Voltex 1, 2, 3 Season 1/2 and 4, Dance Dance Revolution X2, X3, 2013, 2014 and Ace, The\*BishiBashi, MÚSECA 1 and MÚSECA -1+1/2, Reflec Beat, Reflec Beat Limelight, Reflec Beat Colette, groovin'!! Upper, -Volzza 1 and Volzza 2 ad Metal Gear Arcade and can verify card events and score events -as well as PASELI transactions. Run it like `./trafficgen --help` to see how to use this. +1+1/2, Reflec Beat, Limelight, Colette, groovin'!! Upper, Volzza 1 and Volzza 2, +Dance Evolution Arcade and Metal Gear Arcade and can verify card events and score +events as well as PASELI transactions. Run it like `./trafficgen --help` to see how +to use this. + Note tha this takes a config file which sets up how the clients behave. See `config/trafficgen.yaml` for a sample file that can be used. @@ -690,6 +694,17 @@ corresponding to version in the following table: ./read --config config/server.yaml --series reflec --version 1 --bin reflecbeat.dll ``` +### Dance Evolution + +For Dance Evolution, you will need the `resource_lists.arc` file out of `data/arc/` +for the game that you wish to import. Then, run the following command. Note that +Dance Evolution only ever had one release so you only need to do this to the newest +copy of the data you wish to run. + +``` +./read --config config/server.yaml --series danevo --version 1 --bin resource_lists.arc +``` + ## Running Locally Once you've set all of this up, you can start the network in debug mode using a command