Clone wiki

SteamPower / SteamPower

look to develop branch, if you need all of this stuff, main releases only for tested code


steam = require'SteamPower'

-- replace 480 to you'r AppID
if steam.RestartAppIfNecessary(480) then
  print('App launched not from steam!')

if not steam.Init() then
  print('Steam not available!')

Root overview

  • steam.Init()
  • steam.RestartAppIfNecessary()
  • steam.debug()
  • steam.Shutdown() [on next releases, it need for a lit of clearings and reinitialisations]
  • current state
  • + implemented
  • - in development
  • X deprecated or too hard to implement
name description
+ steam.applist Let you detect installed apps.
+ steam.apps Exposes a wide range of information and actions for applications and DLC.
X steam.appticket Interface to get app ownership data. (This should never be needed in most cases)
X steam.client Interface to create a new steam instance or to connect to an existing steam instance, whether it's in a different process or is local. "In most scenarios this is all handled automatically via SteamAPI_Init. You'll only ever need to use these APIs if you have a more complex versioning scheme, or if you want to implement a multiplexed gameserver where a single process is handling multiple games at once with independent gameserver Steam IDs" (too hard to implement multi-threading in lua-apps)
+ steam.controller Steam Controller support API.
+ steam.friends Interface to access information about individual users and interact with the Steam Overlay.
X steam.gamecoordinator Functions for sending and receiving messages from the Game Coordinator. (this is largely deprecated, and only continues to exist for the couple games that still use this., use matchmaking/matchmakingservers instead)
+ steam.gameserver Provides the core of the Steam Game Servers API.
+ steam.gameserverstats Functions to allow game servers to set stats and achievements on players.
+ steam.htmlsurface Interface for rendering and interacting with HTML pages.
+ steam.http A small and easy to use HTTP client to send and receive data from the web.
+ steam.inventory Steam Inventory query and manipulation API.
+ steam.matchmaking Functions for clients to access matchmaking services, favorites, and to operate on game lobbies.
+ steam.matchmakingservers Functions which provide access to the game server browser.
+ Functions to control music playback in the steam client.
- steam.musicremote Allows direct interaction with the Steam Music player.
- steam.networking Networking functions for making connections and sending data between clients, traversing NATs when possible.
- steam.remotestorage Provides functions for reading, writing, and accessing files which can be stored remotely in the Steam Cloud.
- steam.screenshots Functions for adding screenshots to the user's screenshot library.
- steam.ugc Functions to create, consume, and interact with the Steam Workshop.
- steam.unifiedmessages Interface to the Steam unified messages client.
+ steam.user Functions for accessing and manipulating Steam user information.
- steam.userstats Provides functions for accessing and submitting stats, achievements, and leaderboards.
+ steam.utils Interface which provides access to a range of miscellaneous utility functions.
- Provides functions to interface with the Steam video and broadcasting platforms.
- steam.encryptedappticket Utilities to decode/decrypt encrypted application tickets.
+ steam.event Provides interface for all callbacks in steam