Skip to content

MC-TeamViewer/TeamViewRelay-Protocol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

TeamViewRelay-Protocol

TeamViewRelay 的共享协议源。

目录

  • proto/teamviewer/v1/teamviewer.proto:唯一的 ProtoBuf 真相源
  • buf.yaml:协议模块 lint / breaking 配置

职责边界

  • 本仓库只负责共享 .proto 定义与 buf 规则。
  • 本仓库不直接向消费仓库写入生成代码。
  • Python / TypeScript / Java 生成物都由消费仓库在本地或 CI 中自行生成。

Tag 规则

  • 协议版本使用 proto/vX.Y.Z 命名,例如 proto/v0.6.0
  • 这里的 tag 表示“协议发布版本”,不是 Mod、后端或前端脚本的应用版本。
  • 消费仓库必须锚定具体 submodule commit,不允许依赖本仓库 branch head 作为构建输入。

何时升级协议版本

以下变更默认需要创建新的协议 tag:

  • wire shape 变化,例如字段新增、删除、改名、类型变化、oneof 结构变化
  • 兼容性基线变化,例如最低兼容协议版本变化
  • 需要三端同步升级的协议语义变化

推荐发布流程

  1. 在本仓库修改 proto/teamviewer/v1/teamviewer.proto
  2. 运行 buf lint
  3. 在三个消费仓库验证生成与构建
  4. 创建并 push 协议 tag,例如 proto/v0.6.0
  5. 在消费仓库把 third_party/TeamViewRelay-Protocol 升级到该 tag 对应 commit
  6. 重新生成代码、运行测试并提交 submodule 指针更新

消费方式

消费仓库通过 third_party/TeamViewRelay-Protocol 这一 git submodule 锚定本仓库的具体 commit:

  • Minecraft-TeamViewer-Backend
  • Minecraft-TeamViewer-Web-Script
  • Minecraft_TeamViewer

不要依赖本仓库的 branch head;应先发布协议 tag,再在消费仓库中更新 submodule 指针。

给开发者的约束

  • 不要在消费仓库中复制、重建或手改 .proto 副本。
  • 修改协议后,必须明确说明目标 tag、兼容性影响,以及需要更新哪些消费仓库。
  • 任何破坏兼容的协议变更都必须显式记录,不允许“静默升级”。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors