[UP] Netplay Server 1.2

    Compartilhe

    blackcrow
    Semi-Experiente
    Semi-Experiente

    Mensagens : 109
    Créditos : 40

    [UP] Netplay Server 1.2

    Mensagem por blackcrow em Qua Dez 07, 2016 2:11 pm

    Há mais de um ano que eu não visito a aldeia, o que me trouxe aqui foi um velho problema que eu sempre quis solucionar: o servidor do Netplay Plus. Eu estava estudando o código de máquina e como os compiladores trabalham (tarefas da faculdade) quando encontrei um projeto do Netplay Plus e lembrei de todos os problemas, daí eu percebi que poderia matar dois coelhos com uma cajadada só: editar o binário do servidor (binary patching; programação assembly) e assim aprimorar meus conhecimentos, além de contribuir para a comunidade maker.


    Netplay Plus



    O Netplay Plus (Netplay) é um framework para RPG Maker que permite a criação de jogos RPG Online. Foi um projeto inciado em meados de 2006 pela equipe Netplay Plus General Team. O servidor desse projeto foi escrito originalmente em Ruby; quando na versão ~1.6, o Netplay ganhou um servidor escrito em C++ (chamado "Netplay C++ Server") por SuicideManic. O Netplay tem sido continuado até recentemente, com as versões Netplay Master, por exemplo.


    Netplay C++ Server



    O Netplay tem sido atualizado, mas o servidor não. A versão 0.8 (de 2006) é a usada, e apresenta os seguintes problemas:

    * A programação server-side é muito limitada, pois aquele script lua (startup.lua) é carregado para cada usuário que se conecta ao servidor, ou seja, é criado um interpretador Lua para cada jogador (apesar disso, não há concorrência na execução dos scripts).

    * O interpretador Lua é passivo, pois aguarda os comandos do usuário (função OnCMD).

    * Pelos motivos acima, cada cliente possui um estado de jogo próprio (um Mob, por exemplo, pode estar em posições diferentes para cada jogador).

    * Processamento das mensagens é lento, pois as mensagens são envidas como texto.

    * Algumas gambiarras.


    Netplay Server 1.2



    Essa é a versão completa. As modificações que eu pretendia fazer foram feitas. O server está bem melhor, principalmente com a implementação do novo protocolo. Como as edições foram feitas em assembly, o código ficou mais otimizado.

    Changelog:
    [Update 1.2] - 19/12/2016


    Versão completa. Todas as falhas da versão 0.8 foram corrigidas.

    ## Adicionado
    - O novo protocolo.
    - Novos eventos para o ambiente Lua.

    ## Modificado
    - No ambiente Lua, as funções do NP() foram corrigidas.
    - Todas as modificações nas funções reduziram o tamanho das mesmas (quantidade de instruções; otimização).
    - O recurso de banir IP e estabelecer a quantidade máxima de jogadores agora funciona.
    - O chat do servidor pode ser usado como terminal de comando.
    - Outras coisas não visuais.

    ## Removido
    - O velho protocolo, "<tags>" e cia.


    [Update 1.0] - 07/12/2016

    Correção das principais falhas da versão 0.8, mas não está completa.

    ## Adicionado/Modificado
    * O servidor usa um único interpretador Lua para todos os jogadores.
    * O interpretador lua não é mais passivo.
      - Foi adicionada a função sUpdate(): sinal de update enviado a cada update frame do        servidor.

    * Foi alterada uma pequena parte do protocolo.
      - As mensagens agora podem ser enviadas como byte streams.
      - O processamento das mensagens ficou mais eficiente.

    * Foi adicionada a função Close()
      - É um sinal enviado pelo servidor para informar que o interpretador está sendo finalizado.

    ## Removido - coisas desnecessárias.
    - O servidor não responde mais aos comandos: <ver>, <mod>, <check>, <upd>.
    - O chat do servidor não recebe mais as mensagens de chat do jogo.



    Netplay Server 1.2

    Download


    Senha para descompactar
    dd0d260e08c865a56304bc92d90b9a98


    Créditos

    SuicideManic, GoldenAura3, Destined.
    blackcrow


    Última edição por blackcrow em Dom Jan 08, 2017 9:45 pm, editado 9 vez(es)

    Valentine
    Administrador
    Administrador

    Medalhas :
    Mensagens : 4350
    Créditos : 877

    Re: [UP] Netplay Server 1.2

    Mensagem por Valentine em Qua Dez 07, 2016 3:35 pm

    Muito bom. Os makers agradecem.

    Baixando aqui.

    + 1 crédito.


    _________________

    takub088
    Novato
    Novato

    Mensagens : 20
    Créditos : 0

    Re: [UP] Netplay Server 1.2

    Mensagem por takub088 em Qui Dez 08, 2016 5:13 am

    +1

    Caio Juan
    Colaborador
    Colaborador

    Medalhas :
    Mensagens : 687
    Créditos : 61

    Re: [UP] Netplay Server 1.2

    Mensagem por Caio Juan em Qui Dez 08, 2016 7:11 am

    Interessante! +1


    _________________
    -Não Aceito Mais do que um Mapa Perfeito-



    Aguardem!!!

    GallighanMaker
    Experiente
    Experiente

    Medalhas :
    Mensagens : 606
    Créditos : 53

    Re: [UP] Netplay Server 1.2

    Mensagem por GallighanMaker em Qui Dez 08, 2016 7:57 am

    Interessante blackcrow, realmente o servidor é a parte mais complicada e a que mais precisa de melhorias, os makers agradecem +1 :)


    _________________
    @IndieDB @Steam Concept
    --

    Aegyr
    Novato
    Novato

    Mensagens : 4
    Créditos : 0

    Re: [UP] Netplay Server 1.2

    Mensagem por Aegyr em Qui Dez 08, 2016 10:53 am

    Para que serve esse Netplay?

    Caio Juan
    Colaborador
    Colaborador

    Medalhas :
    Mensagens : 687
    Créditos : 61

    Re: [UP] Netplay Server 1.2

    Mensagem por Caio Juan em Qui Dez 08, 2016 11:00 am

    Aegyr escreveu:Para que serve esse Netplay?

    O Netplay ou NP é um sistema que foi desenvolvido para possibilitar a criação de Jogos Online utilizando o RPG Maker.

    Você pode saber mais acessando nossos tópicos ou indo até o link abaixo:

    http://themakeronline.blogspot.com.br/2014/11/o-que-e-um-netplay-rpg-maker.html


    _________________
    -Não Aceito Mais do que um Mapa Perfeito-



    Aguardem!!!

    Kaitro
    Membro Ativo
    Membro Ativo

    Mensagens : 284
    Créditos : 27

    Re: [UP] Netplay Server 1.2

    Mensagem por Kaitro em Sex Dez 09, 2016 2:30 am

    Estou baixando, serve para qualquer netplay do RPG MAKER XP?


    _________________

    blackcrow
    Semi-Experiente
    Semi-Experiente

    Mensagens : 109
    Créditos : 40

    Re: [UP] Netplay Server 1.2

    Mensagem por blackcrow em Sex Dez 09, 2016 12:08 pm

    Kaitro escreveu:Estou baixando, serve para qualquer netplay do RPG MAKER XP?

    Serve para qualquer engine, desde que use o mesmo protocolo de comunicação do servidor.

    Transporte: TCP
    Mensagem: os dois primeiros bytes diz qual é o tamanho da mensagem. O próximo byte é o ID (Packet ID). A ordem dos bytes é little-endian.

    Estou trabalhando em uma nova versão, que dentre outras coisas implementa o novo protocolo de comunicação.

    Kincy
    Ocasional
    Ocasional

    Mensagens : 170
    Créditos : 10

    Re: [UP] Netplay Server 1.2

    Mensagem por Kincy em Sex Dez 09, 2016 1:59 pm

    Perfeito, muito obrigado! Uma ótima notícia para fecharmos o ano bem. +REP


    _________________

      Data/hora atual: Sab Jan 21, 2017 6:32 pm