Reborn Protocol Reference Documentation

Welcome to the comprehensive reference documentation for the Reborn protocol. This documentation provides detailed packet structure specifications, encoding formats, and implementation guidelines for developers working with Reborn servers and clients.

Note

New to the protocol? Start with Protocol Overview to understand why everything adds 32, why there are three string types, and other architectural decisions from the late 1990s.

Protocol Specification:

About This Documentation

This documentation is derived from deep analysis of the GServer-v2 codebase and provides:

  • Complete packet structure specifications (100+ packets documented)

  • Primitive-level encoding details for cross-language implementation

  • The infamous G-type encoding explained with visual diagrams

  • The three string types (yes, three) and their gotchas

  • ENCRYPT_GEN_5 protocol implementation with flow diagrams

  • PyReborn library conformance analysis

  • Implementation examples in Python, JavaScript, and C++

The documentation is maintained as part of the OpenGraal2 project and is designed to enable developers to create compatible Graal clients and servers in any programming language.

Reading Order

For newcomers to the Reborn protocol:

  1. Protocol Overview - The big picture and common pitfalls

  2. Data Types Reference - G-type encoding (the +32 obsession)

  3. String Types: A Tragedy in Three Acts - The three string types and the PLO_LEVELLINK trap

  4. Encryption and Packet Processing - Packet bundling, compression, and β€œencryption”

  5. Reborn Protocol v2 - Packet Structure Reference - Individual packet formats

For existing developers:

Contributing

This documentation is open source and contributions are welcome. The source is available on GitHub as part of the OpenGraal2 project.

Indices and tables