Extract and release data from Dofus.
The main feature of DDC is that the data is extracted by a CI script whenever a new version of Dofus is released.
Tools:
- cytrus-v6: get latest game version and download game files without the ankama launcher
- BepInEx: inject the data extractor plugin to the Dofus client
- Directly from the Releases of this repository: the data will always be packaged in a
data.zip
archive. The archive contains ametadata.json
file containing aGameVersion
andGameBuildId
fields that provide info about the version of the game that the data is extracted from - Using the Data Center API: it exposes all the releases of this repository through REST APIs. The raw files are available through the endpoints in the 'Raw data' group. See also DBI.Api.
Instead of reverse engineering the assets of the game, DDC uses the game client itself to retrieve the data and export it as JSON.
The extraction itself is implemented in the DDC.Extractor project, it is a BepInEx plugin that is injected to the unity application at startup. It reads data mainly from the DataCenterModule
class of the client.
The extraction itself is performed by the Extract game data workflow that runs on every release. Releases are automatically triggered by the Poll game update workflow when new versions of the game are published.