¿Cómo diseñar mi servidor de juegos en línea para Unity3d?


Recientemente, he estado haciendo desarrollo de juegos multijugador en unity3d. Tengo una idea bastante clara de cómo funciona el Unity's MasterServer en unidad.
Pero ahora quiero hacer mi propio servidor de juegos desde cero. Investigué y llegué a saber que podemos usar el cómputo en la nube de Google y el motor de la aplicación para crear nuestro propio servidor de emparejamiento y el servidor host del juego.
Pero no tengo ni idea de cómo comenzamos a codificar mi servidor. ¿Lo hacemos usando una simple solicitud http y un resultado json? ¿O hay alguna otra técnica que también pueda funcionar en tiempo real con juegos de tipo FPS? No creo que el envío de solicitudes http y esperar el resultado pueda ser lo suficientemente rápido como para funcionar en un tipo de juegos FPS donde cada segundo enviamos más de 100s de datos.
Al principio pensé en escribir scripts php y alojarlos en alguna url, y luego enviar una solicitud a esa url y esperar su respuesta. Pero descubrí que si uso este proceso, solo para obtener una respuesta del servidor me tomaría al menos 0.5 segundos o más. En esta condición, habría mucho retraso en el juego.
Sé que los servidores de juegos funcionan en algún tipo de red tcp o udp. Pero mi pregunta es esta: ¿qué tipo de aplicación debo hacer para que el servidor reciba estos datos y envíe los resultados procesados rápidamente?

Respuestas a la pregunta(1)

Su respuesta a la pregunta