Tool which allows batch upload and download of mods for Space Engineers.
This tools allows you to script mod uploads to the workshop. It takes various command-line options, which can be displayed by running SEWorkshopTool.exe without arguments.
Please note, this is a command-line application only. A GUI may be considered in the future, however at this time it is not planned.
- A copy of Space Engineers on Steam
- Visual Studio 2013 Update 4 or higher
- Open SEWorkshopTool.sln
- Change the references for CommandLine.dll, Sandbox.Game.dll, SpaceEngineers.Game.dll, Vrage.dll, VRage.Game.dll, VRage.Library.dll, and VRage.Scripting.dll to point to the location where Space Engineers is installed, typically <SteamApps>\Common\SpaceEngineers\Bin64
- Select Release, Any CPU, and build the solution.
- Copy the following files into the Space Engineers Bin64 directory above: SEWorkshopTool.exe, and SEWorkshopTool.exe.config.
- Open a command prompt in the Space Engineers Bin64 directory as used above.
- Run the tool with the appropriate options.
To upload a mod, execute the following:
SEWorkshopTool --upload --mods %appdata%\SpaceEngineers\Mods\FTL
To upload multiple mods at the same time, just append more directories to the command:
SEWorkshopTool --upload --mods %appdata%\SpaceEngineers\Mods\FTL %appdata%\SpaceEngineers\Mods\Stargate
Relative paths are allowed and, if used, the default data path for that mod type will be prepended:
SEWorkshopTool --upload --mods FTL Stargate --script Off-Roading
For additional checks, you can also compile the mods with the --compile argument, to verify they are valid before uploading:
SEWorkshopTool --upload --compile --mods FTL %appdata%\SpaceEngineers\Mods\Stargate
If you just prefer to test the compilation, without uploading to the workshop, you can omit --upload argument:
SEWorkshopTool --compile --mods FTL %appdata%\SpaceEngineers\Mods\Stargate
If you prefer to test publishing, but not actually publish, you can use the --dry-run argument:
SEWorkshopTool --upload --dry-run --compile --mods FTL %appdata%\SpaceEngineers\Mods\Stargate
To upload a mod tagged for the development branch, use the --dev argument (can be combined with above options):
SEWorkshopTool --dev --upload --mods FTL
If the mod directory or name contains spaces, surround the path with double-quotes:
SEWorkshopTool --dev --upload --mods "%appdata%\SpaceEngineers\Mods\Mod Folder" "My Fabulous Mod"
To upload a new mod with hidden visibility (only works for new mods):
SEWorkshopTool --upload --mods "Mod Folder" --visibility Private
You can pass custom file extensions to ignore during the upload with the --exclude argument (with or without a leading dot):
SEWorkshopTool --upload --mods FTL --exclude .fbx .pdb xml
You can also specify the mod categories with the --tags argument:
SEWorkshopTool --upload --mods FTL --tags block script
Note with Tags: If you do not specify any tags, then the existing tags on the workshop will be preserved (for updating mods). However if you specify any tags, then all tags will be replaced with what was entered.
For example: If a workshop mod contains the Block and Script categories, and you pass only --tags block, then Script will be removed.
To download a set of mods, use the --download argument. Then supply a list of workshop IDs with the --mods argument.
SEWorkshopTool --download --mods 754173702 681276386
If desired, you can also automatically extract the mods to your local %appdata%\SpaceEngineers\Mods directory with the --extract argument:
SEWorkshopTool --extract --download --mods 754173702 681276386
They will be extracted to their appropriate directory in the format: [_SEWT_] <Mod Title> (<WorkshopId>)