This repository was archived by the owner on Mar 31, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 178
Protobufs
Michael Scholtz edited this page Mar 5, 2017
·
6 revisions
This page describes the meaning and purpose of various protobuf fields used by Steam, reverse-engineered by the community. If you know something that isn't mentioned here, please add it.
Feel free to add descriptions for protobufs that aren't currently exposed by node-steam, since this page is intended to be language-agnostic.
-
account_name- your Steam login. Required? -
password- required unlesslogin_keyis used? -
auth_code- Steam Guard code. Must be valid if provided, otherwise the logon will fail. Note that Steam Guard codes expire after a short while. -
two_factor_code- Two-factor authentication code provided by the Steam mobile application. You will have to provide this code every time you log in if your account uses 2FA. -
sha_sentryfile- SHA1 hash of your sentry file. If not provided, Steam will send you a sentry file through the ClientUpdateMachineAuth message (unless a limit for registered sentries is reached? see #178). If no Steam Guard code is provided, the hash must be already registered with this account, otherwise it's ignored. This value will be ignored if you enable 2FA. -
login_key- alternative topassword?
If the account has Steam Guard enabled and you provide neither a Steam Guard code nor a sentry hash registered with this account, the logon will fail and you'll receive an email with the code.
If you provide both a sentry hash and a valid Steam Guard code, the hash will be registered with this account. This allows you to reuse the same hash for multiple accounts.
-
eresult- alwaysEResult.OK? -
webapi_authenticate_user_nonce- a new "loginkey" to be used with WebAPI's AuthenticateUser.
-
games_played- may contain multipleGamePlayedmessages for multi-game idling?
-
game_id- AppID. Needs some specific value for non-Steam games? (15444025664222527488works) -
game_extra_info- name of the non-Steam game.
-
bytes- data to write.
-
sha_file- SHA1 ofbytes. (Or of the resulting file? Won't matter until offsets are used.) The only field required for a response.
-
friends- may contain multipleFriendmessages.
-
friendid- SteamID of the user. -
persona_state-EPersonaState. -
player_name- profile name.
-
steamid_clan- SteamID of the group. -
events- mutually exclusive withannouncements? Contains at most oneEvent? -
announcements- mutually exclusive withevents? Contains at most oneEvent?
-
headline- headline of the announcement or the event.
-
eresult-EResult, the logon was successful if equal toEResult.OK. -
webapi_authenticate_user_nonce- "loginkey" to be used with WebAPI's AuthenticateUser.