Variables
Values your program reads while it runs. Change one here and every customer sees it, with no new build.
Open it now:Variables
What they are for
A variable is a named value kept on the Atlas server. Typical uses: a maintenance switch, a download address, a limit, a message for the current version, or a secret your program needs only after sign-in. Because the value lives on the server it is not inside the program's file, and a cracked copy does not have it. Your program reads it with Variables::Fetch, FetchInt or FetchBool; the calls for all three languages are on Variables Namespace.
Create one
Press New variable (or Create first variable on an empty page). A short dialog takes you through Configure, Confirm and Complete; the confirm step shows the exact call your program makes, for example Atlas::Variables::FetchInt("max_users").
| Field | Rules |
|---|---|
| Type | STRING (any non-empty text), INT (a whole number, negative allowed) or BOOL (true or false). The type cannot change afterwards. |
| Key | Letters, digits and underscores, not starting with a digit, for example maintenance_mode. Keys are case-sensitive and cannot be renamed. |
| Value | Must match the type. Edit it any time. |
Who can read them
A variable with Requires sign-in on is handed out only to a signed-in user. With it off, anyone running the program can read it, signed in or not. The server makes that call, not the program, so a program cannot read a variable that requires sign-in before it has signed in. Every signed-in user can read every variable that requires sign-in, so keep anything that must stay hidden from users out of variables.
Change, delete and read them
Each variable is a card with its key, its type, its value, the call that reads it (click to copy), whether it requires sign-in and when it was last updated. The pencil edits the value and the access switch; the key and type are fixed. The bin deletes it after a confirmation.
- A change reaches a running program the next time it calls
Fetch. Nothing is pushed. - A key that does not exist reads as the empty value for its type: empty text,
0orfalse. After you delete a variable, programs that still read it get that empty value, so check your program handles it first. A key that always reads empty is usually a typo:Maintenanceandmaintenanceare different keys. - Search matches the key or the value.
- The page needs the Variables permission, which also covers creating, editing and deleting. The owner has it.