#Setup & Configuration
#Before editing
- Copy the place file before touching shared modules.
ConfigandCatalogare read by nearly every service. - Stop Play before editing scripts or persistent assets; changes made only during a test are discarded.
- Keep instance and folder names as they are. Services look up
SharedConfig,Services,Remotes,Assets,Spawn,Mapand the base folders by exact name. - Put balance changes in the configuration modules, not inside services. Services read the config tables at startup.
#Configuration modules
| Module | Holds |
|---|---|
ReplicatedStorage.SharedConfig.Config | Flags, rarities, zones, guardians, bats, treadmills, trails, mutations, sizes, pet income, shop, pen, index, events, security, admin |
ReplicatedStorage.SharedConfig.Catalog | The authored pet list per biome, Rift/shrine/event groups, per-rarity spawn weights, and the generated egg list |
ReplicatedStorage.SharedConfig.WikiPets | Per-pet overrides for grow seconds, income and index Speed reward |
ReplicatedStorage.SharedConfig.Features | Feature switches and per-system tuning: day/night, carry, base building, tools, events, Rift, free gift, announcements |
ReplicatedStorage.Shared | Format (number and duration formatting), Net (remote names and the action allow-list), PetRig |
#Flags
Config.Flags is the master switch list:
| Flag | Value | Effect when off |
|---|---|---|
Rift | false | Rift arena, banners and RiftService stay idle |
GreatBloom | true | Bloom crystals and the Crane unlock |
AngelsDemons | true | Angel/Demon biome, shrine recipes and portals |
Tools | true | Bats and bear traps are not handed out |
FreeGift | true | The one-time +10,000 Speed gift |
Badges | true | Badge awards (every badge ID is still 0) |
Announcements | true | Hatch announcements and cross-server messages |
Monetization | true | Purchase handling (inert while product IDs are 0) |
GlobalLeaderboard | true | Cross-server leaderboard store |
DebugCommands | true | The Studio-only SAE_TestApi bindable function |
#Persistence settings
| Setting | Value |
|---|---|
Config.DATASTORE_NAME | SAE_Profiles_v1 |
Config.PROFILE_SCHEMA_VERSION | 2 |
Config.Economy.SAVE_INTERVAL | 60 seconds |
Config.Economy.INCOME_TICK | 1 second |
Config.Economy.OFFLINE_INCOME | false — income only accrues while the player is in the server |
#Studio-only helpers
In Studio the bootstrap creates ServerStorage.SAE_TestApi, a BindableFunction that runs runTests, setSeed, addSpeed, addCash, giveEggItem, forceNight, inspect and plotInfo. Setting the SAE_RunTests attribute on Workspace makes the next Play session run the test harness automatically (require(Services.TestHarness).run(section)).
#Startup check
Start one Play session and confirm the Output window shows, in order:
[SAE] Backend starting (Config v1, profile schema v2).[SAE][Zone] Tagged … tiles for … of 12 zones.[SAE][Guardian] Created … guardians for … nests (one per region).[SAE] Backend ready in … s. Bases: …, nests: …, persistence: …
Then verify in game:
- A nest prompt appears, and stealing from the big nest wakes the guardian.
- Delivering the egg into
Workspace.Spawn.SafeZonestarts a grow timer. - The hatch prompt appears when the timer ends and the pet lands in the inventory.
- Placing the pet changes the
Money/sleaderstat. - A treadmill step increases Speed.
A restarted Studio session is not proof that data persists. Check a saved profile in a published test place with API access enabled.