# TinySync **Repository Path**: fanbal/TinySync ## Basic Information - **Project Name**: TinySync - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-28 - **Last Updated**: 2026-03-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

TinySync Logo

## TinySync 轻量级、房间制的实时同步服务端。基于 .NET 8 与 LiteNetLib/ASP.NET Core,提供低延迟的 UDP 同步能力与简洁的 HTTP 控制接口,适合小游戏、原型验证、教学与小型多人实时互动场景。 ### 演示 ![TinySync 演示](docs/TinySyncDemo.gif) ### 特性 - **轻量与易部署**:.NET 单一进程即可运行。 - **房间/会话管理**:内置 `Room`、`RoomManager`,便于按房间隔离同步数据。 - **低延迟同步**:使用 LiteNetLib 进行 UDP 通讯(示例/骨架)。 - **HTTP 控制入口**:通过简单的 HTTP API 进行房间与会话操作。 - **高性能序列化**:使用 MemoryPack 进行高性能模型序列化。 - **日志**:集成 NLog,默认输出到 `logs/` 目录。 ### 目录结构 ```text 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 下开发与测试) ### 快速开始 1) 克隆并构建 ```bash git clone https://github.com/Ariesybs/TinySync.git cd TinySync dotnet build ``` 2) 运行服务端(开发模式) ```bash dotnet run --project TinySync.Server ``` 3) 发布运行(可选) ```bash 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](https://github.com/RevenantX/LiteNetLib) - 面向 .NET 的高性能 UDP 网络库,提供可靠 UDP、顺序/不排序通道、事件驱动模型与 NAT 打洞等能力。 - [MemoryPack](https://github.com/Cysharp/MemoryPack) - 使用 Source Generator 的高性能序列化库,零拷贝/低分配,序列化体积小、速度快,AOT 友好。 - [ASP.NET Core](https://github.com/dotnet/aspnetcore) - 现代化 Web 框架,内置路由、中间件、依赖注入与托管模型,适合构建轻量 HTTP API。 - [NLog](https://github.com/NLog/NLog) - 功能丰富的日志库,支持多目标、异步写入、滚动策略与灵活配置。