Plugin para o cliente Steam (via Millennium) que deixa você marcar cada jogo com um status — completed (zerado), dropped (dropado) ou to play (quero jogar) — direto na página do jogo. As capas marcadas ganham uma faixa colorida no topo e, de quebra, o jogo entra automaticamente numa coleção nativa da Steam com o nome do status.
Cada status é uma coleção nativa da Steam (de mesmo nome). Isso é a fonte da verdade: o plugin lê as coleções para desenhar as faixas, e qualquer forma de mexer nessas coleções — inclusive a multi-seleção nativa da Steam — reflete automaticamente nas capas.
| Status | Botão / Faixa | Cor |
|---|---|---|
| Pretendo jogar | PLAN TO PLAY |
Roxo |
| Jogando | PLAYING |
Azul |
| Zerado | COMPLETED |
Verde |
| Dropado | DROPPED |
Vermelho |
Você não precisa compilar nada — basta ter o Millennium e o arquivo .zip
do plugin já pronto.
- Instale o Millennium em https://steambrew.app/ e abra o Steam uma vez
(isso cria a pasta
...\Steam\plugins). - Extraia o
game-backlog.zipdentro de:Deve ficarC:\Program Files (x86)\Steam\plugins\...\Steam\plugins\game-backlog\plugin.json. - Reinicie o Steam.
- Vá em Steam → Millennium → Plugins, ligue o "Game Backlog" e clique em Save Changes. O Steam reinicia para aplicar.
Há duas formas de marcar, e ambas refletem nas capas:
- Em massa (mais rápido): na biblioteca, selecione vários jogos com
Ctrl/Shift + clique, clique com o botão direito → Adicionar à coleção
→ escolha
PLAN TO PLAY,PLAYING,COMPLETEDouDROPPED. As faixas aparecem em segundos. - Pelo painel: abra a página de um jogo — no canto inferior direito aparece um painel com os quatro botões. Clique para definir; clique no mesmo de novo para remover.
A capa marcada ganha a faixa colorida no topo, na grade e na página. Se um jogo estiver em mais de uma coleção de status, prevalece a de maior prioridade (COMPLETED > DROPPED > PLAYING > PLAN TO PLAY).
No painel do plugin (Steam → Millennium → Plugins → configurar o Game Backlog) há o botão "Esvaziar as coleções de status", que remove todos os jogos das quatro coleções de uma vez.
Pré-requisitos: Millennium e Bun (powershell -c "irm bun.sh/install.ps1 | iex").
# dentro da pasta do projeto
bun install
bun run buildIsso gera o frontend compilado em .millennium/. O backend em Lua
(backend/main.lua) roda direto, sem build.
Para testar localmente, copie a pasta para ...\Steam\plugins\ sem o
node_modules (caminhos longos demais para o Windows):
robocopy "<pasta-do-projeto>" "C:\Program Files (x86)\Steam\plugins\game-backlog" /E /XD node_modules .gitDepois de bun run build, monte um pacote limpo (sem node_modules) e zipe:
$src = "C:\Users\Euller\Documents\Claude\Projects\Jogos zerados steam\game-backlog"
$stage = "$env:TEMP\game-backlog-pkg\game-backlog"
Remove-Item -Recurse -Force "$env:TEMP\game-backlog-pkg" -ErrorAction SilentlyContinue
robocopy $src $stage /E /XD node_modules .git | Out-Null
Compress-Archive -Path $stage -DestinationPath "$HOME\Desktop\game-backlog.zip" -ForceO game-backlog.zip (na sua Área de Trabalho) já contém o frontend compilado e
o backend — é só isso que o usuário final precisa. Ele segue a Instalação
rápida acima.
No topo de frontend/index.tsx existe o objeto STATUS:
const STATUS = {
completed: { btn: 'COMPLETED', ribbon: 'COMPLETED', bg: '#1d9e75', fg: '#04342c' },
playing: { btn: 'PLAYING', ribbon: 'PLAYING', bg: '#2f6db5', fg: '#ffffff' },
dropped: { btn: 'DROPPED', ribbon: 'DROPPED', bg: '#b03636', fg: '#ffffff' },
planned: { btn: 'PLAN TO PLAY', ribbon: 'PLAN TO PLAY', bg: '#8250c4', fg: '#ffffff' },
};btn= texto do botão ·ribbon= texto da faixa e nome da coleção ·bg/fg= cor de fundo / cor do texto.- Depois de editar, rode
bun run buildde novo.
Ative o diagnóstico mudando const DEBUG = false; para true em
frontend/index.tsx, recompile e recopie. Abra a biblioteca e veja as linhas
[Game Backlog] em Steam → Millennium → Logs — elas mostram o status lido das
coleções e o appid da página aberta, úteis para entender qualquer capa que não
receba a faixa.
game-backlog/
├─ plugin.json # metadados + ativa backend Lua (só diagnóstico)
├─ package.json # deps e scripts de build (millennium-ttc)
├─ tsconfig.json
├─ frontend/
│ └─ index.tsx # lê/escreve coleções, faixas, painel e menu (UI)
└─ backend/
└─ main.lua # recebe linhas de log do frontend quando DEBUG=true
-
Fonte da verdade: as 4 coleções nativas da Steam. O frontend lê seus membros (
collection.allApps) e escreve comcollectionStore.AddOrRemoveApp. -
Identificação dos jogos: lê o
appiddas props internas do React de cada capa (robusto até com arte personalizada); URL da imagem é só fallback. -
Coleções: usa o
collectionStoredo cliente (NewUnsavedCollection,AddOrRemoveApp).
Aviso: usar o Millennium para customizar o cliente é cosmético e não é detectado pelo VAC. Ainda assim, é um mod de terceiros — uma atualização grande do cliente Steam pode exigir recompilar/ajustar o plugin.
Licença: MIT.

