Dirt is a collection of game-oriented libraries written in .Net Standard 2.1
- Compatible with Unity 2021.3.x
- Compatible with .Net 8 projects
Client/Server library
Contains content logic, math operations/structures and global flow structures.
Client/Server library
ECS Framework (use structure components array)
Client/Server library
UDP+TCP/HTTP message & event operations and built on top of Simulation. Synchronize Actors, send events, control over replicated actions.
Server library
Real time server boilerplate. (will probably be merged with GamePlugin)
- Game Server architecture
- Runs multiple simulations (with customizable lifespan) in parallel
- Route Players to simulations
- Define custom player commands, and actor actions
- Runs a webservice and provide a Rest API (undocumented yet)
- Essentials for global game flow (legacy Dirt.Framework)
- Simulation View binding: pool game objects and attach Actor on spawns
- Unity Log override
This is probably the oldest bit of code in Dirt, I started working on that piece around 2017/2018, without really knowing where I was going back then. This may disappear at some point or get simplified.
- Mud Socket wrapper to connect to game server
- Complementary systems for replicated simulation
Mud is a really rough wrapper for UDP networking.
Client/Server Library
Main UDP Protocol and serialization logic.
Server Library
Network Socket Thread handler.
An efficient data serializer created by @tomba