Publishing to the Steam Workshop

Publishing to the Steam Workshop

The workshop is basically a marketplace to share content, making it a nice fit for Cepheus Protocol. For users it’s a great way to add new content easily, as all they need to do is subscribe to that content and it will get downloaded, installed and updated automatically. For content creators (mod teams) it’s a great way to share their content as Steam will provide them with all the bandwidth they need and creating and updating workshop items is relatively straightforward. This guide is for mod teams that create content and want to publish it. We expect to expand this over time as we develop and expose more systems.

Currently we only support Custom Music added to the buildable Loud Speakers but we are looking into Custom Action and Calm music and game adjustments via ini files. Stay tuned!

Prerequisites

At this point in time we assume you already have one or more packages that you want to publish in the workshop. Furthermore, you have to have a Steam account that satisfies the following conditions:

  1. Your account has to be at least “level 1”.
  2. You need to have accepted the Steam Subscriber Agreement.
  3. You need to have bought a copy of Cepheus Protocol on Steam

If you don’t want to make your Mod public (Speaker SFX Only)

Keep in mind you can just place music in wav format inside the Workshop folder and not upload them at all as well and the game will auto detect the files upon launch and make them available. The 979640 is unique to our project and is basically an unique identifier on steam. Just make a music folder and drop them in the location below adjust as needed for your install path as the D drive might not be the location of your install drive.

D:\SteamLibrary\steamapps\workshop\content\979640

Setting up SteamCMD

You need to download a small tool called SteamCMD. If you’ve ever downloaded dedicated server packages on Steam, you might be familiar with it. Instructions on how to download and install it can be found here: https://developer.valvesoftware.com/wiki/SteamCMD

Publishing and Updating

Create a new folder somewhere on disk where you’re going to keep all your workshop related content. I propose a structure somewhat like this:

C:\dev\workshop\mycooltrack\
                            metadata.vdf
                            preview.jpg
C:\dev\workshop\mycooltrack\content\
                                    MyCoolTrack-v1.wav

The preview.jpg is actually a small preview image that will be shown in the workshop. You can later add more images or videos manually. The MyCoolTrack-v1.rfcmp is just a normal component which you create like you always do with the Cepheus Procotol modding tools. The only thing you need to then do is create a textfile called metadata.vdf which contains the following text:

"workshopitem" {
  "appid" "979640"
  "publishedfileid" "0"
  "contentfolder" "C:\dev\workshop\mycooltrack\content"
  "previewfile" "C:\dev\workshop\mycooltrack\preview.jpg"
  "visibility" "0"
  "title" "My Cool Track"
  "description" "My Cool Track is a road circuit designed by famed Mister Modding. It is a 3-mile road circuit with elevation changes and 12 corners. Situated in the lovely countryside, this track is a favorite of both drivers and fans, with good weather throughout the year."
  "changenote" "Version 1 is the first public release of this track."
}

That’s all you need in terms of setup. Going over each line in the file:

  • appid is the unique identifier for Cepheus Protocol, so there is no need to change this;
  • publishedfileid should be zero for all new items and after running SteamCMD once, that tool will fill out a unique identifier for your workshop item, which use can use to update this item later;
  • contentfolder must contain an absolute path to a folder with all the content for this item and the convention we use for Cepheus Protocol is that you can put one or more components in that folder that get installed automatically by the package manager;
  • previewfile points to an image that will be shown in the workshop;
  • visibility can be left at zero, which means your item is visible to the public (“1” makes it visible to friends only and “2” makes it private, so only you and other co-creators can see it);
  • title is the title of the item in the workshop;
  • description is a multi-line description of your item and can contain some “bbcode” for formatting;
  • changenote is a message that is specific to the version you are uploading and normally includes a version number and a change log.

If everything is setup, open a command shell and run SteamCMD like this (you should probably make a small batch file for it that you can quickly re-run):

SteamCMD.exe +login USERNAME PASSWORD +workshop_build_item c:\dev\workshop\mycooltrack\metadata.vdf +quit

One word of warning here. If you use the same USERNAME and PASSWORD to log into the Steam Client on the same computer, there seem to be some unwanted interactions between those two accounts. Therefore, in that case, please quit your Steam Client while SteamCMD is running!

Watch the output for any errors. If everything worked you should be able to view your item in the workshop and others can subscribe to it. More details can be configured using the Steam Client of website of Steam.

That’s it. You can further enhance your workshop item in the web interface where you can add further screenshots, movies and many other things that you cannot do with the command line tool.

Updating your item is also simple. Just make changes to the content folder and the metadata file and re-run the command to update your item.