Skip to content

Main Server

Only available in the GodotSteam Server branches

Functions

get_godotsteam_version

get_godotsteam_version( )

Get the GodotSteam Server version you are currently using.

Returns: string

get_inventory_handle

get_inventory_handle( )

Gets the internally-stored inventory handle.

Returns: int32

Notes

This is a GodotSteam-specific function.

get_inventory_update_handle

get_inventory_update_handle( )

Gets the internally-stored inventory update handle.

Returns: uint64_t

Notes

This is a GodotSteam-specific function.

getSteamID

getSteamID( )

Gets the server's Steam ID.

Returns: uint64_t

getSteamID32

getSteamID32( uint64_t steam_id )

Parameter Type Notes
steam_id uint64_t The SteamID64 to convert.

Convert a SteamID64 into a SteamID32.

Returns:uint32_t

Notes

This is a GodotSteam-specific function.

isAnonAccount

isAnonAccount( uint64_t steam_id )

Parameter Type Notes
steam_id uint64_t The Steam ID to check.

Is this an anonymous account?

Returns: bool

isAnonUserAccount

isAnonUserAccount( uint64_t steam_id )

Parameter Type Notes
steam_id uint64_t The Steam ID to check.

Is this an anonymous user account? Used to create an account or reset a password, but do not try to do this.

Returns: bool

isChatAccount

isChatAccount( uint64_t steam_id )

Parameter Type Notes
steam_id uint64_t The Steam ID to check.

Is this a chat account ID?

Returns: bool

isClanAccount

isClanAccount( uint64_t steam_id )

Parameter Type Notes
steam_id uint64_t The Steam ID to check.

Is this a clan account ID?

Returns: bool

isConsoleUserAccount

isConsoleUserAccount( uint64_t steam_id )

Parameter Type Notes
steam_id uint64_t The Steam ID to check.

Is this a faked up Steam ID for a PSN friend account?

Returns: bool

isIndividualAccount

isIndividualAccount( uint64_t steam_id )

Parameter Type Notes
steam_id uint64_t The Steam ID to check.

Is this an individual user account ID?

Returns: bool

isLobby

isLobby( uint64_t steam_id )

Parameter Type Notes
steam_id uint64_t The Steam ID to check.

Is this a lobby account ID?

Returns: bool

isServerSecure

isServerSecure( )

Checking if the server is secured or not.

Returns: bool

run_callbacks

run_callbacks( )

Enables your application to receive callbacks from Steamworks. Must be placed in your _process function.

Alternatively, you can check Embed Callbacks in the Project Settings > Steam > Initialization panel and this will automatically set for you.

Returns: void

serverInit

serverInit( string ip, uint16_t game_port, uint16_t query_port, int server_mode, string version_number )

Parameter Type Notes
ip string Will usually be zero. If you are on a machine with multiple IP addresses, you can pass a non-zero value here and the relevant sockets will be bound to that IP. This can be used to ensure that the IP you desire is the one used in the server browser.
game_port uint16_t The port that clients will connect to for gameplay. You will usually open up your own socket bound to this port.
query_port uint16_t The port that will manage server browser related duties and info pings from clients. If you pass QUERY_PORT_SHARED for query_port, then it will use "GameSocketShare" mode, which means that the game is responsible for sending and receiving UDP packets for the master server updater. See handleIncomingPacket and getNextOutgoingPacket.
server_mode ServerMode enum Whether to run authentication, VAC, and such or not.
version_number string Should be in the form x.x.x.x, and is used by the master server to detect when the server is out of date. Only servers with the latest version will be listed.

Initialize SteamGameServer client and interface objects, and set server properties which may not be changed.

After calling this function, you should set any additional server parameters, and then logOnAnonymous() or logOn().

This function is included for compatibility with older SDK. You can use it if you don't care about decent error handling

Returns: bool


Read more in the official Steamworks SDK documentation

serverInitEx

serverInitEx( string ip, uint16_t game_port, uint16_t query_port, int server_mode, string version_number )

Parameter Type Notes
ip string Will usually be zero. If you are on a machine with multiple IP addresses, you can pass a non-zero value here and the relevant sockets will be bound to that IP. This can be used to ensure that the IP you desire is the one used in the server browser.
game_port uint16_t The port that clients will connect to for gameplay. You will usually open up your own socket bound to this port.
query_port uint16_t The port that will manage server browser related duties and info pings from clients. If you pass QUERY_PORT_SHARED for query_port, then it will use "GameSocketShare" mode, which means that the game is responsible for sending and receiving UDP packets for the master server updater. See handleIncomingPacket and getNextOutgoingPacket.
server_mode ServerMode enum Whether to run authentication, VAC, and such or not.
version_number string Should be in the form x.x.x.x, and is used by the master server to detect when the server is out of date. Only servers with the latest version will be listed.

Initialize SteamGameServer client and interface objects, and set server properties which may not be changed.

After calling this function, you should set any additional server parameters and then logOnAnonymous or logOn.

On success STEAM_API_INIT_RESULT_OK is returned. Otherwise, if error_message is non-NULL, it will receive a non-localized message that explains the reason for the failure.

Returns: dictionary

Contains the following keys:

Parameter Type Notes
status SteamAPIInitResult enum Result of the initialization.
verbal string A non-localized message that explains the reason for the failure.

releaseCurrentThreadMemory

releaseCurrentThreadMemory( )

Frees the internal Steamworks API memory associated with the calling thread.

Most Steamworks API functions allocate a small amount of thread-local memory for parameter storage, calling this will manually free such memory. This function is called automatically by run_callbacks, so a program that only ever accesses the Steamworks API from a single thread never needs to explicitly call this function.


Read more in the official Steamworks SDK documentation

serverShutdown

serverShutdown( )

Shut down the server connection to Steam.

Returns: void


Read more in the official Steamworks SDK documentation

set_inventory_handle

set_inventory_handle( int32 new_inventory_handle )

Parameter Type Notes
new_inventory_handle int32 The inventory handle to set.

Sets the internally-stored inventory handle.

Returns: void

Notes

This is a GodotSteam-specific function.

set_inventory_update_handle

set_inventory_update_handle( uint64_t new_inventory_update_handle )

Parameter Type Notes
new_inventory_update_handle uint64_t The inventory update handle to set.

Sets the internally-stored inventory update handle.

Returns: void

Notes

This is a GodotSteam-specific function.

Constants

Name SDK Name Value Notes
ACCOUNT_ID_INVALID k_uAccountIdInvalid 0 An invalid account ID.
API_CALL_INVALID k_uAPICallInvalid 0x0 An invalid Steam API Call handle.
APP_ID_INVALID k_uAppIdInvalid 0x0 An invalid app ID.
AUTH_TICKET_INVALID k_HAuthTicketInvalid An invalid user authentication ticket.
DEPOT_ID_INVALID k_uDepotIdInvalid 0x0 An invalid depot ID.
GAME_EXTRA_INFO_MAX k_cchGameExtraInfoMax 64 The maximum size (in UTF-8 bytes, including the null terminator) of the extra_info parameter of trackAppUsageEvent (since been deprecated).
MAX_GAME_SERVER_GAME_DATA k_cbMaxGameServerGameData 2048 Max size of the GameServer game data.
MAX_GAME_SERVER_GAME_DESCRIPTION k_cbMaxGameServerGameDescription 64 Max size of the GameServer game description.
MAX_GAME_SERVER_GAME_DIR k_cbMaxGameServerGameDir 32 Max size of the GameServer game directory.
MAX_GAME_SERVER_MAP_NAME k_cbMaxGameServerMapName 32 Max size of the GameServer map name.
MAX_GAME_SERVER_NAME k_cbMaxGameServerName 64 Max size of the GameServer name.
MAX_GAME_SERVER_TAGS k_cbMaxGameServerTags 128 Max size of the GameServer tags.
MAX_STEAM_DATAGRAM_GAME_COORDINATOR_SERVER_LOGIN_APP_DATA k_cbMaxSteamDatagramGameCoordinatorServerLoginAppData 2048 -
MAX_STEAM_DATAGRAM_GAME_COORDINATOR_SERVER_LOGIN_SERIALIZED k_cbMaxSteamDatagramGameCoordinatorServerLoginSerialized 4096 -
PARTY_BEACON_ID_INVALID k_ulPartyBeaconIdInvalid 0 An invalid party beacon ID.
QUERY_PORT_ERROR k_usFriendGameInfoQueryPort_Error 0xFFFE We were unable to get the query port for this server.
QUERY_PORT_NOT_INITIALIZED k_usFriendGameInfoQueryPort_NotInitialized 0xFFFF We haven't asked the GameServer for this query port's actual value yet.
QUERY_PORT_SHARED STEAMGAMESERVER_QUERY_PORT_SHARED 0xffff Pass to serverInit to indicate that the same UDP port will be used for game traffic UDP queries for server browser pings and LAN discovery. In this case, Steam will not open up a socket to handle server browser queries, and you must use handleIncomingPacket and getNextOutgoingPacket to handle packets related to server discovery on your socket.
STEAM_ACCOUNT_ID_MASK k_unSteamAccountIDMask 0xFFFFFFFF Used in CSteamID to mask out the AccountID_t.
STEAM_ACCOUNT_INSTANCE_MASK k_unSteamAccountInstanceMask 0x000FFFFF Used in CSteamID to mask out the account instance.
STEAM_BUFFER_SIZE - 255 Custom for GodotSteam.
STEAM_DATAGRAM_MAX_SERIALIZED_TICKET k_cbSteamDatagramMaxSerializedTicket 512 -
STEAM_ID_NIL k_steamIDNil CSteamID() Generic invalid CSteamID.
STEAM_ID_OUT_OF_DATE_GAME_SERVER k_steamIDOutofDateGS CSteamID() This Steam ID comes from a user game connection to an out of date GS that hasnt implemented the protocol to provide its Steam ID.
STEAM_ID_LAN_MODE_GAME_SERVER k_steamIDLanModeGS CSteamID() This Steam ID comes from a user game connection to an sv_lan GameServer.
STEAM_ID_NOT_INIT_YET_GAME_SERVER k_steamIDNotInitYetGS CSteamID() This Steam ID can come from a user game connection to a GameServer that has just booted but hasnt yet even initialized its steam3 component and started logging on.
STEAM_ID_NON_GAME_SERVER k_steamIDNonSteamGS CSteamID() This Steam ID can come from a user game connection to a GameServer that isn't using the steam authentication system but still wants to support the "Join Game" option in the friends list.
STEAM_LARGE_BUFFER_SIZE - 8160 Custom for GodotSteam.
STEAM_MAX_ERROR_MESSAGE k_cchMaxSteamErrMsg 1024 Maximum size of Steam error messages.
STEAM_USER_CONSOLE_INSTANCE k_unSteamUserConsoleInstance 2 Used by CSteamID to identify users logged in from a console.
STEAM_USER_DEFAULT_INSTANCE k_unSteamUserDefaultInstance 1 Used by CSteamID to identify users logged in from the desktop client.
STEAM_USER_WEB_INSTANCE k_unSteamUserWebInstance 4 Used by CSteamID to identify users logged in from the web.

Enums

AccountType

Steam account types. Found in steamclientpublic.h

Enumerator SDK Name Value Notes
ACCOUNT_TYPE_INVALID k_EAccountTypeInvalid 0 -
ACCOUNT_TYPE_INDIVIDUAL k_EAccountTypeIndividual 1 Single user account.
ACCOUNT_TYPE_MULTISEAT k_EAccountTypeMultiseat 2 Multiseat (e.g. cybercafe) account.
ACCOUNT_TYPE_GAME_SERVER k_EAccountTypeGameServer 3 Game server account.
ACCOUNT_TYPE_ANON_GAME_SERVER k_EAccountTypeAnonGameServer 4 Anonymous game server account.
ACCOUNT_TYPE_PENDING k_EAccountTypePending 5 Pending.
ACCOUNT_TYPE_CONTENT_SERVER k_EAccountTypeContentServer 6 Content server.
ACCOUNT_TYPE_CLAN k_EAccountTypeClan 7 -
ACCOUNT_TYPE_CHAT k_EAccountTypeChat 8 -
ACCOUNT_TYPE_CONSOLE_USER k_EAccountTypeConsoleUser 9 Fake Steam ID for local PSN account on PS3 or Live account on 360, etc.
ACCOUNT_TYPE_ANON_USER k_EAccountTypeAnonUser 10 -
ACCOUNT_TYPE_MAX k_EAccountTypeMax - Max of 16 items in this field.

AuthSessionResponse

Found in steamclientpublic.h

Enumerator SDK Name Value Notes
AUTH_SESSION_RESPONSE_OK k_EAuthSessionResponseOK 0 Steam has verified the user is online, the ticket is valid and ticket has not been reused.
AUTH_SESSION_RESPONSE_USER_NOT_CONNECTED_TO_STEAM k_EAuthSessionResponseUserNotConnectedToSteam 1 The user in question is not connected to Steam.
AUTH_SESSION_RESPONSE_NO_LICENSE_OR_EXPIRED k_EAuthSessionResponseNoLicenseOrExpired 2 The license has expired.
AUTH_SESSION_RESPONSE_VAC_BANNED k_EAuthSessionResponseVACBanned 3 The user is VAC banned for this game.
AUTH_SESSION_RESPONSE_LOGGED_IN_ELSEWHERE k_EAuthSessionResponseLoggedInElseWhere 4 The user account has logged in elsewhere and the session containing the game instance has been disconnected.
AUTH_SESSION_RESPONSE_VAC_CHECK_TIMED_OUT k_EAuthSessionResponseVACCheckTimedOut 5 VAC has been unable to perform anti-cheat checks on this user.
AUTH_SESSION_RESPONSE_AUTH_TICKET_CANCELED k_EAuthSessionResponseAuthTicketCanceled 6 The ticket has been canceled by the issuer.
AUTH_SESSION_RESPONSE_AUTH_TICKET_INVALID_ALREADY_USED k_EAuthSessionResponseAuthTicketInvalidAlreadyUsed 7 This ticket has already been used, it is not valid.
AUTH_SESSION_RESPONSE_AUTH_TICKET_INVALID k_EAuthSessionResponseAuthTicketInvalid 8 This ticket is not from a user instance currently connected to Steam.
AUTH_SESSION_RESPONSE_PUBLISHER_ISSUED_BAN k_EAuthSessionResponsePublisherIssuedBan 9 The user is banned for this game. The ban came via the web api and not VAC.
AUTH_SESSION_RESPONSE_AUTH_TICKET_NETWORK_IDENTITY_FAILURE k_EAuthSessionResponseAuthTicketNetworkIdentityFailure 10 The network identity in the ticket does not match the server authenticating the ticket.

BeginAuthSessionResult

Found in steamclientpublic.h

Enumerator SDK Name Value Notes
BEGIN_AUTH_SESSION_RESULT_OK k_EBeginAuthSessionResultOK 0 Ticket is valid for this game and this steamID.
BEGIN_AUTH_SESSION_RESULT_INVALID_TICKET k_EBeginAuthSessionResultInvalidTicket 1 Ticket is not valid.
BEGIN_AUTH_SESSION_RESULT_DUPLICATE_REQUEST k_EBeginAuthSessionResultDuplicateRequest 2 A ticket has already been submitted for this Steam ID.
BEGIN_AUTH_SESSION_RESULT_INVALID_VERSION k_EBeginAuthSessionResultInvalidVersion 3 Ticket is from an incompatible interface version.
BEGIN_AUTH_SESSION_RESULT_GAME_MISMATCH k_EBeginAuthSessionResultGameMismatch 4 Ticket is not for this game.
BEGIN_AUTH_SESSION_RESULT_EXPIRED_TICKET k_EBeginAuthSessionResultExpiredTicket 5 Ticket has expired.

DenyReason

Result codes to GSHandleClientDeny / Kick. Found in steamclientpublic.h

Enumerator SDK Name Value Notes
DENY_INVALID k_EDenyInvalid 0 -
DENY_INVALID_VERSION k_EDenyInvalidVersion 1 -
DENY_GENERIC k_EDenyGeneric 2 -
DENY_NOT_LOGGED_ON k_EDenyNotLoggedOn 3 -
DENY_NO_LICENSE k_EDenyNoLicense 4 -
DENY_CHEATER k_EDenyCheater 5 -
DENY_LOGGED_IN_ELSEWHERE k_EDenyLoggedInElseWhere 6 -
DENY_UNKNOWN_TEXT k_EDenyUnknownText 7 -
DENY_INCOMPATIBLE_ANTI_CHEAT k_EDenyIncompatibleAnticheat 8 -
DENY_MEMORY_CORRUPTION k_EDenyMemoryCorruption 9 -
DENY_INCOMPATIBLE_SOFTWARE k_EDenyIncompatibleSoftware 10 -
DENY_STEAM_CONNECTION_LOST k_EDenySteamConnectionLost 11 -
DENY_STEAM_CONNECTION_ERROR k_EDenySteamConnectionError 12 -
DENY_STEAM_RESPONSE_TIMED_OUT k_EDenySteamResponseTimedOut 13 -
DENY_STEAM_VALIDATION_STALLED k_EDenySteamValidationStalled 14 -
DENY_STEAM_OWNER_LEFT_GUEST_USER k_EDenySteamOwnerLeftGuestUser 15 -

GameIDType

Found in steamclientpublic.h

Enumerator SDK Name Value Notes
GAME_TYPE_APP k_EGameIDTypeApp 0 -
GAME_TYPE_GAME_MOD k_EGameIDTypeGameMod 1 -
GAME_TYPE_SHORTCUT k_EGameIDTypeShortcut 2 -
GAME_TYPE_P2P k_EGameIDTypeP2P 3 -

IPType

Enumerator SDK Name Value Notes
IP_TYPE_IPV4 k_ESteamIPTypeIPv4 0 -
IP_TYPE_IPV6 k_ESteamIPTypeIPv6 1 -

Result

General result codes. Found in steamclientpublic.h

Enumerator SDK Name Value Notes
RESULT_NONE k_EResultNone 0 No result.
RESULT_OK k_EResultOK 1 Success.
RESULT_FAIL k_EResultFail 2 Generic failure.
RESULT_NO_CONNECTION k_EResultNoConnection 3 No / failed network connection.
RESULT_INVALID_PASSWORD k_EResultInvalidPassword 5 Password / ticket is invalid.
RESULT_LOGGED_IN_ELSEWHERE k_EResultLoggedInElsewhere 6 Same user logged in elsewhere.
RESULT_INVALID_PROTOCOL_VER k_EResultInvalidProtocolVer 7 Protocol version is incorrect.
RESULT_INVALID_PARAM k_EResultInvalidParam 8 A parameter is incorrect.
RESULT_FILE_NOT_FOUND k_EResultFileNotFound 9 File was not found.
RESULT_BUSY k_EResultBusy 10 Called method busy; action not taken.
RESULT_INVALID_STATE k_EResultInvalidState 11 Called object was in an invalid state.
RESULT_INVALID_NAME k_EResultInvalidName 12 Name is invalid.
RESULT_INVALID_EMAIL k_EResultInvalidEmail 13 E-mail is invalid.
RESULT_DUPLICATE_NAME k_EResultDuplicateName 14 Name is not unique.
RESULT_ACCESS_DENIED k_EResultAccessDenied 15 Access is denied.
RESULT_TIMEOUT k_EResultTimeout 16 Operation timed out.
RESULT_BANNED k_EResultBanned 17 VAC2 banned.
RESULT_ACCOUNT_NOT_FOUND k_EResultAccountNotFound 18 Account not found.
RESULT_INVALID_STEAMID k_EResultInvalidSteamID 19 Steam ID is invalid.
RESULT_SERVICE_UNAVAILABLE k_EResultServiceUnavailable 20 The requested service is currently unavailable.
RESULT_NOT_LOGGED_ON k_EResultNotLoggedOn 21 The requested service is currently unavailable.
RESULT_PENDING k_EResultPending 22 Request is pending; may be in process or waiting on third party.
RESULT_ENCRYPTION_FAILURE k_EResultEncryptionFailure 23 Encryption or decryption failed.
RESULT_INSUFFICIENT_PRIVILEGE k_EResultInsufficientPrivilege 24 Insufficient privilege.
RESULT_LIMIT_EXCEEDED k_EResultLimitExceeded 25 Too much of a good thing.
RESULT_REVOKED k_EResultRevoked 26 Access has been revoked; used for revoked guest passes.
RESULT_EXPIRED k_EResultExpired 27 License / guest pass the user is trying to access is expired.
RESULT_ALREADY_REDEEMED k_EResultAlreadyRedeemed 28 Guest pass has already been redeemed by account, cannot be acked again.
RESULT_DUPLICATE_REQUEST k_EResultDuplicateRequest 29 The request is a duplicate and the action has already occurred in the past; ignored this time.
RESULT_ALREADY_OWNED k_EResultAlreadyOwned 30 All the games in this guest pass redemption request are already owned by the user.
RESULT_IP_NOT_FOUND k_EResultIPNotFound 31 IP address not found.
RESULT_PERSIST_FAILED k_EResultPersistFailed 32 Failed to write change to the data store.
RESULT_LOCKING_FAILED k_EResultLockingFailed 33 Failed to acquire access lock for this operation.
RESULT_LOG_ON_SESSION_REPLACED k_EResultLogonSessionReplaced 34 -
RESULT_CONNECT_FAILED k_EResultConnectFailed 35 -
RESULT_HANDSHAKE_FAILED k_EResultHandshakeFailed 36 -
RESULT_IO_FAILURE k_EResultIOFailure 37 -
RESULT_REMOTE_DISCONNECT k_EResultRemoteDisconnect 38 -
RESULT_SHOPPING_CART_NOT_FOUND k_EResultShoppingCartNotFound 39 Failed to find the shopping cart requested.
RESULT_BLOCKED k_EResultBlocked 40 A user didn't allow it.
RESULT_IGNORED k_EResultIgnored 41 Target is ignoring sender.
RESULT_NO_MATCH k_EResultNoMatch 42 Nothing matching the request found.
RESULT_ACCOUNT_DISABLED k_EResultAccountDisabled 43 -
RESULT_SERVICE_READ_ONLY k_EResultServiceReadOnly 44 This service is not accepting content changes right now.
RESULT_ACCOUNT_NOT_FEATURED k_EResultAccountNotFeatured 45 Account doesn't have value, so this feature isn't available.
RESULT_ADMINISTRATOR_OK k_EResultAdministratorOK 46 Allowed to take this action but only because requester is admin.
RESULT_CONTENT_VERSION k_EResultContentVersion 47 A version mismatch in content transmitted within the Steam protocol.
RESULT_TRY_ANOTHER_CM k_EResultTryAnotherCM 48 The current CM can't service the user making a request; user should try another.
RESULT_PASSWORD_REQUIRED_TO_KICK_SESSION k_EResultPasswordRequiredToKickSession 49 You are already logged in elsewhere, this cached credential login has failed.
RESULT_ALREADY_LOGGED_IN_ELSEWHERE k_EResultAlreadyLoggedInElsewhere 50 You are already logged in elsewhere; you must wait.
RESULT_SUSPENDED k_EResultSuspended 51 Long running operation (content download) suspended / paused.
RESULT_CANCELLED k_EResultCancelled 52 Operation canceled; typically by user: content download.
RESULT_DATA_CORRUPTION k_EResultDataCorruption 53 Operation canceled because data is ill formed or unrecoverable.
RESULT_DISK_FULL k_EResultDiskFull 54 Operation canceled; not enough disk space.
RESULT_REMOTE_CALL_FAILED k_EResultRemoteCallFailed 55 A remote call or IPC call failed.
RESULT_PASSWORD_UNSET k_EResultPasswordUnset 56 Password could not be verified as it's unset server side.
RESULT_EXTERNAL_ACCOUNT_UNLINKED k_EResultExternalAccountUnlinked 57 External account (PSN, Facebook, etc.) is not linked to a Steam account.
RESULT_PSN_TICKET_INVALID k_EResultPSNTicketInvalid 58 PSN ticket was invalid.
RESULT_EXTERNAL_ACCOUNT_ALREADY_LINKED k_EResultExternalAccountAlreadyLinked 59 External account (PSN, Facebook, etc.) is already linked to some other account, must explicitly request to replace / delete the link first.
RESULT_REMOTE_FILE_CONFLICT k_EResultRemoteFileConflict 60 The sync cannot resume due to a conflict between the local and remote files.
RESULT_ILLEGAL_PASSWORD k_EResultIllegalPassword 61 The requested new password is not legal.
RESULT_SAME_AS_PREVIOUS_VALUE k_EResultSameAsPreviousValue 62 New value is the same as the old one; secret question and answer.
RESULT_ACCOUNT_LOG_ON_DENIED k_EResultAccountLogonDenied 63 Account login denied due to 2nd factor authentication failure.
RESULT_CANNOT_USE_OLD_PASSWORD k_EResultCannotUseOldPassword 64 The requested new password is not legal.
RESULT_INVALID_LOG_IN_AUTH_CODE k_EResultInvalidLoginAuthCode 65 Account login denied due to auth code invalid.
RESULT_ACCOUNT_LOG_ON_DENIED_NO_MAIL k_EResultAccountLogonDeniedNoMail 66 Account login denied due to 2nd factor auth failure and no mail has been sent; partner site specific.
RESULT_HARDWARE_NOT_CAPABLE_OF_IPT k_EResultHardwareNotCapableOfIPT 67 -
RESULT_IPT_INIT_ERROR k_EResultIPTInitError 68 -
RESULT_PARENTAL_CONTROL_RESTRICTED k_EResultParentalControlRestricted 69 Operation failed due to parental control restrictions for current user.
RESULT_FACEBOOK_QUERY_ERROR k_EResultFacebookQueryError 70 Facebook query returned an error.
RESULT_EXPIRED_LOGIN_AUTH_CODE k_EResultExpiredLoginAuthCode 71 Account login denied due to auth code expired.
RESULT_IP_LOGIN_RESTRICTION_FAILED k_EResultIPLoginRestrictionFailed 72 -
RESULT_ACCOUNT_LOCKED_DOWN k_EResultAccountLockedDown 73 -
RESULT_ACCOUNT_LOG_ON_DENIED_VERIFIED_EMAIL_REQUIRED -k_EResultAccountLogonDeniedVerifiedEmailRequired 74 -
RESULT_NO_MATCHING_URL k_EResultNoMatchingURL 75 -
RESULT_BAD_RESPONSE k_EResultBadResponse 76 Parse failure, missing field, etc.
RESULT_REQUIRE_PASSWORD_REENTRY k_EResultRequirePasswordReEntry 77 The user cannot complete the action until they re-enter their password.
RESULT_VALUE_OUT_OF_RANGE k_EResultValueOutOfRange 78 The value entered is outside the acceptable range.
RESULT_UNEXPECTED_ERROR k_EResultUnexpectedError 79 Something happened that we didn't expect to ever happen.
RESULT_DISABLED k_EResultDisabled 80 The requested service has been configured to be unavailable.
RESULT_INVALID_CEG_SUBMISSION k_EResultInvalidCEGSubmission 81 The set of files submitted to the CEG server are not valid.
RESULT_RESTRICTED_DEVICE k_EResultRestrictedDevice 82 The device being used is not allowed to perform this action.
RESULT_REGION_LOCKED k_EResultRegionLocked 83 The action could not be complete because it is region restricted.
RESULT_RATE_LIMIT_EXCEEDED k_EResultRateLimitExceeded 84 Temporary rate limit exceeded, try again later. Different from RESULT_LIMIT_EXCEEDED which may be permanent.
RESULT_ACCOUNT_LOGIN_DENIED_NEED_TWO_FACTOR k_EResultAccountLoginDeniedNeedTwoFactor 85 Need two-factor code to login.
RESULT_ITEM_DELETED k_EResultItemDeleted 86 The thing we're trying to access has been deleted.
RESULT_ACCOUNT_LOGIN_DENIED_THROTTLE k_EResultAccountLoginDeniedThrottle 87 Login attempt failed, try to throttle response to possible attacker.
RESULT_TWO_FACTOR_CODE_MISMATCH k_EResultTwoFactorCodeMismatch 88 Two-factor code mismatch.
RESULT_TWO_FACTOR_ACTIVATION_CODE_MISMATCH k_EResultTwoFactorActivationCodeMismatch 89 Activation code for two-factor didn't match.
RESULT_ACCOUNT_ASSOCIATED_TO_MULTIPLE_PARTNERS k_EResultAccountAssociatedToMultiplePartners 90 Account has been associated with multiple partners.
RESULT_NOT_MODIFIED k_EResultNotModified 91 Data not modified.
RESULT_NO_MOBILE_DEVICE k_EResultNoMobileDevice 92 The account does not have a mobile device associated with it.
RESULT_TIME_NOT_SYNCED k_EResultTimeNotSynced 93 The time presented is out of range or tolerance.
RESULT_SMS_CODE_FAILED k_EResultSmsCodeFailed 94 SMS code failure; no match, none pending, etc.
RESULT_ACCOUNT_LIMIT_EXCEEDED k_EResultAccountLimitExceeded 95 Too many accounts access this resource.Too many changes to this account.
RESULT_ACCOUNT_ACTIVITY_LIMIT_EXCEEDED k_EResultAccountActivityLimitExceeded 96 Too many changes to this account.
RESULT_PHONE_ACTIVITY_LIMIT_EXCEEDED k_EResultPhoneActivityLimitExceeded 97 Too many changes to this phone.
RESULT_REFUND_TO_WALLET k_EResultRefundToWallet 98 Cannot refund to payment method, must use wallet.
RESULT_EMAIL_SEND_FAILURE k_EResultEmailSendFailure 99 Cannot send an e-mail.
RESULT_NOT_SETTLED k_EResultNotSettled 100 Can't perform operation till payment has settled.
RESULT_NEED_CAPTCHA k_EResultNeedCaptcha 101 Needs to provide a valid captcha.
RESULT_GSLT_DENIED k_EResultGSLTDenied 102 A game server login token owned by this token's owner has been banned.
RESULT_GS_OWNER_DENIED k_EResultGSOwnerDenied 103 Game server owner is denied for other reason: account lock, community ban, vac ban, missing phone, etc.
RESULT_INVALID_ITEM_TYPE k_EResultInvalidItemType 104 The type of thing we were requested to act on is invalid.
RESULT_IP_BANNED k_EResultIPBanned 105 The IP address has been banned from taking this action.
RESULT_GSLT_EXPIRED k_EResultGSLTExpired 106 This token has expired from disuse; can be reset for use.
RESULT_INSUFFICIENT_FUNDS k_EResultInsufficientFunds 107 User doesn't have enough wallet funds to complete the action.
RESULT_TOO_MANY_PENDING k_EResultTooManyPending 108 There are too many of this thing pending already.
RESULT_NO_SITE_LICENSES_FOUND k_EResultNoSiteLicensesFound 109 No site licenses found.
RESULT_WG_NETWORK_SEND_EXCEEDED k_EResultWGNetworkSendExceeded 110 The WG couldn't send a response because we exceeded max network send size.
RESULT_ACCOUNT_NOT_FRIENDS k_EResultAccountNotFriends 111 The user is not mutually friends.
RESULT_LIMITED_USER_ACCOUNT k_EResultLimitedUserAccount 112 The user is limited.
RESULT_CANT_REMOVE_ITEM k_EResultCantRemoveItem 113 Item can't be removed.
RESULT_ACCOUNT_DELETED k_EResultAccountDeleted 114 Account has been deleted.
RESULT_EXISTING_USER_CANCELLED_LICENSE k_EResultExistingUserCancelledLicense 115 A license for this already exists but cancelled.
RESULT_COMMUNITY_COOLDOWN k_EResultCommunityCooldown 116 Access is denied because of a community cooldown; probably from support profile data resets.
RESULT_NO_LAUNCHER_SPECIFIED k_EResultNoLauncherSpecified 117 No launcher was specified, but a launcher was needed to choose correct realm for operation.
RESULT_MUST_AGREE_TO_SSA k_EResultMustAgreeToSSA 118 User must agree to china SSA or global SSA before login.
RESULT_LAUNCHER_MIGRATED k_EResultLauncherMigrated 119 The specified launcher type is no longer supported; the user should be directed elsewhere.
RESULT_STEAM_REALM_MISMATCH k_EResultSteamRealmMismatch 120 The user's realm does not match the realm of the requested resource.
RESULT_INVALID_SIGNATURE k_EResultInvalidSignature 121 Signature check did not match.
RESULT_PARSE_FAILURE k_EResultParseFailure 122 Failed to parse input.
RESULT_NO_VERIFIED_PHONE k_EResultNoVerifiedPhone 123 Account does not have a verified phone number.
RESULT_INSUFFICIENT_BATTERY k_EResultInsufficientBattery 124 User device doesn't have enough battery charge currently to complete the action.
RESULT_CHARGER_REQUIRED k_EResultChargerRequired 125 The operation requires a charger to be plugged in, which wasn't present.
RESULT_CACHED_CREDENTIAL_INVALID k_EResultCachedCredentialInvalid 126 Cached credential was invalid; user must reauthenticate.
RESULT_PHONE_NUMBER_IS_VOIP K_EResultPhoneNumberIsVOIP 127 The phone number provided is a voice-over-IP number.
RESULT_NOT_SUPPORTED k_EResultNotSupported 128 The data being accessed is not supported by this API.
RESULT_FAMILY_SIZE_LIMIT_EXCEEDED k_EResultFamilySizeLimitExceeded 129 Reached the maximum size of the family.
RESULT_OFFLINE_APP_CACHE_INVALID k_EResultOfflineAppCacheInvalid 130 The local data for the offline mode cache is insufficient to login.

ServerMode

Enumerator SDK Name Value Notes
SERVER_MODE_INVALID eServerModeInvalid 0 Do not use.
SERVER_MODE_NO_AUTHENTICATION eServerModeNoAuthentication 1 Don't authenticate user logins and don't list on the server list.
SERVER_MODE_AUTHENTICATION eServerModeAuthentication 2 Authenticate users, list on the server list, and don't run VAC on clients that connect.
SERVER_MODE_AUTHENTICATION_AND_SECURE eServerModeAuthenticationAndSecure 3 Authenticate users, list on the server list, and VAC protect clients,

SteamAPIInitResult

Found in steam_api.h

Enumerator SDK Name Value Notes
STEAM_API_INIT_RESULT_OK k_ESteamAPIInitResult_OK 0 Initialization was successful.
STEAM_API_INIT_RESULT_FAILED_GENERIC k_ESteamAPIInitResult_FailedGeneric 1 Some other failure.
STEAM_API_INIT_RESULT_NO_STEAM_CLIENT k_ESteamAPIInitResult_NoSteamClient 2 We cannot connect to Steam, it probably isn't running.
STEAM_API_INIT_RESULT_VERSION_MISMATCH k_ESteamAPIInitResult_VersionMismatch 3 Steam client appears to be out of date.

Universe

Steam universes. Each universe is a self-contained Steam instance. Found in steamuniverse.h

Enumerator SDK Name Value Notes
UNIVERSE_INVALID k_EUniverseInvalid 0 -
UNIVERSE_PUBLIC k_EUniversePublic 1 -
UNIVERSE_BETA k_EUniverseBeta 2 -
UNIVERSE_INTERNAL k_EUniverseInternal 3 -
UNIVERSE_DEV k_EUniverseDev 4 -
UNIVERSE_MAX k_EUniverseMax 5 -

UserHasLicenseForAppResult

Results from userHasLicenseForApp. Found in steamclientpublic.h

Enumerator SDK Name Value Notes
USER_HAS_LICENSE_RESULT_HAS_LICENSE k_EUserHasLicenseResultHasLicense 0 User has a license for specified app.
USER_HAS_LICENSE_RESULT_DOES_NOT_HAVE_LICENSE k_EUserHasLicenseResultDoesNotHaveLicense 1 User does not have a license for the specified app.
USER_HAS_LICENSE_RESULT_NO_AUTH k_EUserHasLicenseResultNoAuth 2 User has not been authenticated.