The Publishing Tool comes with the game. The tool is available for Windows, OSX and Linux. The Publishing tool is located in <PATH_TO_STEAM>\SteamApps\common\Duke Nukem 3d\bin\cmdtool folder. Easiest way to find this folder is by using Steam: right click on the game in Library->Properties->Local Files->Browse Local Files and then navigate to bin\cmdtool in explorer window.
The tool doesn't have a GUI, it's a command-line based tool. So you need to use a terminal/console application to work with it. First you need to launch cmd.exe: press Win+R, type cmd.exe and press Enter.
Now you need to change folder to the folder where the tool is located. To do this you need to type cd <PATH_TO_THE_TOOL> and press Enter.
Now you can launch the tool: type cmdtool and press Enter. If you see similar output like the one on the screenshot then you are ready to proceed for publishing.
Preparing And Publishing Map
You need to prepare the files for publishing. Let's say you want to publish a map called "My House".
First create a folder and name it "myhouse"
Name your map file "myhouse.map" and put it inside "myhouse" folder.
Prepare a preview image. It should be a .png file. Name it "myhouse.png" and put it inside "myhouse" folder.
(Optional) Put readme.txt file with other files (custom .voc files, .art files, etc)
Now you need to create a Workshop configuration file. Create a text file and name it "myhouse.json". Make sure it's "myhouse.json" and not "myhouse.json.txt"! Open it with your favourite text editor and copy the following content: http://pastebin.com/af7biG4d . Change the title. you can leave the description empty for now, because you can change it later on the Workshop page. Remove categories that are not supported by your map.
Your folder content probably looks like this:
Now you can finally publish your map. Switch to the cmd window and type cmdtool publish myhouse. Operation should take around one minute and output should look like this:
Don't remove your folder after publishing, it will be useful for when you decide to update your map.
Listing, Updating And Deleting Maps
To list all your published maps you can type the following command: cmdtool list This command is helpful if you decide to update or delete your map but forgot its FILE_ID
To update your map you have to prepare a folder the same way as you did for publishing or reuse your previously prepared folder. Use the following command after you have prepared the folder: cmdtool update FOLDER_NAME FILE_ID "Changelog message". Example: cmdtool update myhouse 190199901 "Added more powerups in the kitchen". If you forgot your FILE_ID use cmdtool list
You can delete your map from Workshop page or by using the following command: cmdtool delete FILE_ID.
Common issues and solutions:
Steam is not running or lost connection. Simply restart the Steam client.
Missing resources. Verify that you have all required resources: the map, preview image and json file.
One item – one map. Don't put more than one map in one Workshop item. Create yourself a Workshop Collection instead!
Credit original authors. If you have found a good map and you can't contact the original author, you can publish it yourself, but you have to put the original readme.txt file it came with and clearly credit author in the description.
Claiming ownership. If you believe that somebody has uploaded your map without your permission and/or didn't credit you properly, you can mail us contact[at]generalarcade.com and we will resolve the problem quickly.