Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
[Duvida/Ajuda] Como deve ser um launcher?
4 participantes
Página 1 de 1
[Duvida/Ajuda] Como deve ser um launcher?
Eae galera da aldeia, então, estava fazendo o launcher para meu game e então bateu uma duvida crucial.
Em um launcher, como vocês acham que ele deve ser atualizado? Verificando arquivo por arquivo, ou por um arquivo zip, ou os dois mesmo. Eu fiz o primeiro, mas eu quero deixar esse launcher praticamente perfeito, então pergunto a vocês, como deve ser feito essa atualização.
Fico no aguardo de uma opinião.
Muito obrigado pela atenção
KamuiRyu- Novato
- Mensagens : 26
Créditos : 1
Re: [Duvida/Ajuda] Como deve ser um launcher?
tanto faz, depende de como vc vai fazer o negocio
DragonicK- Experiente
- Mensagens : 543
Créditos : 81
Ficha do personagem
Nível: 1
Experiência:
(0/0)
Vida:
(30/30)
Re: [Duvida/Ajuda] Como deve ser um launcher?
Eu particularmente utilizo um arquivo ZIP para atualização, mais fácil tratar e menos problemas. Se for fazer file a file você irá precisar verificar cada um e sua integridade, aconselho a usar um hash nesses files tanto no servidor quanto client, se o file do client for diferente do server ele baixa dnv pois ainda não completou ou deu algum problema, visando isso você terá um launcher que funciona de forma adequada.
_________________
using C# and import Python developer || Expert in Unity Engine IDE. || 2D pixel games.
Re: [Duvida/Ajuda] Como deve ser um launcher?
DragonicK escreveu:tanto faz, depende de como vc vai fazer o negocio
É que estou em dúvida, porque eu acho um sistema que baixé arquivo por arquivo bem interessante, mas o de baixar um arquivo compactado em .zip também é um ótimo sistema, aí vem minha dúvida.
KamuiRyu- Novato
- Mensagens : 26
Créditos : 1
Re: [Duvida/Ajuda] Como deve ser um launcher?
GallighanMaker escreveu:Eu particularmente utilizo um arquivo ZIP para atualização, mais fácil tratar e menos problemas. Se for fazer file a file você irá precisar verificar cada um e sua integridade, aconselho a usar um hash nesses files tanto no servidor quanto client, se o file do client for diferente do server ele baixa dnv pois ainda não completou ou deu algum problema, visando isso você terá um launcher que funciona de forma adequada.
Eu estou verificando arquivo por arquivo verificando apenas o tamanho, estava verificando data de modificação também, mas deu uns problemas e acabei tirando. Você acha que preciso verificar mais alguma coisa, ah, já ia esquecendo, verifico se o arquivo existe também, tudo isso utilizando um arquivo .txt que é baixado, assim que ele baixa, eu salvo ele em um array e apago, aí saiu verificando arquivo por arquivo.
Enfim, me explique um pouco sobre esse hash, só conheço hash para criptografia de varáveis, porque sou programador web, então não consegue muito isso.
E vlw pela opinião, vai ajudar bastante.
KamuiRyu- Novato
- Mensagens : 26
Créditos : 1
Re: [Duvida/Ajuda] Como deve ser um launcher?
Você pode usar algo parecido (utilizando uma hash MD5)
E após criar uma função para calcular o MD5, utlizar para ler algum arquivo remoto e comparar com um local:
Se quiser dar uma olhada na documentação da referencia: System.Security.Cryptography;
Update:
Na verdade você terá que baixar esse arquivo remoto temporariamente, não sei se da pra verificar dessa forma passando o path completo.
Dica:
Você pode usar um foreach pra calcular todos arquivos remotos e pra verificar com cada um local.
Espero ter ajudado.
- Código:
private string GetFileChecksum(string file, HashAlgorithm algorithm)
{
string result = string.Empty;
using (FileStream fs = File.OpenRead(file))
{
result = BitConverter.ToString(algorithm.ComputeHash(fs)).ToLower().Replace("-", "");
}
return result;
}
E após criar uma função para calcular o MD5, utlizar para ler algum arquivo remoto e comparar com um local:
- Código:
string RemoteMD5checksum;
string LocalMD5checksum;
string remoteFile = "http://seuserver.com/seuarquivo.txt"
string localFile = "C:/suapasta/seuarquivo.txt"
RemoteMD5checksum = GetFileChecksum(remoteFile, new MD5CryptoServiceProvider());
LocalMD5checksum = GetFileChecksum(localFile, new MD5CryptoServiceProvider());
if(RemoteMD5checksum.Equals(LocalMD5checksum ))
//hash's iguais
else
//hash's diferentes
Se quiser dar uma olhada na documentação da referencia: System.Security.Cryptography;
Update:
Na verdade você terá que baixar esse arquivo remoto temporariamente, não sei se da pra verificar dessa forma passando o path completo.
Dica:
Você pode usar um foreach pra calcular todos arquivos remotos e pra verificar com cada um local.
Espero ter ajudado.
_________________
using C# and import Python developer || Expert in Unity Engine IDE. || 2D pixel games.
Re: [Duvida/Ajuda] Como deve ser um launcher?
GallighanMaker escreveu:Você pode usar algo parecido (utilizando uma hash MD5)
- Código:
private string GetFileChecksum(string file, HashAlgorithm algorithm)
{
string result = string.Empty;
using (FileStream fs = File.OpenRead(file))
{
result = BitConverter.ToString(algorithm.ComputeHash(fs)).ToLower().Replace("-", "");
}
return result;
}
E após criar uma função para calcular o MD5, utlizar para ler algum arquivo remoto e comparar com um local:
- Código:
string RemoteMD5checksum;
string LocalMD5checksum;
string remoteFile = "http://seuserver.com/seuarquivo.txt"
string localFile = "C:/suapasta/seuarquivo.txt"
RemoteMD5checksum = GetFileChecksum(remoteFile, new MD5CryptoServiceProvider());
LocalMD5checksum = GetFileChecksum(localFile, new MD5CryptoServiceProvider());
if(RemoteMD5checksum.Equals(LocalMD5checksum ))
//hash's iguais
else
//hash's diferentes
Se quiser dar uma olhada na documentação da referencia: System.Security.Cryptography;
Update:
Na verdade você terá que baixar esse arquivo remoto temporariamente, não sei se da pra verificar dessa forma passando o path completo.
Dica:
Você pode usar um foreach pra calcular todos arquivos remotos e pra verificar com cada um local.
Espero ter ajudado.
Eu vi isso em um forum da microsoft, e acho que tenho um jeito de fazer com que seja mais rápido e fazer requisições ao servidor apenas para fazer o necessário, no caso, o download.
Bom, vou explicar aqui, vai saber se alguém tem o mesma duvida que eu. Da pra criar um arquivo txt, com o hash original dos seus arquivos, como eu disse antes, eu to baixando o arquivo, salvando em um array, e depois eu excluo esse arquivo, é instantâneo, a partir dai, já da para comparar o hash com o arquivo original. Acho que isso pode funcionar, quase certeza que vai funcionar.
Muito obrigado, você me ajudou bastante, não teria nem pensado em usar o hash em um arquivo, muito obrigado mesmo.
KamuiRyu- Novato
- Mensagens : 26
Créditos : 1
Re: [Duvida/Ajuda] Como deve ser um launcher?
@gallighanmaker Falando em Launcher o seu já foi publicado amigo? Eu creio que não o encontrei aqui na Aldeia, se ja tiver publicado pesso desculpas pelo incômodo. Até pra gente saber mesmo qual lógica você usa, ele virá open source? Seria bacana se ele viesse com o codigo fonte em .rar e o launcher final junto.
Darkio- Iniciante
- Mensagens : 49
Créditos : 1
Re: [Duvida/Ajuda] Como deve ser um launcher?
Darkio escreveu:@gallighanmaker Falando em Launcher o seu já foi publicado amigo? Eu creio que não o encontrei aqui na Aldeia, se ja tiver publicado pesso desculpas pelo incômodo. Até pra gente saber mesmo qual lógica você usa, ele virá open source? Seria bacana se ele viesse com o codigo fonte em .rar e o launcher final junto.
O meu não vai virar open-source, eu até pensei em disponibilizar, mas quero algo preciso e potente para meu jogo, algo que concorrência hammmm(Forces games) não tenha. Posso até tá fazendo um launcher para deixar open-source, mas se eu for fazer, vou deixar ele mais simples e tals.
KamuiRyu- Novato
- Mensagens : 26
Créditos : 1
Re: [Duvida/Ajuda] Como deve ser um launcher?
@Darkio,
Não será open source o meu para os netplays, pelo menos não no começo até todo mundo testar e dar os feedbacks, depois disso irei criar uma documentação e disponibilizar um modelo open source.
No caso desse tópico é apenas uma sugestão ao do amigo acima, que se eu não estiver engando é para um projeto utilizando eclipse.
Após publicar eu mando o link pra você.
Não será open source o meu para os netplays, pelo menos não no começo até todo mundo testar e dar os feedbacks, depois disso irei criar uma documentação e disponibilizar um modelo open source.
No caso desse tópico é apenas uma sugestão ao do amigo acima, que se eu não estiver engando é para um projeto utilizando eclipse.
Após publicar eu mando o link pra você.
_________________
using C# and import Python developer || Expert in Unity Engine IDE. || 2D pixel games.
Tópicos semelhantes
» Como não se deve fazer um mapa - 6 Regas Básicas
» [DUVIDA] Como proibir colocar numeros como nome de char
» ajuda aqui?? como como clonar itens no eclipse
» [Duvida] Me ajuda aki
» [Dúvida] Como resolver.
» [DUVIDA] Como proibir colocar numeros como nome de char
» ajuda aqui?? como como clonar itens no eclipse
» [Duvida] Me ajuda aki
» [Dúvida] Como resolver.
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos