Installation
With Wally
Section titled “With Wally”KeepBlox is a server package, so it goes under [server-dependencies] in your wally.toml:
[server-dependencies]KeepBlox = "xopoiii/keepblox@0.5.0"Run wally install. The module lands in ServerPackages/KeepBlox; map ServerPackages somewhere
only the server can see, such as ServerScriptService:
local KeepBlox = require(game:GetService("ServerScriptService").ServerPackages.KeepBlox)With pesde
Section titled “With pesde”The package targets roblox_server. From a project with the roblox target:
pesde add xopoiii/keepblox -t roblox_server -a KeepBloxpesde installThe module lands in roblox_server_packages/KeepBlox. Linking the packages into a Rojo project needs
pesde’s Rojo scripts, which pesde init offers to set up.
From a release
Section titled “From a release”Download KeepBlox.rbxm from the latest release
and insert it into ServerScriptService (or ServerStorage) in Studio. It is one ModuleScript named
KeepBlox.
From the source
Section titled “From the source”KeepBlox is the src/ folder of the repository. src/init.luau makes that folder one ModuleScript,
and every other file becomes a child module of it. Name the ModuleScript KeepBlox.
-
Clone the repository next to your game, or add it as a git submodule:
Terminal window git clone https://github.com/XopoIII/KeepBlox.git -
Map its
srcfolder into your game’sdefault.project.json, somewhere only the server can see:{"name": "MyGame","tree": {"$className": "DataModel","ServerScriptService": {"KeepBlox": { "$path": "KeepBlox/src" }}}} -
Sync with
rojo serve, or build the place withrojo build.
-
Clone the repository.
-
Build a model file from it. The repository’s own
default.project.jsonmapssrcto a ModuleScript namedKeepBlox:Terminal window rojo build -o KeepBlox.rbxm -
In Studio, insert
KeepBlox.rbxmintoServerScriptService(orServerStorage).
Then require it from a server script:
local KeepBlox = require(game:GetService("ServerScriptService").KeepBlox)KeepBlox has no runtime dependencies. Nothing touches game when the module is required; the engine
services are looked up when the first store is made.
Requirements
Section titled “Requirements”- Server only. KeepBlox uses DataStoreService, MemoryStoreService and MessagingService, which only a server can call. Keep the module where clients cannot see it, and require it from server scripts.
- The Luau Roblox runs today. The source uses current syntax such as
constbindings. Studio and live servers run it; an old external tool may not parse it. - API access in Studio is optional. With “Enable Studio Access to API Services” off, the first
load makes one read-only check, then keeps profiles in memory and reports it through
store.onError. Nothing is saved. With it on, play tests use the live store by default; thestudiooption can keep them in memory or on a copy. See Studio and testing.
Coming next
Section titled “Coming next”- A Creator Store model.
- An npm package for roblox-ts. Until then, copy
types/index.d.tsnext to the module.
Watch the changelog for new releases.
Write the load and release code in the quick start. If your
game uses ProfileStore today, read Migrating from ProfileStore
first: you may only need to change one require.