a collection of modules for building realtime client-server applications consisting of multiple protocols
A protocol in the mudb
sense, is a collection of related messages and handlers which are grouped by functionalities or whatever.
Message passing is the basic building block for communication in a distributed system. In mudb
, messages are strongly typed using user-defined schemas. mudb
provides a reliable, ordered message delivery and a faster but unreliable method for sending messages immediately.
A schema is a type declaration for the interface between client and server.
mudb
communicates over the generic socket abstractions. Sockets support both reliable and unreliable delivery. Reliable delivery is used for messages, while unreliable delivery is used for state replication. Unreliable delivery is generally faster since it does not suffer from head-of-line blocking problems.
Light reading:
- Protocol Buffers
- Quake 3 network model
- Janus
- "The Tech of Planetary Annihilation: ChronoCam"
- "The Implementation of Rewind in Braid"
- "Relativistic Replication"
- "Source Multiplayer Networking"
Academic references:
- C. Savery, T.C. Graham, "Timelines: Simplifying the programming of lag compensation for the next generation of networked games" 2013
- Local perception filters
Development supported by Shenzhen DianMao Digital Technology Co., Ltd.
Copyright (c) 2020 Mikola Lysenko, Shenzhen DianMao Digital Technology Co., Ltd.