Benami/Konami e-Amusement API

The pages across this mini-site aim to totally document, to the best of my ability, the API used for E-Amusement (XRPC), some of its inner workings, how to interface with it both as a client and a server, and how to perform this sort of analysis yourself.

If you just want a plug-and-play library, this is not it. If you're here for knowledge, my aim is that this is the most comprehensive public documentation, so you're hopefully in the right place.

I moved the big block about why these page exist, because it was getting painfully long.

Contents

  1. Getting started and following along
  2. Transport layer
    1. Packet structure
    2. Types
  3. The inner packet structure
    1. XML packets
    2. Binary packed packets
    3. Binary schemas
    4. Binary data
  4. Communication protocol details
  5. Let's write a server
    1. Groundwork
    2. Implementing handlers
    3. Extra endpoints
  6. Misc pages
    1. Parsing and converting card IDs

Code snippets

Across these pages there are a number of code snippets. They roughly break down into three categories:

If you yoink chunks of Python code, attribution is always appreciated, but consider it under CC0 (just don't be that person who tries to take credit for it, yeah?).

Assembly and C snippets often come with an accompanying filename and address. If you're interested in learning how things work in more detail, I'd strongly recommend checking them out. Not all games come with the same version of files; the provided addresses are for build SDVX build KFC-2019020600, using the default base offset.

Next page