Estou trabalhando em um jogo de cartas e seu servidor. Haverá um lobby com muitas mesas e muitos jogadores. O único problema é: como posso ver como ele pode lidar com centenas de usuários simultâneos sem centenas de usuários simultâneos?
Como esse tipo de coisa geralmente é feito?
Respostas:
Duas palavras: cliente sem cabeça.
Basicamente, é um cliente orientado por IA que teve todos os gráficos ignorados, para que você possa executar muitas cópias em uma máquina, e até mesmo em servidores porque nunca inicializa os gráficos.
Acima de todos esses clientes, há um supervisor responsável por iniciar, monitorar e interromper todos os clientes para testar, registrar e executar novamente após a falha do cliente.
fonte
Eu acho que você está preocupado com as coisas erradas, Milo. Vejo pelas suas outras perguntas que você planeja escrever o jogo em C ++.
Mesmo um servidor não muito bem codificado, escrito em uma linguagem de script, seria capaz de lidar com centenas, senão milhares de solicitações sem atraso aparente em um jogo de cartas.
Esses tipos de detalhes técnicos provavelmente não serão um grande problema. Se eles se tornarem um problema, seriam apenas um ou dois dias de otimização ou movimentação de coisas um pouco. Mas somente após o término do jogo e somente após você identificar qual é exatamente o problema ..
Escrever um cliente sem cabeça agora para simular muitos usos é uma perda de tempo .. concentre-se em problemas realmente difíceis como ..
fonte