All Projects → hjorslev → SteamPS

hjorslev / SteamPS

Licence: MIT license
Module that utilizes PowerShell as a wrapper for SteamCMD and engages with several Steam APIs.

Programming Languages

powershell
5483 projects

Projects that are alternatives of or similar to SteamPS

Server-Creation-Tool
A Tool to easily create Server via SteamCMD
Stars: ✭ 33 (-15.38%)
Mutual labels:  steam, steamcmd
SteamCMD-AppID-List
Complete Steam AppID List
Stars: ✭ 12 (-69.23%)
Mutual labels:  steam, steamcmd
CreamInstaller
Automatically finds all installed Steam, Epic and Ubisoft games with their respective DLC-related DLL locations on the user's computer, parses SteamCMD, Steam Store and Epic Games Store for user-selected games' DLCs, then provides a very simple graphical interface utilizing the gathered information.
Stars: ✭ 274 (+602.56%)
Mutual labels:  steam, steamcmd
csgo-cli
CS:GO Console shows your user account, stats and latest matches. It also uploads demo sharecodes to csgostats.gg.
Stars: ✭ 31 (-20.51%)
Mutual labels:  steam
steam-data
A simple data project for Steam data
Stars: ✭ 29 (-25.64%)
Mutual labels:  steam
SalienSnake
A simple bot written on Python for the Steam 2018 summer sale.
Stars: ✭ 16 (-58.97%)
Mutual labels:  steam
node-steam-chat-bot
[Inactive] Simplified interface for a steam chat bot
Stars: ✭ 28 (-28.21%)
Mutual labels:  steam
SaliensAuto
Automate Saliens with no web browser required, easy to install and many features (Auto join zone/planet, auto repeat, auto kill, invincibility, always max points,...)
Stars: ✭ 27 (-30.77%)
Mutual labels:  steam
RemoteControlDocs
📻 API Documentation for the Steam Remote Control
Stars: ✭ 16 (-58.97%)
Mutual labels:  steam
Conty
Easy to use unprivileged Linux container packed into a single portable executable
Stars: ✭ 198 (+407.69%)
Mutual labels:  steam
SteamAuthOOP
OpenID-Login through Steam for your website
Stars: ✭ 32 (-17.95%)
Mutual labels:  steam
hookey
Enables all the DLCs. Like Creamapi but just for linux and a subset of Paradox games.
Stars: ✭ 87 (+123.08%)
Mutual labels:  steam
Chat-LoggerPP
Steam Chat Logger
Stars: ✭ 13 (-66.67%)
Mutual labels:  steam
overthefirewall
覆盖全平台完全免费节点订阅机场推荐破解VPN软件分享
Stars: ✭ 1,042 (+2571.79%)
Mutual labels:  steam
SteamAchievementNotifier
Steam Achievement Notifier is an Electron application that shows a customisable notification when you unlock any Steam Achievement! It uses the Steam Web API to track achievement stats in real time, and displays an achievement summary within the notification.
Stars: ✭ 77 (+97.44%)
Mutual labels:  steam
idle master extended
🃏 Get your Steam Trading Cards the Fast Way (Fast Mode Extension 🚀)
Stars: ✭ 1,771 (+4441.03%)
Mutual labels:  steam
its-ok-i-guess
🧐 Guess the game from the Steam review!
Stars: ✭ 41 (+5.13%)
Mutual labels:  steam
auto-task
此版本不再维护,新版本地址:https://github.com/HCLonely/auto-task-v4
Stars: ✭ 37 (-5.13%)
Mutual labels:  steam
SourceRadio
Stream music from YouTube while playing games on Steam
Stars: ✭ 10 (-74.36%)
Mutual labels:  steam
VTFLib
VTFLib is a LGPL open source programming library that provides a C and C++ API for reading and writing Valve VTF and VMT format image files.
Stars: ✭ 68 (+74.36%)
Mutual labels:  steam

SteamPS

AppVeyor master Azure DevOps builds AppVeyor tests (master) Codacy master grade

Introduction

PowerShell Version PowerShell Gallery

SteamPS is a PowerShell module that can interact with SteamCMD, a command-line version of the Steam client.

SteamPS is aimed at server administrators maintaining one or more servers. It can be used to install SteamCMD, update game servers, query Steam based game servers for server information and more.

Command Reference

Cmdlet Description
Connect-SteamAPI Create or update the Steam Web API config file.
Find-SteamAppID Find a Steam AppID by searching the name of the application.
Get-SteamFriendList Returns the friend list of any Steam user.
Get-SteamNews Returns the latest news of a game specified by its AppID.
Get-SteamPlayerBan Returns Community, VAC, and Economy ban statuses for given players.
Get-SteamPlayerSummary Returns basic profile information for a list of 64-bit Steam IDs.
Get-SteamServerInfo Query a running Steam based game server.
Install-SteamCMD Downloads and installs SteamCMD.
Resolve-VanityURL Resolve a vanity URL (also named custom URL).
Update-SteamApp Install or update a Steam application using SteamCMD.
Update-SteamServer Update a Steam based game server through a workflow.

Prerequisites

  • Windows based OS
  • Windows PowerShell 5.1 / PowerShell 6+

You can find your version of PowerShell by using:

$PSVersionTable.PSVersion

Getting Started

Install from PowerShell Gallery

The module is published in the PowerShell Gallery.

Run the following in an elevated prompt to install the module globally for all users on the server:

Install-Module -Name SteamPS

The module can also be installed in the current user's scope by adding -Scope CurrentUser to the above mentioned command. If multiple people are administrating the server, it can be easier to maintain the module by having SteamPS installed in just one location.

Furthermore, if you plan to have cmdlets from the module running unattended you will need to make sure that the module is available to the user running it. This can be achieved by ensuring the module is installed for the user running it, or just have it installed globally for all users as exemplified above.

When SteamPS is installed you will need to use the cmdlet Install-SteamCMD from the module to install SteamCMD. This is done by calling Install-SteamCMD from an elevated prompt:

Install-SteamCMD

Select application

By using the parameter -InstallPath you can specify an install location of SteamCMD. The default installation path is C:\Program Files\SteamCMD. The install path, default or custom, is added to the PATH.

Usage

Update single app / game server

The cmdlet Update-SteamApp is used to both install and/or update an application. You can either specify the name of the application or the application ID.

Install / Update using ApplicationName

If you enter e.g. Ground Branch as an application name you will see both the game itself as well as the dedicated server. You will have to select the correct application from the popup box.

Update-SteamApp -ApplicationName 'Ground Branch' -Path 'C:\DedicatedServers\GB'

Select application

You can narrow down the search by typing an application name that is more specific than simply Ground Branch e.g. Ground Branch Dedi or type it out in its entirety as Ground Branch Dedicated Server. This will only give one result and not display a popup.

Update-SteamApp -ApplicationName 'Ground Branch Dedicated Server' -Path 'C:\DedicatedServers\GB'

Select application

Install / Update using AppID

In this example we install ARK: SurvivalEvolved Dedicated Server by using its AppID. The AppID can be found by using a database such as Steam Database or by searching for the AppID with the cmdlet Find-SteamAppID e.g. Find-SteamAppID -ApplicationName 'Counter-Strike'.

Update-SteamApp -AppID 376030 -Path 'C:\DedicatedServers\ARK-SurvivalEvolved'

Authenticating

The two previous examples do not require authentication to install. However, some applications might require a Steam account. If that is the case, you will need to use the parameter -Credential to authenticate:

Update-SteamApp -ApplicationName 'Ground Branch Dedicated Server' -Path 'C:\DedicatedServers\GB' -Credential SAS_Admin

This will present you with an option to type in your password.

In case you need to authenticate and want to run the script unattended, avoid writing the password in plaintext in the script. See how this can be achieved: Store Credentials in PowerShell Script.

Update Steam server automatically

The cmdlet Update-SteamServer is, at least for my own use case, applied to automatically keep a server up to date. It will check if the server is empty before updating it. The script is configured as a Windows Task and runs very night.

Please see the wiki for further information: Update Steam server automatically.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].