Build
Variables, files, and accounts
Server-side variables, downloadable files, username and password accounts, and app logs.
Variables#
Values your app fetches at runtime, so you can change a message, a download link, or a setting without shipping an update. Add them on a product's Variables tab.
| Setting | Meaning |
|---|---|
| Licensed only (default) | Only sent to apps with a valid license or signed-in account. |
| Public | Any copy of your app can read it, before sign-in. Good for version checks. |
motd = atlas.variable("motd") # one value, or None
all_vars = atlas.variables() # every variable you can readCustomers can read them
User variables#
Data stored on one license, such as a saved setting or a tier. Edit them on the license's page. Values marked read-only can be read by the app but not changed.
atlas.user_variables() # {"tier": "gold", "theme": "dark"}
atlas.set_user_variable("theme", "light") # fails with read_only on read-only valuesFiles#
Downloads your app fetches with download(file_id), such as plugins or updates. Upload a file of up to 10 MB, or link one of up to 50 MB that Atlas fetches for each download. Private files are only sent to licensed apps; public ones to anyone. Every SDK checks the download against its signed SHA-256, so a tampered file is rejected.
User accounts#
Let customers sign in with a username and password instead of typing their key each time. An account is created once with a license key, then used on every launch.
atlas.register("jordan", "a-long-password", user_key) # once
result = atlas.login("jordan", "a-long-password") # every launch- Usernames are 3 to 32 letters, numbers, dots, dashes, or underscores, and aren't case-sensitive.
- Passwords need at least 8 characters.
- Each license has at most one account.
- On the Users page you can create accounts, reset passwords, and disable or delete them. A disabled account fails with
user_disabled.
Logs#
Your app can send a line with log(message). It shows on the Logs page with the license, account, and device that sent it. Useful for spotting abuse or debugging a customer's setup.