mcpField
R
roblox-networking

roblox-networking

github.com/tabooharmony安全1382.0k 次安装2 周前更新
代码仓库

关于 roblox-networking

roblox-networking 面向开发 Roblox 联机玩法的开发者,提供网络安全指导,重点涵盖客户端输入校验、权威模型选择和远程调用处理。

主要功能

  1. 01在服务器校验客户端输入
  2. 02选择权威模型
  3. 03为玩法请求选择远程类型
  4. 04限制请求频率与载荷
  5. 05在编辑模式模拟网络

适用场景

  1. 01为 Roblox 游戏添加远程调用
  2. 02防范篡改玩法请求
  3. 03在编辑模式测试网络代码

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/tabooharmony/roblox-brain --skill roblox-networking

安装后在 Claude Code 中输入/roblox-networking确认已加载。

附带文件references/full.md

详细介绍

roblox 网络

何时加载

在添加远程对象、处理不可信输入、添加冷却时间或分配权限时加载。

快速参考

  • 所有客户端参数都由攻击者控制;在服务器上验证类型、大小、所有权、状态、距离和冷却时间。
  • 价格、伤害、奖励和权限都应从服务器持有的定义中查询。
  • 先选择权限模型:Server Authority 使用客户端预测 + 服务器回滚,不等同于 SetNetworkOwner。
  • 在 Server Authority 下,模拟输入使用 InputAction/BindToSimulation() + UseFixedSimulation,而不是远程对象。
  • 大多数游戏玩法请求使用事件;让 RemoteFunction 调用保持简短且有界。
  • RemoteEvent 用于可靠状态;它与属性/特性复制之间没有顺序保证——使用一个明确的通道或版本状态。UnreliableRemoteEvent 仅用于可替换数据;可能丢弃,且上限为 1000 字节。
  • 引擎上限:每种远程类型的 FireServer 速率约为每客户端 500 次/秒,同类型远程对象共用该上限——这是上限,不是目标。
  • 在负载下测量载荷大小和触发速率;按速率 × 字节数 × 接收者数量规划预算;加入时发送快照,之后发送差异。
  • 命中时间戳是不可信的上下文信息,绝不能作为证明。限制其时效性并验证服务器历史;参见 full.md §3a。
  • 类型化架构不能替代安全检查。固定生成器版本,并在 CI 中验证生成的输出。
  • 首先检查 NaN/无穷大(x ~= x、math.abs(x) == math.huge):NaN 会使 </> 判断失效。utf8.len 可捕获导致 DataStore 保存失败的格式错误 UTF-8。
  • 序列化:函数会变成 nil,元表会被剥除,混合键会被篡改,nil 会截断表,表会被复制——逐字段验证;通过服务器持有的快照/ID 共享状态。
  • Server Authority 需要 AuthorityMode = Server + 对应套件;预测错误/回滚属于正常情况(full.md)。
  • 速率限制用于保护服务器;验证仍须拒绝无效请求。Bindable 仅限同侧使用:表会被复制,元表会被剥除,Invoke 会一直让出执行权,直到 OnInvoke 返回。
  • 达到阈值时记录可疑行为;绝不要因单个格式错误的数据包而处罚。
  • 编辑模式下的运行:封装网络层,使 RunContext:IsEdit() 使用环回模拟对象(full.md)。

需要更多详情? references/full.md 包含验证、限流和模拟对象模式。

评论

支持 Markdown