Instalas addons do Workshop do Garry's Mod de forma limpa através de uma Steam Workshop Collection, uma Steam Web API Key e, opcionalmente, resource.AddWorkshop() para o download no cliente. Assim, a configuração do servidor continua fácil de acompanhar, os addons podem ser trocados centralmente e, em caso de problemas, consegues verificar de forma direcionada se a Collection, a API Key ou IDs individuais do Workshop estão incorretos.

Pré-requisitos

Precisas de acesso aos parâmetros de arranque do teu servidor Garry's Mod, de uma Steam Workshop Collection e de uma Steam Web API Key. A fonte oficial de conteúdos do Workshop do Garry's Mod é o Steam Workshop para Garry's Mod. Criam-se API Keys através da página oficial da Steam steamcommunity.com/dev/apikey.

Planeia a seleção de addons com cuidado. Uma Collection grande pode prolongar o arranque do servidor, obrigar os clientes a downloads mais longos e tornar os erros mais difíceis de encontrar. Para servidores de produção, faz sentido testar primeiro os addons individualmente ou em pequenos grupos antes de os adicionares de forma permanente à Collection principal. Na game-serverhosting, este processo encaixa bem num modelo de operação controlado: as alterações são documentadas, verificadas e só depois disponibilizadas aos jogadores.

Criar uma Workshop Collection

  1. Vai ao Steam Workshop
  2. Cria uma nova Collection
  3. Adiciona todos os addons desejados
  4. Copia a Collection-ID

A Collection-ID aparece no URL da Steam Collection. Copia apenas a ID numérica, não o URL completo. Garante também que a Collection é pública ou acessível ao servidor. Se um addon for removido, tornado privado ou atualizado pelo autor, isso pode afetar o arranque do teu servidor ou os downloads dos clientes. Por isso, depois de alterações maiores, verifica sempre a consola do servidor.

Carregar a Collection no servidor

Na linha de arranque do servidor:

+host_workshop_collection <collection_id>
-authkey <steam_web_api_key>

Substitui <collection_id> pela ID da tua Workshop Collection e <steam_web_api_key> pela tua Steam Web API Key. O parâmetro +host_workshop_collection indica ao servidor que deve carregar a Collection especificada. O parâmetro -authkey fornece o acesso aos serviços web da Steam necessários para os downloads do Workshop.

Workshop Collection ID no painel da game-serverhosting: guardar a Steam Workshop Collection por ID diretamente no servidor Garry's Mod
Workshop Collection ID no painel da game-serverhosting: guardar a Steam Workshop Collection por ID diretamente no servidor Garry's Mod

Depois de inserires os parâmetros de arranque, reinicia o servidor. No primeiro arranque, observa a consola ou o log. Se os conteúdos do Workshop não carregarem, a causa costuma estar numa Collection-ID errada, numa API Key em falta ou inválida, ou num addon que já não está acessível.

Steam Web API Key

Necessária para downloads do Workshop:

  1. Vai a steamcommunity.com/dev/apikey
  2. Gera uma key
  3. Insere-a como -authkey na linha de arranque

Trata a API Key como um token de acesso. Não a partilhes publicamente nem a coloques em fóruns, capturas de ecrã ou repositórios acessíveis ao público. Se suspeitares que a key foi exposta, deves gerar uma nova na Steam e deixar de usar a key antiga.

Jogadores descarregam addons automaticamente

Para que os jogadores descarreguem addons automaticamente, adiciona isto em lua/autorun/server/workshop.lua:

resource.AddWorkshop("workshop_id_1")
resource.AddWorkshop("workshop_id_2")
resource.AddWorkshop("workshop_id_3")

resource.AddWorkshop() usa IDs individuais do Workshop. Insere aqui os addons que os clientes devem obter automaticamente ao conectar. Isto é especialmente importante para mapas, modelos, materiais, sons ou outros conteúdos de que os jogadores precisam localmente. Addons apenas do servidor não precisam necessariamente de ser distribuídos aos clientes.

Mantém este ficheiro bem estruturado. Podes agrupar addons por finalidade, por exemplo mapas, armas, playermodels ou HUDs. Se um addon causar problemas, comenta temporariamente a respetiva entrada e reinicia o servidor. Assim encontras conflitos mais rapidamente sem desmontar toda a Collection.

Categorias populares de addons

Categoria Exemplos
Mapas ttt_minecraft, ph_office
Armas M9K Weapons, TFA Base
Playermodels PM + Playermodel Selector
Ferramentas Wiremod, Precision Tool
HUDs DarkRP HUD, TTT HUD

Estas categorias são exemplos típicos, não uma recomendação para todas as configurações. Servidores DarkRP, TTT, Prop Hunt e Sandbox têm requisitos diferentes. O importante é que os addons combinem com o modo de jogo, sejam mantidos ativamente e não tragam funções duplicadas. Duas bases de armas, vários HUDs ou várias ferramentas de administração podem interferir entre si.

Se também geres outros jogos com workflows de mods, os princípios do guia do Workshop do Project Zomboid e do guia para instalar mods no ARK ajudam: primeiro esclarecer dependências, depois inserir IDs corretamente e, por fim, verificar com logs e um teste de cliente.

Verificar o resultado

Reinicia o servidor depois de cada alteração maior e controla três pontos. Primeiro: a consola não deve mostrar erros do Workshop relativos à Collection ou à API Key. Segundo: os addons desejados devem estar disponíveis do lado do servidor, por exemplo mapas na lista de mapas ou ferramentas no modo de jogo correto. Terceiro: um cliente de teste deve carregar automaticamente os conteúdos necessários ao conectar ou não deve mostrar problemas de missing textures.

Testa, se possível, com um cliente que ainda não tenha os addons subscritos localmente. Caso contrário, podes facilmente não reparar que o download automático para novos jogadores não funciona. Em servidores públicos, também vale a pena colocar uma breve nota na descrição do servidor se forem necessários downloads muito grandes.

Resolução de problemas

  • O addon não carrega: verifica a Steam Web API Key
  • Missing Textures: instala o CSS Content Pack
  • Download lento: reduz a Collection ao essencial

Se a Collection inteira não carregar, verifica primeiro erros de escrita em +host_workshop_collection e -authkey. Se faltar apenas um addon específico, abre a página dele no Workshop e confirma se ainda está disponível. No caso de texturas em falta, distingue entre conteúdos do Workshop e conteúdo externo necessário. Servidores Garry's Mod usam frequentemente conteúdos que não são substituídos automaticamente por um único addon.

Em tempos de carregamento longos, remove mapas não usados, modelos duplicados, pacotes de armas antigos e grandes coleções de sons ou materiais. Uma Collection menor é mais fácil de manter e reduz a probabilidade de jogadores desistirem no primeiro join.

Verificação, limites e caminho seguro de regresso

O guia “Instalar addons do Workshop do Garry's Mod” aplica-se ao tipo de servidor descrito no artigo e à versão visível no momento da verificação. Nomes de menus, versões disponíveis, compatibilidade de mods ou plugins e recursos necessários podem mudar após atualizações. Por isso, não transfiras valores para outra versão de jogo, loader ou servidor sem os verificares.

Antes de alterações ao mundo, ao save, à configuração ou a extensões, cria um backup dos ficheiros afetados. Depois altera apenas um passo coerente de cada vez e verifica-o com a mesma versão de cliente e servidor com que pretendes jogar mais tarde.

Ponto de verificação Resultado esperado Interrupção e regresso
Arranque do servidor O servidor chega ao estado operacional sem novas mensagens de erro. Em caso de erros de arranque, reverte a alteração e restaura o último backup.
Teste de ligação Uma conta de teste consegue ligar-se através do endereço mostrado no painel. Em caso de erros de versão ou ligação, volta a comparar versão, porta e permissões.
Teste de função A função alterada em concreto funciona sem danificar dados existentes do mundo ou do jogo. Em caso de efeitos secundários, para o servidor e restaura os ficheiros guardados.

Um teste individual bem-sucedido não é garantia de desempenho ou disponibilidade. O tamanho do mundo, mods, plugins, número de jogadores, rota de rede e carga simultânea podem alterar o resultado. Documenta a versão, a alteração e o resultado do teste para conseguires compreender desvios posteriores.

FAQ

Preciso sempre de uma Workshop Collection?

Para um servidor com vários addons, uma Collection é o caminho mais limpo, porque geres a seleção centralmente na Steam. IDs individuais do Workshop em resource.AddWorkshop() continuam a ser importantes para que os clientes descarreguem automaticamente os conteúdos necessários.

Qual é a diferença entre Collection-ID e Workshop-ID?

A Collection-ID aponta para uma coleção com vários addons. Uma Workshop-ID aponta para um addon individual. Na linha de arranque usas a Collection-ID; em resource.AddWorkshop() inseres IDs individuais do Workshop.

Porque é que os jogadores veem texturas em falta?

Texturas em falta surgem normalmente quando os conteúdos do cliente não foram carregados ou quando é necessário conteúdo adicional. Verifica resource.AddWorkshop(), as IDs dos addons e se o addon afetado aponta para outros conteúdos.

Tenho de reiniciar o servidor após cada alteração de addon?

Para alterações nos parâmetros de arranque, na Workshop Collection ou em ficheiros Lua do lado do servidor, deves reiniciar. Só assim verificas com fiabilidade se o servidor carrega corretamente a Collection e regista os recursos do cliente.

Qual deve ser o tamanho de uma Collection?

Tão pequena quanto possível e tão grande quanto necessário. Remove addons que o teu modo de jogo não usa ativamente. Isso facilita a procura de erros, mantém os downloads geríveis e torna alterações durante a operação mais controláveis.