https://github.com/chrivers/isolinear-chips
Protocol specification for Artemis Space Bridge Simulator
https://github.com/chrivers/isolinear-chips
game isolinear-chips network-protocol protocol-specification transwarp
Last synced: about 1 month ago
JSON representation
Protocol specification for Artemis Space Bridge Simulator
- Host: GitHub
- URL: https://github.com/chrivers/isolinear-chips
- Owner: chrivers
- Created: 2016-10-01T17:20:06.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-05-31T22:02:39.000Z (over 8 years ago)
- Last Synced: 2025-01-23T12:11:14.282Z (about 1 year ago)
- Topics: game, isolinear-chips, network-protocol, protocol-specification, transwarp
- Size: 162 KB
- Stars: 4
- Watchers: 5
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Isolinear Chips #
This project aims to be the complete network protocol specification
for the game [Artemis Spaceship Bridge
Simulator](http://artemis.eochu.com/). This is a completely unofficial
work, made by fans of the game, spending countless hours reverse
engineering the network protocol.
## Specification format ##
The protocol is specified in the [Simple Type Format]
(https://github.com/chrivers/transwarp) (`.stf`) format. The format is
quite easy for humans to read, but is a machine-parsable format!
Having a machine-readable protocol specification, makes it possible to
generate protocol parsers (for multiple programming langauges),
analysis tools, and reference documentation, from the same data
source. This prevents the various protocol-related works from drifting
out of spec, leading to incompatabilities and hard-to-find bugs.
## Organization ##
Currently, the `.stf` files are organized as follows:
```
client.stf ClientPacket specification
enums.stf Enums and bitflags
objects.stf Game object (with bitmask lengths)
parser.stf Client/server parser tree
server.stf ServerPacket specification
structs.stf Structs used by Client/ServerPacket
```
## Getting started ##
To use this specification as more than a textual reference, you need a
`.stf` compiler. Right now, the only existing compiler is
[Transwarp] (https://github.com/chrivers/transwarp): https://github.com/chrivers/transwarp.
Using Transwarp, you can generate HTML documentation, ascii reference
tables, programming language headers, or anything you might need. All
you need, is to make a template file, that uses this data structure
## Contributors ##
The protocol specification in this repository, is based of the
collaborative work of the
[protocol-docs](https://github.com/artemis-nerds/protocol-docs/)
project, spearheaded by [Robert
J. Walker](https://github.com/rjwut). The conversion into `.stf`
format was done by [Christian Iversen](https://github.com/chrivers).
## Etymology ##
In the Star Trek universe, *Isolinear Chips* are advanced data
storage devices, that contain large amounts of data.