Como criar meu servidor de jogos online para Unity3d?


Recentemente, venho desenvolvendo jogos multiplayer no unity3d. Eu tenho uma boa idéia de como o MasterServer da Unity funciona em unidade.
Mas agora eu quero criar meu próprio servidor de jogo do zero. Pesquisei e soube que podemos usar a computação em nuvem do Google e o mecanismo de aplicativos para criar nosso próprio servidor de correspondência e o servidor host do jogo.
Mas eu sou totalmente ignorante, como começamos a codificar meu servidor. Fazemos isso usando simples solicitação http e resultado json? Ou existe alguma outra técnica que também possa funcionar em tempo real com jogos do tipo FPS. Eu não acho que o envio de solicitações http e a espera pelo resultado possa ser rápido o suficiente para funcionar em jogos do tipo FPS, onde a cada segundo enviamos mais de 100s de dados.
No começo, pensei em escrever scripts php e hospedá-lo em algum URL, e depois enviar uma solicitação para esse URL e aguardar sua resposta. Mas descobri que, se eu usar esse processo, para obter apenas uma resposta do servidor, levaria pelo menos 0,5 segundos ou mais. Nesta condição, haveria muito atraso no jogo.
Eu sei que os servidores de jogos funcionam em algum tipo de rede tcp ou udp. Mas minha pergunta é: que tipo de aplicativo devo fazer para o servidor receber esses dados e enviar os resultados processados rapidamente?

questionAnswers(1)

yourAnswerToTheQuestion