Configuração do Ambiente de Desenvolvimento para Gonet: Passos Completos da Compilação ao Teste

Este guia fornece instruções detalhadas para configurar um ambiente de desenvolvimento para o framwork Gonet, um esqueleto de servidor de jogo escrito em Go, cobrindo desde a preparação do sistema até a execução de testes.

  1. Preparação do Ambiente Base

1.1 Instalação de Dependências

O desenvolvimento com Gonet requer os seguintes componentes:

  • Go (Goleng): Versão recomendada 1.16 ou superior.
  • Git: Para controle de versão e obtenção do código-fonte.
  • GCC: Compilador necessário para módulos cgo em Go.

Em sistemas baseados em Debian/Ubuntu, execute os comandos abaixo para instalar as dependências:

sudo apt-get update
sudo apt-get install -y golang git gcc

1.2 Obtenção do Código-Fonte

Clone o repositório oficial do projeto utilizando o Git:

git clone https://gitcode.com/gh_mirrors/gon/gonet
cd gonet
  1. Visão Geral da Estrutura do Projeto

O Gonet possui uma arquitetura modular. Os diretórios principais incluem:

  • src/agent: Módulo de agente, responsável por conexões de clientes e roteamento de mensagens.
  • src/hub: Módulo central, gerencia nós do servidor e balanceamento de carga.
  • src/db: Camada de acesso a banco de dados, com lógica para dados de usuários e do jogo.
  • src/misc: Bibliotecas utilitárias com funções comuns como criptografia e temporizadores.
  • doc/: Documentação do projeto e diagramas de arquitetura.
  1. Compilação do Projeto

3.1 Verificação dos Alvos de Compilação

O Makefile na raiz do projeto define scripts de compilação. Para listar todos os alvos disponíveis, use:

make help

3.2 Execução da Compilação

Compile todos os módulos com a configuração padrão:

make all

Após a compilação, os executáveis são gerados no diretório bin/. Os principais binários incluem:

  • agent: Programa do servidor de agente.
  • hub: Programa do servidor central.
  • stats: Programa de estatísticas.
  1. Configuração do Servidor

4.1 Ajuste dos Arquivos de Configuarção

O arquivo config.ini na raiz contém parâmetros para os serviços. Configure campos como portas de rede, conexões de banco de dados e níveis de log. Por exemplo, altere a porta de escuta do agente:

[servidor_agente]
porta_escuta = 9090

4.2 Validação da Configuração

Utilize a ferramenta de teste para verificar a integridade do arquivo de configuração:

go run src/cfg/teste_configuracao.go
  1. Inicialização dos Servidores

5.1 Ativação do Serviço Central

Inicie primeiro o servidor hub:

./bin/hub

5.2 Ativação do Serviço de Agente

Em um novo terminal, inicie o servidor agent:

./bin/agent

5.3 Monitoramento do Status

Acompanhe os logs para confirmar o funcionamento dos serviços:

tail -f logs/registro_agente.log
  1. Execução de Testes

6.1 Testes Automatizados

O projeto inclui um conjunto de testes. Execute o script de testes automatizados:

./executar_testes.sh

6.2 Modelo de Máquina de Estados Finitos (FSM)

O Gonet utiliza uma máquina de estados finitos para gerenciar o ciclo de vida das conexões de jogadores. Os estados principais incluem Login, Em_Jogo e Logout, garantindo uma gestão estável das conexões. A implementação está em src/hub/core/fsm.go.

Tags: gonet Golang game-server fsm Makefile

Publicado em 6-7 04:51 por Thomas