Tudo o que possa colocar em mods/ pode ser publicado na Steam Workshop, e quem subscreve não tem nada para copiar: a Steam descarrega o item e o jogo lê-o diretamente da própria pasta de transferências da Steam.
Dez minutos à primeira vez, dois minutos depois. A única coisa a aceitar desde já: a Steam não tem um botão para enviar itens da Workshop. O único canal é o SteamCMD, a pequena ferramenta de linha de comandos da Valve. É igual para todos os jogos da Steam.
Como um item chega a um jogador
1. Coloque o seu conteúdo numa pasta
Um item da Workshop é uma pasta, não um ficheiro — mesmo quando só contém um circuito. Crie-a onde quiser no disco. A sua estrutura espelha a de mods/, por isso um único formato de criação serve os dois canais:
MyItem/
my_pack.db ← um pacote de mods
circuits/monaco.circuit ← um circuito (ou na raiz do item)
lang/pl.txt ← um pacote de idioma (ou pl.txt na raiz)
Tudo é opcional e um mesmo item pode levar os três. Um ficheiro na raiz do item só é lido como idioma se o nome tiver a forma de um código de idioma, por isso um readme.txt ao lado fica em paz.
Depois acrescente uma imagem de pré-visualização ao lado da pasta, não dentro dela: um PNG ou JPG com menos de 1 MB. Uma captura do editor, ou do traçado, serve perfeitamente.
2. Instale o SteamCMD
Da Valve: developer.valvesoftware.com/wiki/SteamCMD.
- Windows — descomprima o
steamcmd.exepara uma pasta própria e execute-o uma vez para que se atualize. - Linux — instale o pacote
steamcmd, ou descompacte o tarball.
3. Escreva o item.vdf
Um pequeno ficheiro de texto, ao lado da sua pasta. Mude os caminhos e o título:
"workshopitem"
{
"appid" "4514930"
"publishedfileid" "0"
"contentfolder" "C:\\Users\\me\\Workshop\\MyItem"
"previewfile" "C:\\Users\\me\\Workshop\\preview.png"
"title" "Monaco 1994"
"description" "Um citadino apertado, 3,3 km, 19 curvas."
"changenote" "Primeira versão."
"visibility" "0"
}
| Campo | Notas |
|---|---|
appid | 4514930 — The Undercut. Nunca o mude |
publishedfileid | 0 cria um item novo. Após o primeiro envio, o SteamCMD escreve aqui o id real por si |
contentfolder | Caminho absoluto para a pasta do seu item. No Windows, duplique cada barra invertida |
previewfile | Caminho absoluto para a imagem, com menos de 1 MB. Opcional — pode adicioná-la depois na página do item |
visibility | 0 público · 1 só amigos · 2 oculto. Comece oculto se quiser inspecionar primeiro a página |
4. Envie
Num terminal ou linha de comandos, com a conta Steam que possui o jogo:
steamcmd +login O_SEU_NOME_STEAM +workshop_build_item "C:\Users\me\Workshop\item.vdf" +quit
Pede a palavra-passe e o código do Steam Guard — é interativo, por isso execute-o você mesmo em vez de o correr a partir de um script. No fim imprime o id do item e escreve-o no item.vdf.
Guarde o item.vdf. É a sua chave para o item: é o que torna o envio seguinte numa atualização em vez de um duplicado. (O SteamCMD reescreve o ficheiro e retira qualquer comentário que lá ponha, por isso mantenha as suas notas noutro sítio.)
5. Aceite o acordo e complete a página
Abra a página do item na Workshop — Steam → Comunidade → Workshop → The Undercut → Os seus ficheiros. No primeiro envio, a Steam pede que aceite o acordo legal da Workshop, e o item fica invisível até o fazer. A partir daí, título, descrição, imagens e tags editam-se nessa página.
6. Confirme que funciona
Subscreva o seu próprio item. A Steam descarrega-o sozinha; não há nada para copiar. Arranque o jogo:
- um pacote aparece em Nova carreira → Mods personalizadas
- um circuito aparece nas listas de circuitos da configuração da carreira
- um idioma aparece em Definições → Idioma
Se não aparecer, corra o jogo com --list-mods a partir da respetiva pasta: imprime a pasta da Workshop que resolveu, cada item subscrito que encontrou e tudo o que cada análise recolheu.
Atualizar um item publicado
Substitua os ficheiros na mesma pasta, ponha uma changenote nova no item.vdf e corra o mesmo comando. Como o publishedfileid já contém o id do seu item, este é atualizado no lugar — sem duplicados, e quem subscreve recebe a nova versão automaticamente.
Enquanto itera, lembre-se de que um ficheiro na sua própria pasta mods/ ganha à cópia subscrita com o mesmo nome. É assim que testa uma alteração a algo que já publicou, sem cancelar a subscrição.
Se algo correr mal
| Sintoma | O que verificar |
|---|---|
| «Failed to update workshop item» | Todos os caminhos do item.vdf têm de ser absolutos e existir; a imagem de pré-visualização tem de ter menos de 1 MB |
| Início de sessão recusado | O SteamCMD é interativo — escreva o código do Steam Guard quando for pedido. A conta tem de possuir o jogo |
| A página do item está vazia depois de um envio com erro | Um id atribuído por uma criação que depois falhou é um fantasma: nada foi confirmado. Só é real um id que consiga abrir na Workshop |
| O conteúdo não aparece no jogo | Verifique a extensão (.db, .circuit, .txt) e o seu lugar na pasta do item, depois corra --list-mods |
| Na demo não funciona nada | A demo e as builds do Next Fest saem totalmente sem suporte a mods |