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
UDK.exe aocffa-moor_p?steamsockets
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]
[AOC.AOCGame] ... ;If true: don't add SDK maps to the maplist automatically bDontAddSdkMapsToList=true |
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
If you don't have direct access to the server, speak to your server operator about hosting custom content.
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!
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
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.
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
-forcedownload – forcibly redownloads every file in the download list. Otherwise, the tool only updates files that have changed |
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