A Swift package to directly interact with Steam.
- Login to a Steam account (via password or 2FA code)
- Retrieve basic user info
- Steam identifier
- Account flags
- Steam Community vanity profile URL
- Friends list Steam identifiers & friend status
- Add/remove friends
- From the File menu, select Add Packages…
- Enter "https://github.com/sebj/steam" into the package repository URL text field
Add the following to the dependencies of your Package.swift file:
.package(url: "https://github.com/sebj/Steam.git", ...)
- Choose a server from
SteamServer.defaultServersor fetch the latest Steam server list usingSteamServersFetcher. - Instantiate a
SteamServiceand connect to the chosen server (connect). login- Receive user information and friends list, and use any functions that require user authentication (
addFriend,removeFriendetc) as desired.
Several Steam Protobufs from SteamDatabase/Protobufs and their converted Swift models (via Swift Protobuf) are bundled with this library, as Swift packages do not currently support running scripts/custom build phase actions (which would ideally be used to clone the Protobufs repo, convert and copy the relevant files).
This library is released under the MIT license. See the LICENSE file for more information.