Roblox Integration
Overview
A server-side Lua SDK for connecting a Roblox place to Vestrane Access. It lets your game ask "is this player allowed to open this access point right now?" and get a fast, centrally-managed answer, with every attempt recorded for the dashboard's event log.
Get the SDK
One file, drag it into ServerScriptService.
The flow
Player uses reader (ProximityPrompt)
|
v
Server script calls VestraneClient.CheckAccess(accessPointId, player)
| HTTPS, Authorization: Bearer <location secret>
v
Vestrane API resolves the location from the secret, evaluates the
access point's rules (direct user / group rank / access group / schedule),
records an AccessEvent, and updates the integration's "last seen" time
|
v
Server script receives { allowed, reason, eventId, accessPoint }
|
v
If allowed: door controller opens the configured Part for
accessPoint.unlockDurationSeconds, then re-locksEvery attempt - allowed or denied - is recorded server-side as an event, independent of whether your game code does anything with the result.
Files
| File | Purpose |
|---|---|
VestraneConfig.lua | Your API base URL, location ID, and location secret. |
VestraneClient.lua | The HTTP client. require() this from your own server scripts. |
VestraneReaderKit.lua | Shared reader logic (finding parts, calling the API, granted/denied reactions). Every reader goes through this one file - update it once for a logic change, no reader model or per-reader script ever needs touching. |
VestraneReaderConfig.server.lua | Already inside the reader model that comes with the download - set ACCESS_POINT_ID and duplicate per door. Building your own reader prop? Place a copy of this script inside it instead. |
VestraneReaderAutoWire.server.lua | An alternative for a reader prop you build yourself: tag the model "VestraneReader" and set its AccessPointId/GroupIds Attributes in Studio instead of using a config script - no scripting per reader at all. |
VestraneDoorRegistry.lua | Maps an accessPointId to its reader's granted reaction, for remote unlock. |
RemoteCommandPoller.server.lua | Polls for pending remote-unlock commands and executes/acknowledges them. |
Continue to Installation.