Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/janfokke/MonoSync
An efficient and easy to implement synchronization layer for multiplayer games
https://github.com/janfokke/MonoSync
Last synced: 3 months ago
JSON representation
An efficient and easy to implement synchronization layer for multiplayer games
- Host: GitHub
- URL: https://github.com/janfokke/MonoSync
- Owner: janfokke
- License: gpl-3.0
- Created: 2020-01-21T06:36:55.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T11:11:57.000Z (about 2 years ago)
- Last Synced: 2024-08-01T03:16:31.845Z (6 months ago)
- Language: C#
- Homepage:
- Size: 400 KB
- Stars: 69
- Watchers: 6
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-monogame - MonoSync - ![GitHub stars](https://img.shields.io/github/stars/janfokke/MonoSync.svg) - Synchronization layer for multiplayer games. (Networking)
README
[![banner](Images/banner.svg)](https://www.nuget.org/packages/MonoSync/)
[![Nuget](https://badgen.net/nuget/v/MonoSync)](https://www.nuget.org/packages/MonoSync/)
[![Build Status](https://dev.azure.com/janfokkeurk/MonoSync/_apis/build/status/janfokke.MonoSync?branchName=master)](https://dev.azure.com/janfokkeurk/MonoSync/_build/latest?definitionId=1&branchName=master)
[![Azure DevOps tests](https://img.shields.io/azure-devops/tests/janfokkeurk/MonoSync/1)](https://dev.azure.com/janfokkeurk/MonoSync/_build?definitionId=1&_a=summary&view=runs)
[![Discord](https://img.shields.io/discord/670985266374115370)](https://discord.gg/GNnKY6j)# What is MonoSync
MonoSync is a synchronization library that you can easily implement with attributes and helper functions.
MonoSync enables you to synchronize an object (e.g. a game world) just like you would with a JSON serializer. MonoSync automatically keeps track of all changes and references. Which you can synchronize periodically.**What is MonoSync not**
MonoSync is not a Network library. The serialized data is provided as ```byte[]```
and the user is free to choose his own Network layer.# Demos
# Features
- Delta compression
- Only changed values are synchronized.
- Object tracking
- New objects are automaticly tracked and synchronized.
- Interpolation
- Properties can be configured with a smooth transition between the current value and the newly received value
# Getting started
https://github.com/janfokke/MonoSync/wiki/Getting-started
# Documentation
https://github.com/janfokke/MonoSync/wiki
# Demos
https://github.com/janfokke/MonoSync/tree/master/samples
# Gallery
Interpolation
![Interpolation sample](https://media.giphy.com/media/H1vs2LGitZ7iYeHYph/giphy.gif)