SkillAgentSearch skills...

TinySync

TinySync — 一款轻量级帧同步服务端(.NET 8 / LiteNetLib / ASP.NET Core / MemoryPack)

Install / Use

/learn @Ariesybs/TinySync
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<p align="center"> <img src="docs/TinySyncLogo.png" alt="TinySync Logo" width="720" /> </p>

TinySync

轻量级、房间制的实时同步服务端。基于 .NET 8 与 LiteNetLib/ASP.NET Core,提供低延迟的 UDP 同步能力与简洁的 HTTP 控制接口,适合小游戏、原型验证、教学与小型多人实时互动场景。

演示

TinySync 演示

特性

  • 轻量与易部署:.NET 单一进程即可运行。
  • 房间/会话管理:内置 RoomRoomManager,便于按房间隔离同步数据。
  • 低延迟同步:使用 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 下开发与测试)

快速开始

  1. 克隆并构建
git clone https://github.com/Ariesybs/TinySync.git
cd TinySync
dotnet build
  1. 运行服务端(开发模式)
dotnet run --project TinySync.Server
  1. 发布运行(可选)
dotnet publish TinySync.Server -c Release -o out
# 在 out 目录中启动:
./TinySync.Server

运行后将生成日志到 logs/(或构建输出目录下的 logs/)。

基本架构

  • 核心模型TinySync.Core/Protocol/* 定义 HTTP/UDP 的消息/数据模型。
  • 网络/房间层TinySync.Server/NetworkManager.csRoom*.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

View on GitHub
GitHub Stars16
CategoryDevelopment
Updated1mo ago
Forks1

Languages

C#

Security Score

75/100

Audited on Feb 12, 2026

No findings