The normal method - server-side auto-downloading / updating
The easiest way to host a server with custom content is to add -sdkfileid=xxxxxx to the command line used to start the server. (xxxxxx being replaced with the ID from the item's Workshop URL)
If you start the server with
to add Irilla Shore, Empire, and Black Knight Mode for instance (and just for the sake of it, starting on Shore with Black Knight Mode active), that becomes
UDK.exe AOCTO-Shore_alpha_p?steamsockets?modname=BlackKnight -sdkfileid=230012942 -sdkfileid=232823090 -sdkfileid=229405113
When the server starts, it will automatically download or update each file specified.
Add as many switches as you need. If you're starting the game by manually opening a shortcut, the length of the target you can use is limited; instead, use a batch file or something.
Any downloaded maps will be automatically added to the maplist unless you add bDontAddSdkMapsToList=true to PCServer-UDKGame.ini under [AOC.AOCGame]
;If true: don't add SDK maps to the maplist automatically
You can see a server's map list by connecting to the server as a client and using the GetServerRotation console command, or see all Workshop maps on the server (in the maplist or not) with GetServerSdkMaps
Note the ?modname option in the target above; this is necessary to actually use that mod (the -sdkfileid only downloads items). The ?modname option used to start a mod differs from mod to mod. Read the Workshop description for the mod in question to learn how to set it up properly. Some mods, like Chivalry+, have additional ? options you can use to further set it up, and have custom .ini settings.
Clanforge instructions here
Other hosting with control panel-only access
If you don't have direct access to the server, speak to your server operator about hosting custom content.
Distributing and running maps/mods without the workshop (for testing):
Without the Workshop, you need to distribute the cooked files from UDKGame\CookedSDK\ to whoever you want to test your content, as well as to the server. Find the correct directory within here (they start with the mod name, end with a long string of numbers and letters), zip it up, and distribute that.
If your content exists on the Workshop already, but you want to test a new version, have everyone who is testing delete the corresponding .cmwsdk file from UDKGame\CookedSDK\__CMWSDKFiles\ ; otherwise, this will override the cooked content directory you distributed!
Hosting off-Workshop content
You need to use the client files to host off-Workshop content; that is, the files you get when you download the game itself through Steam. These work just like the dedicated server files, but are larger, and you need to specify 'server' in the command line.
Our previous command becomes
UDK.exe server AOCTO-Shore_alpha_p?steamsockets?modname=BlackKnight -sdkfileid=230012942 -sdkfileid=232823090 -sdkfileid=229405113
Other methods for getting the Workshop items onto a server
You can also get the .cmwsdk files outside of the game and upload them to the server manually, rather than having the server do this. There is no benefit to doing it this way; this used to be the only thing we supported, but that's no longer the case. It still works, though.
Downloading mod packages outside of the game using WorkshopServerTool.exe
- Open the example download list file at ServerDirectory\Binaries\Win32\ServerDownloadList.txt. You'll see a list of URLs which correspond to entries in the Steam workshop. Edit the list so that it contains only things you want to download for your server, then save it there or save it to a new file
- Open a command prompt window (Start -> Run -> cmd -> enter)
- Head into ServerDirectory\Binaries\Win32
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
Optional command line switches for WorkshopServerTool
-forcedownload – forcibly redownloads every file in the download list. Otherwise, the tool only updates files that have changed
Downloading mod packages using the Launcher
Subscribe to some Workshop items. Start the game through Steam to open the Launcher. Wait. Files will be downloaded into ClientDirectory\UDKGame\CookedSDK\__CMWSDKFiles ; you can upload them to ServerDirectory\UDKGame\CookedSDK\__CMWSDKFiles