Como funcionam os servidores de jogos?
Pretty muito como qualquer outro servidor, no entanto eles têm tarefas específicas relacionadas ao jogo. Cada jogador num cliente remoto vê uma visão paralela do mundo ligeiramente diferente e ligeiramente atrasada. Falamos de latência, um componente importante do qual é o atraso de propagação TCP/IP "ping".
Eventos são determinados geralmente no cliente, mas o servidor deve arbitrar de tempos em tempos e deve lidar com qualquer paradoxo.
Então você pode já ter sido morto no PC do seu oponente antes de jogar aquela granada....
Um bom exemplo de arbitragem é para jogos com veículos. Se ambos saltarem para um tanque vazio, isso cria um paradoxo. O servidor deve ejectar um de vocês. Você pode culpar o bounce.
Como bem, mudanças no mundo recebidas de um cliente devem ser propagadas para todos os outros de uma maneira "eventualmente consistente". Pode haver um grande número de clientes, portanto, para economia, os eventos locais para um jogador podem ser priorizados.
Servers também podem ter API's e processos para estatísticas e todo tipo de coisas úteis, bem como análises em tempo real para detecção de trapaças.
Servers também podem baixar componentes do jogo sob demanda, jogadores em fila de espera por slots (embora isso possa acontecer externamente), e servir vistas externas, rotação de mapas, e dados suportados pela web. Tudo isso com tráfego mínimo e máximo de "ticks" ou estados atualizados.
Artigos semelhantes
- Como funcionam os servidores privados e emuladores para MMORPGs?
- Como são criados os primeiros servidores de jogos MMORPG privados (piratas)?
- Por que alguns sites não funcionam corretamente no navegador Edge, mas funcionam bem no Google Chrome?
- Porque é que alguns carregadores de iPhone não funcionam no meu telefone quando funcionam no de outra pessoa?