Exports

Querying Bans

The Solar dashboard is the single source of truth for bans. These exports let your scripts ask whether a player — or a set of identifiers — is banned. Both are asynchronous: the result is delivered to your callback once the dashboard responds.
SolarAC__IsPlayerBannedServer
SolarAC__IsPlayerBanned(srcOrIdentifiers, cb)

Checks whether a player is banned. Accepts a connected player src (number), a single identifier string, or an array of identifiers. Your callback receives a boolean and, when banned, the public ban code used for appeals.

ParameterTypeDescription
srcOrIdentifiersnumber | string | tableConnected player id, one identifier, or a list of identifiers.
cbfun(isBanned, banId)Called with the result. banId is the public ban code / numeric id, or nil.
lua
exports['SolarAC']:SolarAC__IsPlayerBanned(source, function(isBanned, banId)
  if isBanned then
    print(('Player is banned. Ban ID: %s'):format(banId))
  else
    print('Player is clean.')
  end
end)
SolarAC__GetPlayerBanServer
SolarAC__GetPlayerBan(srcOrIdentifiers, cb)

Returns the full ban record from the dashboard. Use it when you need the reason, ban code, or other metadata — for example to render a custom rejection card or post to your own Discord.

ParameterTypeDescription
srcOrIdentifiersnumber | string | tableConnected player id, one identifier, or a list of identifiers.
cbfun(ban)Receives the ban record table, or { banned = false } if not banned.

Returns: cb({ banned, ban_id, ban_code, reason, ... })

lua
exports['SolarAC']:SolarAC__GetPlayerBan({ 'license:abc123' }, function(ban)
  if ban.banned then
    print(('Banned for: %s (code %s)'):format(ban.reason or 'n/a', ban.ban_code or ban.ban_id))
  end
end)
These queries hit the dashboard over HTTP. If the dashboard is unreachable or the resource is in dev mode, the callback fails open with { banned = false } so your flow is never blocked by a transient outage.