Skip to content
Windows only · Invite only. To get the SDK, DM @snailyt on Telegram.

Accounts and app info

These need a signed-in account. Free mode sessions get AccountRequired.

Small values your app stores on the user’s own account, such as settings or progress: up to 50 per user, 4 KB each, encrypted on the server. Staff can see and edit them in the panel.

eonauth::SetUserVariableAsync("theme", "dark");
eonauth::GetUserVariableAsync("theme", [](const eonauth::Result& r, const std::string& value) {
if (r) ApplyTheme(value);
else if (r.status == eonauth::Status::VariableNotFound) ApplyTheme("light"); // never set
});
eonauth::DeleteUserVariableAsync("theme");

Names are letters, digits, _, ., - (check with CheckVariableName). A 51st variable fails with QuotaExceeded.

eonauth::ChangeUsernameAsync("new_name", [](const eonauth::Result& r) {
if (r.status == eonauth::Status::UsernameTaken) ShowError("That name is taken.");
});

Limited to 5 per hour.

eonauth::FetchAppStatsAsync([](const eonauth::Result& r, const eonauth::AppStats& s) {
if (r) ShowFooter(s.users, s.online, s.latestVersion);
});

users is the number of accounts, online the number of live sessions; latestVersion and downloadUrl come from App settings. Cached for about a minute on the server.

When your own checks detect a debugger or a patched binary, ban the account and blacklist the PC:

eonauth::BanCurrentUserAsync("debugger attached", /* blacklistHwid */ true);

The session ends and the SDK raises SessionLost with UserBanned. In free mode it bans the free device instead. Limited to 5 per hour per IP.

Make sure your detection can’t fire on honest users. A ban made this way can be lifted in the panel under Users (and Blacklist for the PC).