If a map or mod is uploaded to the Chivalry: Medieval Warfare Steam 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
The mod package GUID
After you cook, you'll notice that your mod package has cooked to a directory like UDKGame\CookedSDK\AOCSDKLevels_E1ED54B24E9F8DE8C917B1ABC51E4040. The bolded component there is the mod package's UID. You'll want to save this UID. In the future, when you want to recook this same map/mod package, you should add the guid to your cook command.
So, go ahead and copy SDK - COOK.bat and paste it into a new file. Call the new batch file something you'll remember that's related to your map's name. In this batch file, on the end of the last line, add:
-Guid=xxx
(So the line will look like .\Binaries\Win64\UDKEditor.exe CookPackages -log -nohomedir -platform=PC -SDKPackage=AOCSDKLevels MyAwesomeMap MyOtherMap -multilanguagecook=int -Guid=xxx )
Replace the "xxx" with the GUID of your new package directory. Now, when you cook again it'll replace the files in that directory instead of just creating a new one. This is very important if you want to use the Workshop since it lets you just update your existing item.
Creating the 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\AOCSDKLevels_E1ED54B24E9F8DE8C917B1ABC51E4040, use "AOCSDKLevels_E1ED54B24E9F8DE8C917B1ABC51E4040"
- Map-only packages: make sure this is "AOCSDKLevels_xxx" (where xxx is your package's UID, which should be part of the subdirectory's name)
- $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. 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.
If you created a new upload text file instead of saving over the existing one: 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
workshopusertool.exe wsinfo_SDKTest.txt -> 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.