Ou é cara, não parou com OT? rsrs
Isso já existe no TFS... porém em relação ao banco de dados somente, estar fazendo isso não seria invasão de privacidade? aiuhaiu, fazer o download forçado de sprites
info
Grupo: Marquês
Registrado: 01/03/06
Posts: 1k
Reputação: +38
Gênero: Masculino

Ou é cara, não parou com OT? rsrs
Isso já existe no TFS... porém em relação ao banco de dados somente, estar fazendo isso não seria invasão de privacidade? aiuhaiu, fazer o download forçado de sprites
info
Grupo: Visconde
Registrado: 10/06/06
Posts: 338
Reputação: +6
Char no Tibia: Setyte Berseker

Ou é cara, não parou com OT? rsrs
Isso já existe no TFS... porém em relação ao banco de dados somente, estar fazendo isso não seria invasão de privacidade? aiuhaiu, fazer o download forçado de sprites
Cara, sinceramente você não entendeu o que eu propus. Primeiro, não se trata de algo server-side related, ou seja, não é uma feature de alguma distro de servidor, e sim um cliente executável chave para um servidor em específico. Segundo, eu não entendi o nexo de invasão de privacidade, essa diferença entre arquivos é feita entre jogador e servidor host, esses sprites devem ser baixados para que o jogador desfrute de tais para jogar no servidor, essa é intensão do servidor acima de tudo.
Com relação se eu parei com OT: sim, porém isso é algo que achei interessante para o projeto OpenTibia e não quer dizer que não posso visitar aqui e contribuir de vez em quando ![]()
Irei propor uma forma mais técnica de se fazer isso em breve, estou discutindo agora mesmo com o VaL. Saliento porém, que não estou me candidatando para isso.
info
Grupo: Marquês
Registrado: 01/03/06
Posts: 1k
Reputação: +38
Gênero: Masculino

Sim, sim eu entendi.
Só comentei porque existe do lado do servidor este patch já conectado com outro servidor p/ atualizações automáticas no TFS.
Eu digo do lado cliente uma invasão de privacidade, porque em nenhum lugar você cita a opção do jogador escolher entre "Baixar" ou "Não baixar" as atualizações e se estas forem feitas sem permissão, é sim uma invasão.
info
Grupo: Visconde
Registrado: 10/06/06
Posts: 338
Reputação: +6
Char no Tibia: Setyte Berseker

Sim, sim eu entendi.Só comentei porque existe do lado do servidor este patch já conectado com outro servidor p/ atualizações automáticas no TFS.
Eu digo do lado cliente uma invasão de privacidade, porque em nenhum lugar você cita a opção do jogador escolher entre "Baixar" ou "Não baixar" as atualizações e se estas forem feitas sem permissão, é sim uma invasão.
Cara...não são atualizações de servidor para com um servidor raiz, e sim atualizações de arquivos do cliente Tibia modificados por um servidor, trata-se do Tibia.DAT e Tibia.SPR....
E não tem essa de "sem permissão", acho que você realmente não entendeu. O servidor que tiver sprites customizados ou seja lá o que for do tipo, iria disponibilizar um patcher onde o jogador baixaria e através deste, baixaria as atualizações feitas NOS GRÁFICOS e atribuitos do Tibia.DAT. Logo, se o objetivo deste servidor é possuir itens customizados de tal forma que torne o gameplay sem estes gráficos difícil, o jogador terá de baixar ou caso contrário irá sofrer dificuldades em entender algumas coisas do servidor talvez.
info
Grupo: Marquês
Registrado: 01/03/06
Posts: 1k
Reputação: +38
Gênero: Masculino

É o conceito de baixar os sprites eu entendi, só talvez não tenha entendido como será feito isso, algo automático ou manual, anyway... boa sorte hehe
info
Grupo: Visconde
Registrado: 10/06/06
Posts: 338
Reputação: +6
Char no Tibia: Setyte Berseker

@noobinhu
Mais uma vez: eu não disse que eu ia fazer, isso é apenas um case study. Como disse, não estou envolvido com OpenTibia mais, a esse nível.
Editado Julho 26 por Nostradamus
info
Grupo: Marquês
Registrado: 01/03/06
Posts: 1k
Reputação: +38
Gênero: Masculino

Ok, retiro o boa sorte então rsrs, até mais novamente...
Editado Julho 26 por noobinhu
info
Grupo: Visconde
Registrado: 20/08/06
Posts: 250
Reputação: +146

Eu achei a idéia interessante.
Eu tava estudando algumas coisas novas em c++ sobre manipulação de memória pra saber como funcianavam os ips changers ai pensei nisso tbm.
Mas não sei como funcionaria isso, tenho que pesquisar, ainda so iniciante em programação.
Essa é uma grande idéia!
Pensem só galera, nos novos horizontes que se abririam caso existisse um programa desses!
Pensem na customização à qual os OTServs poderiam chegar sem maiores problemas!
Sprites novas baixadas em precisar baixar um arquivo .dat inteiro!
Até mesmo notícias rapidinhas do OTServ no próprio Patcher/Loader (como em Ragnarok)!
Os spriters seriam os mais requisitados para os OTServs, já que seriam eles que garantiriam a sensação máxima de exclusividade ao jogar aquele OTServ!
Atualmente isso só não acontece pelo fato de que ficar baixando .dat é bem chato...
Ótima idéia Yuji!
info
Grupo: Visconde
Registrado: 10/06/06
Posts: 338
Reputação: +6
Char no Tibia: Setyte Berseker

Essa idéia se bem explorada pode por fim ou mesmo tirar a grande importância de IPChangers e websites.
Para que a transferência de arquivos ocorra, seria necessário que o host rodasse um servidor de download, e para aproveitar isso, este poderia conter outras informações.
Veja um exemplo de um "OTPatcher" que opera também como um website básico e IPChanger:

info
Grupo: Marquês
Registrado: 01/03/06
Posts: 1k
Reputação: +38
Gênero: Masculino

Além do distro e do servidor de download, ainda teria que ter um outro servidor em uma porta XXXX p/ receber requisições para criação de contas, por exemplo, correto?
info
Grupo: Visconde
Registrado: 10/06/06
Posts: 338
Reputação: +6
Char no Tibia: Setyte Berseker

@noobinhu
Errado, esse download server pode ser integrado ao game server. Além disso, a requisição de criação de contas por exemplo é só um a mais, não é relevante, mas já que perguntou, ela no caso seria junto ao game server (preferencialmente).
info
Grupo: Marquês
Registrado: 01/03/06
Posts: 1k
Reputação: +38
Gênero: Masculino

Hmm entendi, então se alguém fosse desenvolver este sistema, teria que comunicar a TFS Team ou outro distro, para desenvolverem juntos?
info
Grupo: Artesão
Registrado: 30/07/07
Posts: 101
Reputação: +1

O problema é que você vai atualiza somente o executavel, e não os arquivos xml como o items.xml. Além disso, comparação binária pode trazer vários erros como caso um programador já tenha modificado o seu TFS com modificação binária antes do atualizador existir, assim o patcher vai reescrever as partes que foram gravadas nele por outro programador e poderá corromper o software. No tibia existe o patch porque ele não tem código fonte aberto e os únicos que modificam ele em modo binário são os bot's (pessoas que usam softwares para facilitar a jogabilidade) ou crackers.
info
Grupo: Visconde
Registrado: 10/06/06
Posts: 338
Reputação: +6
Char no Tibia: Setyte Berseker
"OTPatcher" : Estudo de caso
Problema
Servidores OpenTibia com sprites customizados possuem dificuldades em dar certo devido a falta de atenção dada a essa área. Além disso, existem muitos limites encontrados em criar-se itens personalizados devido a um pseudo-limite existente.
Introdução
Em muitos jogos quando há atualizações, existe um cliente patcher que é responsável por fazer um controle de versão, com isso é possível fazer com que o jogador baixe apenas quantidade pequenas de dados, não cabendo a este ter que baixar novamente dados que já existem e que na grande maioria dos casos, é a maior parte.
Em OpenTibia algo como isso traz um grande avanço pois a área de desenvolvimento de novos gráficos (spriting) e modificações no arquivo DAT as vezes é visada por muitos, porém nem sempre é levada adiante por causa de limitações como baixar arquivos realmente muito grandes. O que torna ainda mais difícil uma atualização constante destes.
Como funciona um controle de versão básico
O processo é bem simples: é feita uma comparação entre o arquivo-alvo e o arquivo-base e disso são descartados os bytes semelhantes, gerando assim as diferenças.
Em controles de versão avançados como CVS ou SVN é possível usar esse recurso para ver linhas de código diferentes. É muito útil em projetos conjuntos e servem como um log de ações.
Solução
Armazenar informações de mudanças por versão e um identificador por versão ajuda muito. O processo passa a ser um pouco menos dinâmico, porém mais eficiênte.
Primeiro, é feita a busca em um registro pela versão do usuário e a análise da versão do servidor, e por comparações lógicas é feita uma atualização de cada revisão graduada da versão do usuário até versão do servidor de forma que estas no final do processo sejam idênticas.
Segundo, para um melhor desempenho o programa deve identificar antes do processo cada parte modificada da versão original para que somente estes sejam alterados e os demais permaneçam intactos (não faz sentido modificar algo para a mesma coisa).
Infelizmente esse processo pode ser demorado, já que depende de vários aspectos tais como a velocidade de processamento dessas informações e o tamanho de cada arquivo a ser analizado.
Por último, é feito o download desses dados que nada mais são que as diferenças entre os dados do servidor e os dados do usuário. Esses dados são temporários e após tudo terminado devem ser inseridos no arquivo base do usuário. A inserção deve levar em conta a posição do arquivo em que cada dado deve ser inserido. Esse passo é bastante delicado e qualquer problema poderá corromper os dados, por isso, é recomendado checagens de hash MD5 para ver se a integridade após fim de processo é igual com a do servidor.
O arquivo então é salvo e a atualização termina.
Editado Julho 26 por Nostradamus