It was primarily created to easily exclude files or folders from being uploaded.
You can use the --glob
and --ignore-file
options to specify files or folders to exclude (case-sensitive). By default, files and directories matching ignore patterns from files like .ignore
and .gitignore
are automatically excluded.
I resisted the urge to name it 'Yet Another Workshop Uploader'...
And, I'm not planning to have a GUI for now. I lied.
Btw, don't tell me someone's already made one with the feature to exclude stuff? I couldn't find any when I needed it.
- Setting language/locale for the items' title and description
- Item Metadata. Not sure how to implement this since metadata is dynamic. Maybe a plugin system where you could use contained scripts to derive them with read-only access to the mod and game folder?
- Paid items for a Curated Workshop
You can create a workshop item using the following command:
workshop create --content 'path/to/workshop/content/folder' --app-id 0 # App ID of the game
Currently, all arguments for the create
command are optional, and you will be prompted interactively for any required inputs.
To disable prompts for scripting purposes, use the --no-prompt
flag.
To see all available options, use the --help
flag.
A file like the one below should be located in the root of the workshop item's content folder:
app_id = 0 # App ID of the game
item_id = 0 # Workshop item ID
tags = ["mytag"] # Item tags
This file is automatically generated when a workshop item is created using this tool.
You can then update the item using the following command:
workshop update --content 'path/to/workshop/content/folder'
To see all available options, use the --help
flag.
The config file is located at $XDG_CONFIG_HOME/io.github.nozwock.steam-workshop-uploader/config.toml
. Or, you can place config.toml
next to the executable, which will take priority.
You can disable the automatic opening of the workshop item page after creating or updating an item in the config file.
Support for predefined tags is available for workshop items based on the App ID, defined in the config file:
[valid_tags]
# App ID = List of Tags
0000 = ["overhaul", "skins", "map", "etc"]
0001 = ["mod"]