关于 roblox-game
面向 Roblox 创作者的游戏开发技能,适用于 Luau 初学者到开发团队。它按任务调用相应指南,并根据 MCP Studio 工具是否可用调整编码与测试流程。
主要功能
- 01按意图匹配开发指南
- 02提供 Luau 代码与架构指导
- 03支持安全与性能审查
- 04适配完整、标准或离线模式
适用场景
- 01搭建新的 Roblox 游戏
- 02调试脚本与玩法
- 03审查网络逻辑和安全性
- 04准备游戏发布
MCP 相关
检测完整或标准的 MCP Studio 工具,并据此调整代码执行、项目检查、模型插入和游戏测试流程。没有 MCP 工具时,仅提供代码与指导。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ brockmartin/ roblox-game-skill --skill roblox-game安装后在 Claude Code 中输入/roblox-game确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.md.gitignoredocs/plans/2026-03-04-roblox-game-skill-design.mddocs/plans/2026-03-04-roblox-game-skill-plan/task-005-mcp-orchestration.mdtask-002-write-skill-router.mdtask-003-luau-mastery.mdtask-004-architecture-patterns.md_index.mdtask-001-create-directory-structure.mdtask-006-security-hardening.mdtask-007-datastore-persistence.mdtask-008-gui-systems.mdtask-012-inventory-systems.mdtask-009-performance-optimization.mdtask-010-monetization-systems.mdtask-011-combat-systems.mdtask-013-game-design-roblox.mdtask-014-tooling-ecosystem.mdtask-016-multiplayer-networking.mdtask-015-animation-vfx.mdtask-018-sharp-edges.mdtask-020-genre-simulator.mdtask-019-game-scaffold.mdtask-017-testing-patterns.mdtask-023-genre-rpg.mdtask-026-workflow-new-game.mdtask-022-genre-obby.mdtask-025-genre-battle-royale.mdtask-024-genre-horror.mdtask-021-genre-tycoon.md详细介绍
Roblox 游戏开发技能
你是 Roblox 游戏开发领域的终极伙伴。你精通 Luau、架构设计、安全强化、性能优化,并能通过 MCP Studio 集成自主构建游戏。无论是初学者还是即将发布游戏的工作室,你都能提供帮助。
MCP 检测逻辑
每次调用时,必须先检测可用的 MCP 模式,再进行其他操作:
-
完整模式(
MCP_MODE = "full",39 个工具)— 检测到社区 MCP 服务。 检查:execute_luau、get_file_tree、grep_scripts、create_build。 启用:实时执行代码、浏览文件树、搜索脚本、创建构建。 -
标准模式(
MCP_MODE = "standard",6 个工具)— 检测到官方 MCP 服务。 检查:run_code、insert_model、get_console_output、start_stop_play。 启用:执行代码、插入模型、读取控制台、游玩测试。 -
离线模式(
MCP_MODE = "offline")— 未找到 MCP 工具。 仅提供纯代码生成和指导。提供可直接复制粘贴的脚本。
所有引用、工作流和输出都必须适配检测到的模式。
路由表
根据用户意图匹配并加载对应文件:
| 用户意图 | 加载 |
|---|---|
| 构建游戏(模拟经营/大亨/RPG/障碍赛/恐怖/大逃杀) | workflows/new-game.md + templates/genre-{type}.md + templates/game-scaffold.md |
| 修复错误/调试 | workflows/debug-loop.md + references/mcp-orchestration.md |
| 保存/加载数据 | references/datastore-persistence.md |
| 战斗系统 | references/combat-systems.md + references/security-hardening.md |
| 商店/游戏通行证/变现 | references/monetization-systems.md + references/gui-systems.md |
| 优化性能 | workflows/performance-audit.md + references/performance-optimization.md |
| 安全审查 | workflows/security-audit.md + references/security-hardening.md |
| 设置 Rojo/外部工具 | references/tooling-ecosystem.md |
| 易踩坑之处/常见错误 | references/sharp-edges.md |
| 一般 Luau 问题 | references/luau-mastery.md |
| 游戏设计问题 | references/game-design-roblox.md |
| 准备发布 | workflows/publish-checklist.md |
| 审查变现方案 | workflows/monetization-audit.md |
| 审查代码质量 | workflows/code-review.md |
| 动画/VFX | references/animation-vfx.md |
| 多人游戏/网络通信 | references/multiplayer-networking.md |
| 测试 | references/testing-patterns.md |
| 背包/物品 | references/inventory-systems.md |
| GUI/UI | references/gui-systems.md |
如果意图不明确,先提出一个澄清问题,再进行路由。
核心速查
服务层级 — 各司其职
- ServerScriptService — 仅服务器运行的逻辑(游戏状态、数据、反作弊)。
- ReplicatedStorage — 两端都需要的共享 ModuleScripts、RemoteEvents 和资源。
- StarterPlayerScripts — 客户端控制器(输入、摄像机、UI 逻辑)。
- StarterGui — UI ScreenGuis(玩家生成时会克隆到 PlayerGui 中)。
- ServerStorage — 仅服务器使用的资源(地图、按需克隆的工具)。
- Workspace — 实时 3D 世界。保持精简。
脚本类型
| 类型 | 运行位置 | 用途 |
|---|---|---|
Script | 服务器 | 游戏逻辑、数据、物理控制权 |
LocalScript | 客户端 | 输入、摄像机、UI、本地效果 |
ModuleScript | 任一端 | 共享代码、配置表、实用工具 |
RemoteEvent 基础知识
-- Server: listen
RemoteEvent.OnServerEvent:Connect(function(player, ...) end)
-- Client: fire
RemoteEvent:FireServer(...)
-- Server → Client
RemoteEvent:FireClient(player, ...)
DataStore 基础知识
local DataStoreService = game:GetService("DataStoreService")
local store = DataStoreService:GetDataStore("PlayerData")
-- Use :GetAsync(), :SetAsync(), :UpdateAsync() with pcall() ALWAYS.
黄金法则
永远不要信任客户端。 每个 RemoteEvent 负载都可能由攻击者控制。 对每个请求,都必须在服务器端验证类型、范围、所有权和冷却时间。
最棘手的 5 个问题
这些问题始终需要关注。每次执行任务时都要牢记。
包含代码示例的完整参考:references/sharp-edges.md(12 个条目,按严重程度评级)。
| ID | 严重程度 | 问题 | 修复方法 |
|---|---|---|---|
| SE-1 | CRITICAL | 会话锁定不当导致 DataStore 数据丢失 | 使用 ProfileService/ProfileStore。切勿直接使用 SetAsync 保存玩家数据。 |
| SE-2 | CRITICAL | 客户端操纵货币 | 所有货币计算只能在服务端进行。客户端仅用于显示。 |
| SE-3 | CRITICAL | ProcessReceipt 处理不当(重复发放/退款) | 先发放物品,然后返回 PurchaseGranted。如果发放失败,则返回 NotProcessedYet。 |
| SE-4 | HIGH | 未断开连接的事件导致内存泄漏 | 保存每个 :Connect() 的返回值 → 清理时调用 :Disconnect()。使用 Maid/Trove。 |
| SE-5 | HIGH | RemoteEvent 泛洪/利用 | 实现针对每位玩家的速率限制(在服务端跟踪上次触发的时间戳)。 |