Roblox networking
Give your AI coding agent a Roblox brain. Curated skills for Roblox Studio development.
npx -y skills add TabooHarmony/roblox-brain --skill roblox-networkingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 18 stars18 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when validating RemoteEvent or RemoteFunction arguments, adding rate limits, designing server-authoritative systems, or preventing exploits.
SKILL.md
2.7 KB, as published. Nobody here has run it
roblox networking
When to Load
Load when adding a remote, handling untrusted client input, implementing cooldowns, or deciding which side owns a gameplay result.
Quick Reference
- Treat every client argument as attacker-controlled input.
- Validate type, size, ownership, state, distance, and cooldown on the server.
- Look up prices, damage, rewards, and permissions from server-owned definitions.
- Choose the authority model before designing movement or continuous simulation. Server Authority uses client input prediction and server rollback; it is not the same thing as handing a part to a client with
SetNetworkOwner. - For simulation-affecting input in Server Authority, use
InputAction/InputContextandRunService:BindToSimulation()rather than feeding continuous input through aRemoteEvent. - Use events for most gameplay requests. Keep
RemoteFunctioncalls short and bounded. - Use
RemoteEventfor reliable state changes within its event channel. Do not assume a RemoteEvent is ordered with property or attribute replication; use one explicit state channel or version the state when ordering matters. UseUnreliableRemoteEventonly for replaceable or ephemeral data such as VFX and continuous snapshots. - Unreliable does not mean automatically faster: delivery is unordered, packets may be dropped, and payloads should stay at or below the documented 900-byte limit.
- Measure payload size and fire rate under load. Do not treat a community packet-size estimator as an official wire-format specification.
- Validate numeric inputs for NaN and infinity before applying range checks.
NaNmakes ordinary<and>checks return false. - Rate limits protect the server, but validation must still reject invalid requests.
- Record suspicious behavior and use thresholds. Do not punish a player for one malformed packet.
Need the details? Load references/full.md for reusable validation and throttling patterns.