Contents Transport layer Packet format

Benami/Konami eAmuse API

Why?

I was curious how these APIs work, yet could find little to nothing on Google. There are a number of closed-source projects, with presumably similarly closed-source internal documentation, and a scattering of implementations of things, yet I couldn't find a site that actually just documents how the API works. If I'm going to have to reverse engineer an open source project (or a closed source one, for that matter), I might as well just go reverse engineer an actual game (or it's stdlib, as most of my time has been spent currently).

These pages are very much a work in progress, and are being written as I reverse engineer parts of the protocol. I've been asserting all my assumptions by writing my own implementation as I go, however it currently isn't sharable quality code and, more importantly, the purpose of these pages is to make implementation of one's own code hopefully trivial.

Sharing annotated sources for all of the games' stdlibs would be both impractical and unwise. Where relevant however I try to include snippets to illustrate concepts, and have included their locations in the source for if you feel like taking a dive too.

If you're here because you work on one of those aforementioned closed source projects, hello! Feel free to share knowledge with the rest of the world, or point out corrections. Or don't; you do you.

Contents

  1. Transport layer
    1. Packet structure
    2. Types
  2. The inner packet structure
    1. XML packets
    2. Binary packed packets
    3. Binary schemas
    4. Binary data

This site intentionally looks not-great. I don't feel like changing that, and honestly quite like the aesthetic.