hjorslev / SteamPS

Module that utilizes PowerShell as a wrapper for SteamCMD and interacts with various Steam APIs.
https://www.powershellgallery.com/packages/SteamPS
MIT License
71 stars 14 forks source link

Support for more SteamCMD parameters #48

Closed hjorslev closed 12 months ago

hjorslev commented 2 years ago

Describe "Functionality"

There is quite a few commands to SteamCMD:

api_logging : api_logging <enabled> <verbose> : enable/disable verbose API logging in steamcmd
app_build_all_depots : app_build_all_depots [-desc <text>] -depotconfigpath <folder> -contentroot <folder> -buildoutput <folder> <appid> : Build all depots for one app
app_dlc_status : app_status <appId> <dlcId>
app_info_print : Dumps app info for appID
app_info_request : <AppID> - Issue an appinfo request for the given appid. Does not wait for results from the server.
app_info_update : [0|1] : trigger app info update, optionally for update all
app_install_script : <AppID> [uninstall:0|1]- Runs app install script.
app_launch : <appId> [LaunchOptionIndex] [Arguments]
app_license_request : <AppID> - Requests a free licenses for this app if not already owned.
app_run : <appId> [LaunchOptionIndex] [Arguments]
app_set_config : <AppID> <key> <value> - sets a config value for given app.
app_set_update_flag : app_set_update_flag <appId>
app_status : app_status <appId>
app_stop : <appid> [force:0|1] stop this running app
app_uninstall : <appId>
app_update : app_update <appid> [-validate] [-language <lang>] [-beta <betaname>] [-betapassword <pwd>] make sure a Steam application is up-to-date
app_update_cancel : <EAppUpdateError>
apps_installed :
apps_running : displays information about running games tracked by Steam
async_disconnect : async disconnect
build_backup : <appid> <target folder> [max folder size MB]
build_installer : <project file> <target folder> [beta key] [beta pwd]
ceg_wrap : ceg_wrap <appid> <orig filename> <stripped filename> <strips filename> : upload executable to back end for CEG wrapping
cm_force_change : Change CM List
device_authorize_status : prints device authorization status
download_chunk : download_chunk <appid> <depotid> <sha>: download a single chunk from a depot
download_depot : download_depot <appid> <depotid> [<target manifestid>] [<delta manifestid>] [<depot flags filter>]: download a single depot
download_item : download_item <appid> <PublishedFileId> : download a workshop item directly
download_sources : Dumps list of download sources
drm_wrap : drm_wrap <appid> <input filename> <output filename> <toolname> <flags> : upload executable to back end for DRM wrapping
dump_box_ips : dump the list of detected local box IP addresses
dump_scheduled_functions : usage: "dump_scheduled_functions" Displays internal Steam function callback timers
exit : Stops Steam client console
find : find substrings in console commands
force_install_dir : force_install_dir <directory>
get_download_throttle :
help : Show help information
http_test : <optional_url> test HTTP connectivity via specified URL
info : Dump various Steam info
library_folder_list : list all mounted Steam volumes
licenses_for_app : <appid> : shows active licenses for appid
licenses_print : display users's Steam3 licenses
log_callbacks : usage: "log_callbacks <first callbackID> [last callbackID]
log_ipc : usage: "log_ipc [counts|verbose|#maxcount] <filter>" Enables IPC logging. Specifying "counts" or "verbose" is optional, defaulting to counts.
login : <username> [<password>] [<Steam guard code>] - login to Steam
logoff : Disconnect from Steam
logon : see 'login'
logout : Disconnect from Steam
manifest_dump : <filename> [0|1: include chunks]
mem_stats : Dump memory stats
net_msgdump : Dumps list of sent net messages
net_msgspew : Spews sent and recv net messages
p2p_info : usage: "p2p_info" Displays the current state of the P2P networking subsystem.
package_info_print : Dumps package info for packageID
profile : <seconds> profile for N seconds
quit : Stops Steam client console
render_ipc_connections : usage: "render_ipc_connections
run_app_build : run_app_build [-preview] [-desc <text>] <appbuildfile> : run app depot build as specified in appbuildfile
run_app_build_http : run_app_build_http : alias for run_app_build
runscript : <scriptfile> - runs a console command script
set_app_beta_password : set_app_beta_password <appid> -betapassword <pwd> -- opt-in to the app beta with the given password
set_download_throttle : set_download_throttle <kbps> <bPersistent = false>
set_spew : <group> <level> <loglevel> set spew levels for the given group
set_spew_level : <SpewLevel LogLevel> Sets spew and log level for all groups
set_steam_guard_code : <code> - authorize this computer by adding the Steam Guard email code
sign_install_script : sign_install_script <appid> <input filename> <output filename> : upload install script to back end for signing
swarm_get_bucket_manifest : <appid> <bucket_hw_id> <bucket_sw_id> - query Swarm bucket depot manifest, if depot built
swarm_tc_loop : <src_bucket_hw_id> <src_bucketsw_id> <dst_bucket_hw_id> <dst_bucket_sw_id> <work_dir> <tool_appid> <entrypoint> <src_file> <dst_file>
test_dropcon : Tests dropping a connection
test_failnextconnect : Tests failing the next connection
test_opus_voice_encode : test an opus voice encode
test_reconnect : Reconnect after using test_failnextconnect&test_dropcon
test_voice_encode : test a voice encode
timed_trial_add_playtime : timed_trial_add_playtime <appId> <seconds>: add trial app playtime (developer only)
timed_trial_reset_playtime : timed_trial_reset_playtime <appId> : reset trial app playtime (developer only)
timed_trial_status : timed_trial_status <appId> : show time trial app status
upload_controller_config : upload_controller_config <appid> <filename> : upload controller config to cloud
user_friends : Dumps list of friends
verify_chunk_store : verify_chunk_store <appid> <depotid> <datafile> : run app depot build as specified in appbuildfile
verify_vpk : verify_vpk <datafile> : verifies content of given VPK
voice_game_usage : displays information about the game's use of Steam voice
workshop_build_item : workshop_build_item <build config filename> : build a workshop item
workshop_create_legacy_item : workshop_create_legacy_item <appid> <workshop file> : build a legacy workshop item
workshop_download_item : workshop_download_item <appid> <PublishedFileId> : download an item using the workshop system
workshop_status : workshop_status <appId>

However, only a few are incorporated in SteamPS.

Context "Private or Public? What are the use cases? Parameters? Options?"

Consider implementing some of them e.g. workshop_download_item that can be useful when keep a game server up to date.

Suggested parameters to implement in some decent way:

Context "Additional Information"

https://github.com/dgibbs64/SteamCMD-Commands-List/blob/master/steamcmd_commands.txt

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.