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.defaultServers
or fetch the latest Steam server list usingSteamServersFetcher
. - Instantiate a
SteamService
and connect to the chosen server (connect
). login
- Receive user information and friends list, and use any functions that require user authentication (
addFriend
,removeFriend
etc) 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.