Boa tarde,
Estamos desenvolvendo um Login Server em cima de uma camada gRPC em golang.
Totalmente open source e gratuito, o projeto buscar trazer tecnologias mais modernas para o universo open tibia.
Funcionalidades
Camada gRPC utilizando protobuf proto3
Login via gRPC
Login via HTTP (cipclient support)
Docker container (6.35Mb)
Rate limiter por IP
Mais de 1.1k requisicoes por segundo usando HTTP e e mais de 8k em gRPC puro
Log integrado com tracing de requisicao e diferentes niveis de log.
Cobertura com Unit Tests
Customisavel via variaveis de ambiente
Integracao com github actions (pipeline automatizado com lint, tests, build e release)
Builds para iOS, Windows e Ubuntu
Facil configuracao de benchmarking
Benchmark
Fizemos comparacoes entre a implementacao atual e outras opcoes disponiveis, os resultados estao disponiveis abaixo.
Obtivemos uma taxa de mais de 1.1k de requisicoes por segundo, usando o servidor HTTP com proxy reverso para gRPC
Um benchmark ao vivo foi realizado utilizando google cloud run e cloud sql, chegando a mais de 800 requisicoes por segundo (em uma maquina de tier gratuito e esse valores tambem incluem as latencias).
Tambem fizemos o benchmark do setup com gRPC puro, chegando a quase 10k requisicoes por segundo.
Todos os benchmarks e outras informações estão disponiveis em nosso repositório: https://github.com/opentibiabr/login-server
Nossa versão estável: https://github.com/opentibiabr/login-server/releases/latest
Planos Futuros
AuthToken
Suporte ao login do website
Authenticacao em dois fatores
Status para o otserver list, incluindo opcoes de spoofing (feat @Night Wolf)
Multi world (possibilitando gerir players de diversos servidores)
Nao planejamos fazer compativel com a antiga versao do login TCP do tibia (<10.xx).
Estamos focando no cliente da cip e em nosso otclient (Mehah).
Vamos implementar o login vai gRPC nele mes que vem.
Estamos sempre aceitando sugestoes, melhorias e ideias de novas features, sinta-se livre de comentar, criar issues e/ou pull requests se tiver interesse.