Skip to content

GMPublish functionality without graphical steam

Notifications You must be signed in to change notification settings

Meachamp/gmodws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gmod_ws

gmodws is a binary that can upload garry's mod GMA files to the workshop. That's right, you don't need to use graphical steam or gmpublish! This is particularly attractive for automated build solutions involving workshop addons.

This project is now a standalone binary. You can download it it from the Releases section of this repository.

Usage

First, you'll need to get yourself a copy of linux steamCMD. Download it from here. Unpack and run it once.

Run steamcmd again and login with your chosen account once in order to cache the credentials. gmod_ws will later use these credentials to login.

/path/to/steamcmd.sh +login account_name +quit

Unpack all the files in the release zip. You're free to move them wherever, just be aware that the gmodws depends on steamclient.so. The binary can be run as below.

./gmodws account_name 123456 /path/to/addon.gma

Optionally, you can specify a fourth argument to the command. This will all you to control the message that appears in the update changelogs on steam.

./gmodws account_name 123456 /path/to/addon.gma "My test commit message"

Without SteamCMD

For certain CI configurations where a new environment is setup each time a build is triggered, SteamCMD may be too much trouble. Instead, you can log in to your steam account without cached credentials and without steamCMD by setting the STEAM_PASSWORD environment variable. Please note that this requires steamguard to be disabled. If you go this route, you should have a dedicated account for pushing workshop builds.

Using Docker

Docker is a great solution for distributing software, mainly because the enviroment required to run the software gets shipped with it. That means all dependencies are already present and you only need to run the software. There are two ways of using the GModWS container, the first being to manually build the container and the second would be to use the hosted solution.

You can find the Dockerfile and instructions inside the Docker folder

Debugging

Setting the GMODWS_DEBUG environment variable will cause gmodws to enter verbose mode, which may be helpful for debugging.

Compiling

Compiling is as easy as running make on a linux machine with g++. The only dependencies are pthread and dl, which should be included with a standard linux install. At runtime, gmodws will need a copy of steamclient.so.

  • Source steamclient.so from the release zip, or an install of steamCMD. Be aware that it is the 64 bit version, and the interfaces that steamclient.so exports may change without warning in new releases of steamCMD. You should normally stick with the binaries included in the release.

About

GMPublish functionality without graphical steam

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published