An open source implementation of the DoNet internal protocol for Javascript applications running on the NodeJS environment. Written in TypeScript.
Read the full system / protocol documentation for the DoNet server here.
MAJOR MISSING FEATURES:
- Mapping DClass fields to DistributedObject instance
- Reading/writing multiple datagrams in one packet
- Client Repository (including LegacyHash for CLIENT_HELLO handshake)
- Lots of internal messages
- Packing / Unpacking of REQUIRED & OTHER fields
The major component to an MMO powered by DoNet is the DoNet daemon itself. At this time, DoNet is under development so you can use Astron instead.
Before starting, compile the latest build of Astron using the instructions here.
NOTE: As of April 2023, there is an issue in the Astron client agent where adding
interest to a client results in a timeout and then a segmentation fault occurs due to
a memory access violation. I'm trying to work out this issue, but for now please build
Astron using the -DCMAKE_BUILD_TYPE=Debug
flag. This lowers the chance of an Interest Operation timeout.
The libdonet-ts repository will be released as an NPM package once it reaches it's first release: libdonet-ts
The following steps show how it will be to install the npm package after the first release.
npm install libdonet-ts
Or if you're using the yarn (NPM-based) package manager:
yarn add libdonet-ts
To view the libdonet-ts documentation in rendered HTML, click here.
We encourage the community to submit code contributions by creating pull requests from your own fork of the project! Before writing your first contribution, please read the project contributing guidelines.
Feel free to join our community discord server for live chat / development help.