Assinar um mod passo a passo
Segue-os por ordem. A primeira metade cria a chave, o meio assina o teu PBO, e os últimos passos implementam a chave para que um servidor carregue mesmo o mod.
Todo mod que corre num servidor DayZ precisa de uma assinatura, e uma assinatura precisa de uma chave. A chave autentica o teu mod: o servidor e o jogador que se liga têm de concordar, ou a ligação é rejeitada. Este tutorial percorre toda a cadeia com o DayZ Tools - criar o par de chaves no DSUtils, assinar o teu PBO e colocar a chave pública na pasta certa para que o teu servidor aceite o mod.
Obter na Steam — DayZ Tools (DSUtils)Segue-os por ordem. A primeira metade cria a chave, o meio assina o teu PBO, e os últimos passos implementam a chave para que um servidor carregue mesmo o mod.
Abre a Steam e muda o filtro da biblioteca de Jogos para Ferramentas. Na lista de ferramentas vais encontrar várias entradas DayZ - DayZ Server, DayZ Experimental Server, etc. -, mas aquela de que precisas chama-se simplesmente DayZ Tools.
O DayZ Tools é o kit oficial e gratuito (Steam App 830640) e é ele que gera e aplica as chaves. Instala-o antes de qualquer outra coisa; nada neste guia funciona sem ele.
Obter na Steam — DayZ Tools (DSUtils)
Assim que o DayZ Tools estiver instalado, abre-o. Abre um pequeno menu de arranque com as ferramentas individuais. A que precisas para assinar é o utilitário de assinatura DSUtils.
Abre-o e observa a janela. No topo há um painel para gerir as chaves, abaixo uma lista de ficheiros e os controlos de processamento. Esta é a única ferramenta em que vais mexer no resto do tutorial.
Na ferramenta de assinatura, carrega no botão N para iniciar uma nova chave. Aparece um caminho de destino - é a pasta onde a chave final será escrita, por isso anota-o, pois vais voltar aqui mais tarde para recolher os ficheiros.
Criar uma chave produz na verdade um par: uma chave privada com a extensão .biprivatekey que manténs secreta, e uma .bikey pública correspondente que distribuis. Pensa na chave privada como aquilo que assina e na pública como a fechadura que verifica - só funcionam em conjunto.
Garante que a opção usar esta authority para assinar ficheiros está marcada, caso contrário a chave não será aplicada aos teus PBO. Depois escreve um nome de authority. Pode ser qualquer coisa - a maioria usa o nome do servidor ou uma sigla curta do mod. Neste exemplo a authority chama-se ML.
Clica em Create key. O caminho para a tua nova chave aparece agora na ferramenta, confirmando que o par foi gerado. Escolhe um nome que não te importes de ver publicamente, pois o nome do ficheiro .bikey leva este nome de authority consigo.
Um mod tem de estar organizado numa estrutura de pastas adequada antes de poder ser assinado. Cria uma nova pasta com prefixo @ seguido do nome do teu mod - por exemplo @LoadingScreen para um ecrã de carregamento personalizado, ou o nome do teu mapa se estás a construir um mapa. É pelo prefixo @ que o DayZ reconhece a pasta de mod.
Dentro dessa pasta, cria uma pasta addons. A pasta addons é onde fica o teu ficheiro PBO empacotado. Se seguiste um tutorial de empacotamento, já terás um PBO pronto para colocar aqui.
Ao lado de addons também podes criar uma pasta keys, mas nem sempre é necessária. Só precisas de uma pasta keys dentro do mod quando o tornas público - por exemplo um mapa que outros queiram correr nos seus próprios servidores. Nesse caso a .bikey pública viaja dentro do mod para que quem o descarregue o possa verificar.
Se o mod é privado e só corre no teu próprio servidor - um ecrã de carregamento, um ajuste do lado do servidor -, não precisas de qualquer pasta keys dentro do mod. O servidor recebe a chave de outra forma, como visto no último passo. Não faz mal deixar uma pasta keys vazia para mais tarde, caso venhas a publicar.
De volta ao DSUtils, usa o Add source directory e aponta para a pasta addons do teu mod. O teu PBO aparece na lista de ficheiros e mostra-se como signed false - ou seja, ainda não tem um .bisign ao lado e está portanto por assinar.
Antes de processar, ativa duas opções. Marca Sign file list para que a ferramenta assine os ficheiros listados, e marca Override signatures para que substitua qualquer assinatura antiga se o PBO já estava assinado. Com ambas, estás pronto para processar.
Clica em Process files. A ferramenta percorre o teu PBO e aplica a assinatura com a chave que criaste. Para um único mod isto demora só um instante.
Observa o indicador de estado. Se algo falhar a assinar mostra um X vermelho; se tiver sucesso mostra um visto verde. Um visto verde significa que a assinatura foi escrita e que um novo ficheiro .bisign está agora mesmo ao lado do teu PBO na pasta addons.
Após um processamento bem-sucedido verás o ficheiro .bisign com o teu nome de authority - neste exemplo ML.bisign - ao lado do PBO. Este ficheiro é a prova de que o teu PBO foi assinado pela tua chave.
Deixa o .bisign exatamente onde está, na pasta addons ao lado do PBO. No momento em que o moves ou apagas, o mod deixa de estar assinado, para de funcionar no teu servidor, e os jogadores que se ligam recebem um erro a dizer que a assinatura não corresponde.
Agora recolhe as chaves que criaste. Abre a pasta de destino do passo três, abre a .biprivatekey privada, copia o seu conteúdo e guarda-o em local seguro - nunca dás esta chave privada a ninguém. A .bikey pública é a que distribuis.
Para o teu próprio servidor, copia toda a pasta @Mod para o servidor e depois coloca a .bikey pública na pasta keys do servidor - a mesma pasta que já contém a chave do DayZ, porque no DayZ tudo é assinado. Arranca o servidor com exatamente o mesmo mod e podes ligar-te.
Para um mod público, em vez disso coloca a .bikey dentro da pasta keys do próprio mod antes de o publicares. Assim quem o descarrega recebe a chave incluída, e também é verificado no servidor deles. A chave e a assinatura são a fechadura e a chave - só abrem a porta em conjunto.
A .biprivatekey é a tua chave de assinatura secreta - mantém-na privada. O .bisign é a assinatura escrita ao lado de cada PBO quando o assinas. A .bikey é a chave pública que vai para o servidor (ou para a pasta keys de um mod público) para que a assinatura possa ser verificada.
Não. Só precisas de uma pasta keys dentro do mod quando o publicas para outros o correrem nos seus servidores. Para um mod privado, só do lado do servidor, basta colocar a .bikey na pasta keys do próprio servidor.
Geralmente falta a .bikey na pasta keys do servidor, o servidor e o jogador correm versões diferentes do mod, ou o .bisign foi retirado da pasta addons. Garante que o mesmo mod assinado está em ambos os lados e que a chave pública está instalada no servidor.
Sim, o processo de assinatura funciona em qualquer PBO independentemente de quem o criou - apontas o DSUtils para a pasta addons e assina-lo com a tua própria chave. É exatamente o que o tutorial faz com um mod emprestado como modelo.
O DayZ Tools, o kit oficial gratuito na Steam (App 830640). Lá dentro abres o utilitário de assinatura DSUtils, que gera o par de chaves e aplica as assinaturas.