roblox-networking · tabooharmony — скилл для Claude Code: что делает и как установить
Проверяет клиент-серверный код в Roblox: валидацию RemoteEvent, лимиты вызовов, NaN-значения и защиту от читов. Пригодится при настройке сетевого обмена.
npx skills add TabooHarmony/roblox-brain --skill roblox-networking -a claude-codeЧто делает roblox-networking
Скилл содержит правила для безопасного сетевого обмена между клиентом и сервером в Roblox. Каждый аргумент от клиента считается недоверенным. Сервер обязан проверять тип, размер, дистанцию и кулдауны. Цены, урон и награды берутся строго из серверных таблиц. При Server Authority симуляция управляется через InputAction и BindToSimulation(), а не через ремоуты.
В правилах разобраны частые сетевые ловушки Luau. Проверку чисел начинают с x ~= x и math.abs(x) == math.huge, потому что NaN ломает обычные операторы сравнения. Для строк перед записью в DataStore скилл требует вызывать utf8.len. При передаче по сети функции превращаются в nil, а метатаблицы срезаются. Для UnreliableRemoteEvent действует лимит в 1000 байт на пакет.
Типизированные схемы не заменяют проверку безопасности в рантайме. Генераторы типов полезны, но сервер всё равно обязан валидировать каждое поле вручную.
Какие задачи решает
- Проверить аргументы RemoteEvent на сервере на типы, NaN и бесконечность
- Настроить лимиты вызовов и кулдауны для входящих пакетов
- Защитить DataStore от повреждённых строк с помощью utf8.len
- Разграничить использование RemoteEvent и UnreliableRemoteEvent с лимитом в 1000 байт
Примеры запросов агенту
- Проверь серверную валидацию аргументов в RemoteEvent для покупки предметов
- Добавь проверки на NaN и бесконечность для сетевых событий получения урона
- Рассчитай сетевой бюджет и лимит размера пакета для UnreliableRemoteEvent
Как установить roblox-networking
1Через Skills CLI (Vercel)
npx skills add TabooHarmony/roblox-brain --skill roblox-networking -a claude-code2Вручную: положить файлы
~/.claude/skills/roblox-networking/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/roblox-networking/
1Через Skills CLI (Vercel)
npx skills add TabooHarmony/roblox-brain --skill roblox-networking -a codex2Вручную: положить файлы
.agents/skills/roblox-networking/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add TabooHarmony/roblox-brain --skill roblox-networking -a cursor2Вручную: положить файлы
.cursor/skills/roblox-networking/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install TabooHarmony/roblox-brain roblox-networking2Вручную: положить файлы
.github/skills/roblox-networking/SKILL.md1Через Skills CLI (Vercel)
npx skills add TabooHarmony/roblox-brain --skill roblox-networking -a gemini-cli2Командой платформы
gemini skills install https://github.com/TabooHarmony/roblox-brain --path skills/core/roblox-networkingВручную: положить файлы
.devin/skills/roblox-networking/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add TabooHarmony/roblox-brain --skill roblox-networking -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора28
Другие версии roblox-networking
Похожие
Рядом в теме «Геймдев и 3D: Unity, Unreal, Godot, Blender»
Всё по теме «Геймдев и 3D: Unity, Unreal, Godot, Blender» →Вопросы о roblox-networking
Как установить roblox-networking в Claude Code?
Выполните команду npx skills add TabooHarmony/roblox-brain --skill roblox-networking -a claude-code.
Что делает скилл roblox-networking?
Он даёт набор правил и проверок для сетевого кода Roblox на Luau. Скилл помогает настроить серверную валидацию, предотвратить читы и распределить нагрузку между RemoteEvent и UnreliableRemoteEvent.
Какой лимит частоты вызовов FireServer установлен в движке Roblox?
Для каждого типа ремоутов действует потолок около 500 запросов FireServer в секунду на клиента, общий для всех событий этого типа.
Исходный текст
SKILL.md · MIT
--- name: roblox-networking description: "Use when adding, changing, or auditing RemoteEvents/RemoteFunctions: argument validation, rate limits, server authority, exploit prevention." when_to_use: "Also for anything sent between client and server, laggy or dropped events, desync, payload size, cooldowns, and security reviews of remotes." last_reviewed: 2026-10-14 sources: - https://create.roblox.com/docs/scripting/events/remote - https://create.roblox.com/docs/scripting/security/security-tactics - https://create.roblox.com/docs/scripting/security/client-server-boundary - https://create.roblox.com/docs/projects/server-authority - https://create.roblox.com/docs/reference/engine/classes/UnreliableRemoteEvent - https://create.roblox.com/docs/reference/engine/classes/Workspace#GetServerTimeNow - https://1axen.github.io/blink/ - original --- # roblox networking ## When to Load Load when adding a remote, handling untrusted input, adding cooldowns, or assigning authority. ## Quick Reference - Every client argument is attacker-controlled; validate type, size, ownership, state, distance, cooldown on the server. - Look up prices, damage, rewards, permissions from server-owned definitions. - Choose the authority model first: Server Authority uses client prediction + server rollback, and is not `SetNetworkOwner`. - Under Server Authority, simulation input uses `InputAction`/`BindToSimulation()` + `UseFixedSimulation`, not a remote. - Events for most gameplay requests; keep `RemoteFunction` calls short and bounded. - `RemoteEvent` for reliable state; not ordered vs property/attribute replication — one explicit channel or version state. `UnreliableRemoteEvent` only for replaceable data; droppable, 1000-byte cap. - Engine ceiling: each remote type has ~500 FireServer req/s/client, pooled across same-type remotes — a ceiling, not a target. - Measure payload and fire rate under load; budget rate × bytes × recipients; snapshot on join, diffs after. - Hit timestamps are untrusted context, never proof. Bound freshness and validate server history; see full.md §3a. - Typed schemas do not replace security checks. Pin generators and verify generated output in CI. - Check NaN/infinity first (`x ~= x`, `math.abs(x) == math.huge`): `NaN` defeats `<`/`>`. `utf8.len` catches malformed UTF-8 that fails a DataStore save. - Serialization: functions arrive `nil`, metatables stripped, mixed keys mangled, `nil` truncates tables, tables are copies — validate field by field, share state via server-owned snapshots/ids. - Server Authority needs `AuthorityMode = Server` + its bundle; misprediction/rollback are normal (full.md). - Rate limits protect the server; validation still rejects invalid requests. Bindables are same-side only: tables copied, metatables stripped, `Invoke` yields until `OnInvoke` returns. - Record suspicion with thresholds; never punish one malformed packet. - Edit-mode play: wrap the network layer so `RunContext:IsEdit()` gets a loopback mock (full.md). **Need details?** `references/full.md` has validation, throttling, and mock patterns.
© TabooHarmony · MIT · TabooHarmony/roblox-brain