If a map or mod is uploaded to the Workshop, people will be able to find, rate, and comment on it. Perhaps more importantly, server operators will be able to download the map from Steam, and any users who connect to servers with the map will automatically download it from the Workshop. This is pretty big for getting people to actually play your content.
Workshop updates
Join the Workshop Beta Steam Group
Beta information
Creating an upload info file
Open up ChivlaryDirectory\UDKGame\CookedSDK\__CMWSDKFiles
In here, you'll see an example upload info file, wsinfo_SDKTest.txt. Copy this and rename the copy. Open it up.
In this you'll see five variable names followed by values in quotation marks. e.g. $PackageDirectory "SDKTest" means that the variable $PackageDirectory has the value SDKTest. You'll need to edit this file to match your needs. An explanation of every variable follows:
- $PackageDirectory – should correspond to your mod package subdirectory in CookedSDK. For instance, for a subdirectory at ChivlaryDirectory\UDKGame\CookedSDK\SDKTest, use "SDKTest"
- Map-only mod packages: set this to "AOCSDKLevels"
- $PackageIdentifier – you'll usually leave that as "01". However, if you upload multiple files for the same mod (for instance, you want to split a mod up, maybe uploading some maps separately from main mod), increment this number for each upload or else you'll end up overwriting your previous upload in the Workshop!
- $Description – the description that shows up in the Workshop. This can be edited after you've uploaded.
- $Title – the title that shows up in the Workshop. This can be edited after you've uploaded.
- $PreviewFile – a 512x512 image file which should be in the same directory (i.e. ChivlaryDirectory\UDKGame\CookedSDK\__CMWSDKFiles). You can use PNG or JPEG, though PNG is usually preferable (no compression artifacts)
Uploading
Important SDK Release 1 mod information
Mods with code changes will not upload to the Workshop for Release 1. We expect the time between Release 1 and the next major SDK update (enabling code mods) to be very brief. The upload tool will partially work and will generate a .cmwsdk archive which you can then manually distribute to servers and clients, like you're already doing. Map-only mod packages are not affected by this restriction.
Edit the ChivlaryDirectory\SDK - UPLOAD TO WORKSHOP.bat batch file (Right click -> Edit will open it in Notepad). Change the name of the text file to match yours, so
@start Binaries\Win32\workshopusertool.exe wsinfo_SDKTest.txt -> @start Binaries\Win32\workshopusertool.exe wsinfo_MyAwesomeModName.txt
Make sure Steam is running and you're logged into your account. Start the batch file. It should successfully create a .cmwsdk archive inside__CMWSDKFiles which contains your mod package, compressed. It'll also have uploaded your mod to the Workshop.
Open Steam and browse to Chivalry's Workshop. If you click "Your Workshop Files" you should see your nice shiny new mod package.
Running your Workshop-uploaded map on a server
Beta information
While Workshop support is enabled only in the Beta app (which we expect to be fairly brief), you will be unable to use the server download tool to download Workshop packages. You'll need to find another way to distribute the .cmwsdk files to server operators. This is because the method the server uses to download from the Workshop won't work until the Workshop is fully "released" (i.e. not while it's locked to the workshop testing group)
- Open the example download list file at ChivlaryDirectory\Binaries\Win32\ServerDownloadList.txt, edit it to your needs and save it there or save it to a new file
- Open a command prompt window (Start -> Run -> cmd -> enter)
- Head into ChivlaryDirectory\Binaries\Win32
- Run:
WorkshopServerTool.exe -downloadfiles ServerDownloadList.txt
This will download the .cmwsdk files for every mod whose workshop URL you include in ServerDownloadList.txt. The files get placed in ServerDirectory\UDKGame\CookedSDK\__CMWSDKFiles. When you start the server, it will automatically extract the .cmwsdk files and put the extracted files in subfiles within the CookedSDK directory.
If you're running a server, you might want to do this on a regular interval to keep things up to date. At the very least, if you're hosting a mod or a work-in-progress map, be sure to watch their Workshop page or forum thread to see when its authors update it.