Vista geral
O wrapper de DRM do Steam é uma parte importante da plataforma Steam, porque verifica a posse do jogo e garante que as funcionalidades do Steamworks funcionem devidamente ao iniciar o Steam antes de iniciar o jogo.
O wrapper de DRM do Steam, por si só, não é uma solução antipirataria. O wrapper de DRM do Steam protege contra formas extremamente simples de pirataria (por exemplo, copiar todos os ficheiros de um jogo para outro computador) e usa um pouco de ofuscação, mas pode ser removido facilmente por um atacante motivado.
Recomendamos aumentar o valor das cópias genuínas do seu jogo ao usar funcionalidades do Steamworks que não funcionam em cópias ilegítimas (por exemplo, multijogador online, proezas, tabelas de liderança, cartas colecionáveis, etc.).
Consulte
Utilização do wrapper do Steam com outras soluções de DRM para mais informações sobre como combinar o wrapper de DRM do Steam com outras soluções de DRM ou que evitem a manipulação de ficheiros do jogo.
Wrapper automatizado de DRM do Steam
O wrapper do Steam pode ser aplicado a partir do script de upload do SteamPipe, o que realiza um pedido de inicialização aos servidores do Steam através do cliente conectado e depois envia o executável puro para o back‑end do Steam através de um pedido HTTP POST. O "wrapping" é realizado no servidor e o steamcmd irá depois transferir o novo executável com o "wrapping" aplicado.
Para realizar um "wrapping" de DRM com o SteamPipe, inicie sessão pelo script e execute o comando do Steam drm_wrap:
drm_wrap [appid] [nome do ficheiro inicial] [nome do ficheiro resultante] [toolname] [flags] [<destination>]
Parâmetros:
- appid – O ID numérico da aplicação.
- nome do ficheiro de entrada – O caminho relativo ou absoluto para o executável não encriptado. Não se esqueça de usar aspas se o caminho contiver espaços!
- nome do ficheiro de saída – O caminho relativo ou absoluto do diretório onde a ferramenta irá guardar o executável final com "wrapping" aplicado.
- toolname – O nome da ferramenta; "drmtoolp" é atualmente o único parâmetro válido.
- flags – Máscara de bits dos seguintes sinalizadores (flags) numéricos para especificar o comportamento da ferramenta:
- 0 – "Wrapping" normal (o maior nível de proteção).
- 6 – Modo de compatibilidade (desativa ofuscação).
- 32 – Evitar verificação de depuração.
- 38 – Modo de compatibilidade; passar à frente da verificação de depuração (o nível mais baixo de proteção).
- destination (parâmetro opcional) – "cloud" ou "local". Agora, a predefinição atual é: "cloud". A opção "local" não deve ser necessária, exceto se ocorrer algum problema ao utilizar a opção "cloud".
Script run_build.bat de exemplo para iniciar sessão, aplicar DRM e enviar a build para o Steam (com o AppID sendo 480):
builder\steamcmd.exe +login (nome da conta Steam aqui) +drm_wrap 480 "D:\src\steamworkssdk\steamworksexample\release\steamworksexample.exe" "D:\src\steamworkssdk\tools\ContentBuilder\content\windows_content\SteamworksExample.exe" drmtoolp 0 +run_app_build ..\scripts\app_build_480.vdf +quit
Wrapper manual de DRM do Steam
Para aplicar rapidamente o "wrapper" do Steam no executável principal do jogo, use a página de administração de dados da aplicação.
- Na página de administração de aplicações, selecione o jogo ao qual pretende adicionar DRM.
- Selecione "Editar definições do Steamworks" na secção "Ferramentas técnicas" da página de administração da aplicação.
- No separador "Segurança", selecione "DRM".
- Envie o executável principal do jogo (consulte a secção acima sobre o wrapper automatizado para mais informações sobre as opções de execução da ferramenta).
- Faça o download do executável para o seu computador local.
- Mude o nome do executável para o nome original.
- Copie-o para o local de origem dos depots da ferramenta de conteúdo.
- Compile uma versão nova do seu depot.
- Teste o depot no seu servidor de conteúdo local.
Utilização do wrapper do Steam com outras soluções de DRM
O wrapper do Steam pode e deve ser usado em combinação com outras soluções de DRM. Para tal, aplique o wrapper do Steam em modo de compatibilidade antes de aplicar qualquer outra solução de DRM para que não haja interferências. O modo de compatibilidade irá desativar as funções de DRM do wrapper.
Envie o executável em modo de compatibilidade ao selecioná-lo no menu pendente na página do Steamworks ou ao usar os sinalizadores apropriados na ferramenta automatizada drmtool.
Perguntas frequentes
P.: O meu jogo em C# / .NET não funciona depois de aplicar o wrapper do Steam. Porquê?R.: O wrapper do Steam não é compatível com aplicações .NET. Em vez de usar o wrapper de DRM, use a função
SteamAPI_RestartAppIfNecessary.
P.: O meu jogo não funciona depois de aplicar o wrapper de DRM do Steam. Porquê?R.: O wrapper do Steam pode entrar em conflito com outras ferramentas de DRM. Consulte a secção
Utilização do wrapper do Steam com outras soluções de DRM para mais informações.
P.: Preciso de aplicar DRM ao executável sempre que compilar uma build nova?R.: Sim, cada build que pretender publicar precisa de ser processada pelo wrapper do Steam. Experimente automatizar o processo através do método "Wrapper automatizado de DRM do Steam" acima.
P.: Depois de aplicar o wrapper de DRM do Steam, um programa antivírus detetou que o meu binário tem um vírus. O que posso fazer?R.: Falsos positivos como este podem ocorrer, já que o processo de injeção de DRM modifica o seu binário da mesma forma que um vírus o faria. Entre em contacto com os developers do antivírus ou use a API em vez do wrapper de DRM do Steam.