1. What is OGP?The Open Game Protocol (OGP) was developed and designed to provide specific real-time information about games running at any given server.
Most effort was made to meet all the needs of a flexible game protocol which is supposed to support every kind of game. Basically this could be achieved because for an analyzer of the obtained information it is not necessarry to have knowledge about a single game.
OGP is characterized by a simple and therefore high reliable design requiring only a minimum of ressources. To meet also economical objectives OGP uses individual constructed queries in binary format to obtain only the desired information. In this way it is possible to request all information provided by a server (e.g. player information, server details) with just one packet.
Especially in the always growing online-game market traffic and performance more and more becomes a serious problem. Higher speed is another positive side effect of small dynamic requests and answers.
To provide the highest possible flexibility the design of OGP allows quickly updates/adaptions towards new conditions while providing full backwards compatibility.
For many administrators distributed denial of service (DDoS) attacks belongs to one of the most dangerous troubles in the current online businesses. Of course this is also handled by OGP to avoid additional exploits in the server environment.
- Backwards compatible: Every OGP client version works with every OGP server version together
- Universal: It can be used by every game
- Extendable: It can be extended to every game if something is missing
- Game independent: You don't need to know the game to interprete the information correct
- DDoS-Proof: It's not possible to use OGP in connection with IP spooling for a Distributed Denial of Service Attack
- Unicode: The unicode character set is used by OGP. The protocol supports a simple byte encoding or utf8 encoding of the characters. The first allows to use the first 255 characters of unicode (Latin-1) while utf8 enables full unicode support.
- Packet Splitting: A robust packet splitting mechanism is available within the protocol. It does not rely on the unreliable splitting mechanism available in UDP protocol.
- Traffic economical: It helps saving traffic in different ways:
- It is a binary protocol that is designed to save space
- You can select exactly what information you want to query
- You can query all information with one request
3. Reasons to support OGP
- Open Specification: A well-designed specification is public available. No documentation must be written or questions must be answersed in contrast to a proprietary protocol, simple the support efforts are decreased.
- Open Source: A client/server reference implementation written in C/C++ is available under a permissive free software licence (no copyleft like e.g. GPL).
- Open Protocol: No copyright restrictions in using the protocol.
- Extendibility: The server can be extended anytime by providing new fields within the protocol (if specified). The backwards compatibility to older client are preserved.
- Freeware Client: It is already a public freeware client (HLSW) available. For testing no client must be implemented.
- Well-Designed: The protocol is based on more than 10 years experience in game query protocols of over 50 games. All known bugs and problems are avoided within OGP.
- Well-Tested: The client/server reference implementation is well-tested minimizing the risk of bugs.
OGP is a datagram based protocol and can be used e.g. over IPv4/UDP or IPv6/UDP.
If you're a game developer and want to support OGP contact us per mail to get a game id for your game. If any field is missing contact us to talk about it or just put it into rules.