Aldeia RPG

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte ao desenvolvimento de jogos


4 participantes

    [Duvida/Ajuda] Como deve ser um launcher?

    KamuiRyu
    KamuiRyu
    Novato
    Novato


    Mensagens : 26
    Créditos : 1

    como - [Duvida/Ajuda] Como deve ser um launcher? Empty [Duvida/Ajuda] Como deve ser um launcher?

    Mensagem por KamuiRyu Qua Jul 26, 2017 2:18 am

    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
    DragonicK
    DragonicK
    Experiente
    Experiente


    Mensagens : 543
    Créditos : 81

    Ficha do personagem
    Nível: 1
    Experiência:
    como - [Duvida/Ajuda] Como deve ser um launcher? Left_bar_bleue0/0como - [Duvida/Ajuda] Como deve ser um launcher? Empty_bar_bleue  (0/0)
    Vida:
    como - [Duvida/Ajuda] Como deve ser um launcher? Left_bar_bleue30/30como - [Duvida/Ajuda] Como deve ser um launcher? Empty_bar_bleue  (30/30)

    como - [Duvida/Ajuda] Como deve ser um launcher? Empty Re: [Duvida/Ajuda] Como deve ser um launcher?

    Mensagem por DragonicK Qua Jul 26, 2017 5:44 am

    tanto faz, depende de como vc vai fazer o negocio
    GallighanMaker
    GallighanMaker
    Colaborador
    Colaborador


    Medalhas : como - [Duvida/Ajuda] Como deve ser um launcher? ZgLkiRU
    Mensagens : 985
    Créditos : 102

    Ficha do personagem
    Nível: 1
    Experiência:
    como - [Duvida/Ajuda] Como deve ser um launcher? Left_bar_bleue0/0como - [Duvida/Ajuda] Como deve ser um launcher? Empty_bar_bleue  (0/0)
    Vida:
    como - [Duvida/Ajuda] Como deve ser um launcher? Left_bar_bleue30/30como - [Duvida/Ajuda] Como deve ser um launcher? Empty_bar_bleue  (30/30)

    como - [Duvida/Ajuda] Como deve ser um launcher? Empty Re: [Duvida/Ajuda] Como deve ser um launcher?

    Mensagem por GallighanMaker Qua Jul 26, 2017 10:16 am

    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. 


    _________________
    como - [Duvida/Ajuda] Como deve ser um launcher? 8dVK0ku
    using C# and import Python developer || Expert in Unity Engine IDE. || como - [Duvida/Ajuda] Como deve ser um launcher? 769_heart 2D pixel games.
    KamuiRyu
    KamuiRyu
    Novato
    Novato


    Mensagens : 26
    Créditos : 1

    como - [Duvida/Ajuda] Como deve ser um launcher? Empty Re: [Duvida/Ajuda] Como deve ser um launcher?

    Mensagem por KamuiRyu Qua Jul 26, 2017 10:37 am

    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
    KamuiRyu
    Novato
    Novato


    Mensagens : 26
    Créditos : 1

    como - [Duvida/Ajuda] Como deve ser um launcher? Empty Re: [Duvida/Ajuda] Como deve ser um launcher?

    Mensagem por KamuiRyu Qua Jul 26, 2017 10:45 am

    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. 
    GallighanMaker
    GallighanMaker
    Colaborador
    Colaborador


    Medalhas : como - [Duvida/Ajuda] Como deve ser um launcher? ZgLkiRU
    Mensagens : 985
    Créditos : 102

    Ficha do personagem
    Nível: 1
    Experiência:
    como - [Duvida/Ajuda] Como deve ser um launcher? Left_bar_bleue0/0como - [Duvida/Ajuda] Como deve ser um launcher? Empty_bar_bleue  (0/0)
    Vida:
    como - [Duvida/Ajuda] Como deve ser um launcher? Left_bar_bleue30/30como - [Duvida/Ajuda] Como deve ser um launcher? Empty_bar_bleue  (30/30)

    como - [Duvida/Ajuda] Como deve ser um launcher? Empty Re: [Duvida/Ajuda] Como deve ser um launcher?

    Mensagem por GallighanMaker Qua Jul 26, 2017 12:45 pm

    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.


    _________________
    como - [Duvida/Ajuda] Como deve ser um launcher? 8dVK0ku
    using C# and import Python developer || Expert in Unity Engine IDE. || como - [Duvida/Ajuda] Como deve ser um launcher? 769_heart 2D pixel games.
    KamuiRyu
    KamuiRyu
    Novato
    Novato


    Mensagens : 26
    Créditos : 1

    como - [Duvida/Ajuda] Como deve ser um launcher? Empty Re: [Duvida/Ajuda] Como deve ser um launcher?

    Mensagem por KamuiRyu Qua Jul 26, 2017 1:10 pm

    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.
    Darkio
    Darkio
    Iniciante
    Iniciante


    Mensagens : 49
    Créditos : 1

    como - [Duvida/Ajuda] Como deve ser um launcher? Empty Re: [Duvida/Ajuda] Como deve ser um launcher?

    Mensagem por Darkio Qua Jul 26, 2017 1:25 pm

    @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.
    KamuiRyu
    KamuiRyu
    Novato
    Novato


    Mensagens : 26
    Créditos : 1

    como - [Duvida/Ajuda] Como deve ser um launcher? Empty Re: [Duvida/Ajuda] Como deve ser um launcher?

    Mensagem por KamuiRyu Qua Jul 26, 2017 1:34 pm

    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.
    GallighanMaker
    GallighanMaker
    Colaborador
    Colaborador


    Medalhas : como - [Duvida/Ajuda] Como deve ser um launcher? ZgLkiRU
    Mensagens : 985
    Créditos : 102

    Ficha do personagem
    Nível: 1
    Experiência:
    como - [Duvida/Ajuda] Como deve ser um launcher? Left_bar_bleue0/0como - [Duvida/Ajuda] Como deve ser um launcher? Empty_bar_bleue  (0/0)
    Vida:
    como - [Duvida/Ajuda] Como deve ser um launcher? Left_bar_bleue30/30como - [Duvida/Ajuda] Como deve ser um launcher? Empty_bar_bleue  (30/30)

    como - [Duvida/Ajuda] Como deve ser um launcher? Empty Re: [Duvida/Ajuda] Como deve ser um launcher?

    Mensagem por GallighanMaker Qua Jul 26, 2017 2:27 pm

    @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ê. 


    _________________
    como - [Duvida/Ajuda] Como deve ser um launcher? 8dVK0ku
    using C# and import Python developer || Expert in Unity Engine IDE. || como - [Duvida/Ajuda] Como deve ser um launcher? 769_heart 2D pixel games.

    Conteúdo patrocinado


    como - [Duvida/Ajuda] Como deve ser um launcher? Empty Re: [Duvida/Ajuda] Como deve ser um launcher?

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Dom Nov 24, 2024 1:47 am