TinySync
TinySync — 一款轻量级帧同步服务端(.NET 8 / LiteNetLib / ASP.NET Core / MemoryPack)
Install / Use
/learn @Ariesybs/TinySyncREADME
<p align="center">
<img src="docs/TinySyncLogo.png" alt="TinySync Logo" width="720" />
</p>
TinySync
轻量级、房间制的实时同步服务端。基于 .NET 8 与 LiteNetLib/ASP.NET Core,提供低延迟的 UDP 同步能力与简洁的 HTTP 控制接口,适合小游戏、原型验证、教学与小型多人实时互动场景。
演示

特性
- 轻量与易部署:.NET 单一进程即可运行。
- 房间/会话管理:内置
Room、RoomManager,便于按房间隔离同步数据。 - 低延迟同步:使用 LiteNetLib 进行 UDP 通讯(示例/骨架)。
- HTTP 控制入口:通过简单的 HTTP API 进行房间与会话操作。
- 高性能序列化:使用 MemoryPack 进行高性能模型序列化。
- 日志:集成 NLog,默认输出到
logs/目录。
目录结构
TinySync/
TinySync.Core/
Protocol/
HttpModels.cs
UpdModels.cs
TinySync.Core.csproj
TinySync.Server/
HttpEndpoints.cs
LogManager.cs
NetworkManager.cs
Program.cs
Room.cs
RoomManager.cs
TinySync.Server.csproj
TinySync.sln
环境要求
- .NET SDK 8.0+
- Windows/macOS/Linux 均可运行(仓库目前在 Windows 下开发与测试)
快速开始
- 克隆并构建
git clone https://github.com/Ariesybs/TinySync.git
cd TinySync
dotnet build
- 运行服务端(开发模式)
dotnet run --project TinySync.Server
- 发布运行(可选)
dotnet publish TinySync.Server -c Release -o out
# 在 out 目录中启动:
./TinySync.Server
运行后将生成日志到 logs/(或构建输出目录下的 logs/)。
基本架构
- 核心模型:
TinySync.Core/Protocol/*定义 HTTP/UDP 的消息/数据模型。 - 网络/房间层:
TinySync.Server/NetworkManager.cs、Room*.cs负责会话与广播。 - HTTP 接口:
TinySync.Server/HttpEndpoints.cs提供房间管理等控制入口。
如需查看/扩展接口,请直接阅读上述文件并按需修改。
开发与调试
- 使用 IDE(JetBrains Rider / VS / VS Code)打开
TinySync.sln。 - 启动
TinySync.Server即可在本地调试。 - 日志默认输出在运行目录的
logs/下,可按日期查看。
路线图(Roadmap)
- 服务端:增加断线重连机制
- 服务端:增加世界快照的保存与恢复
- 客户端示例(未开源):
- 客户端预测与回滚
- 定点数库的接入
- 网络波动的优化(抖动/丢包/延迟抖动处理)
致谢
- LiteNetLib
- 面向 .NET 的高性能 UDP 网络库,提供可靠 UDP、顺序/不排序通道、事件驱动模型与 NAT 打洞等能力。
- MemoryPack
- 使用 Source Generator 的高性能序列化库,零拷贝/低分配,序列化体积小、速度快,AOT 友好。
- ASP.NET Core
- 现代化 Web 框架,内置路由、中间件、依赖注入与托管模型,适合构建轻量 HTTP API。
- NLog
- 功能丰富的日志库,支持多目标、异步写入、滚动策略与灵活配置。
Related Skills
node-connect
345.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
104.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
345.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
345.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
