Делаю первую в своей жизни онлайн игру (Unity3d ) и внезапно понял, что у меня нет идей о том, как организовываются сервера для онлайн игр. Не знаю даже как подступится, изначально казалось хорошей идеей сделать сделать api и с клиента отправлять http запросы к нему, но мне кажется я погорячился и делаю неправильно, поэтому мне нужны ваши советы:
-Какой протокол выбрать для общения клиента и сервера?
-Как безопасно передавать логин и пароль пользователя (раз уж видимо, https мне не подойдет) не изобретая велосипед в виде собственной реализации шифрования?
-Так как пилотную версию проекта я хочу делать на платформе .net и с применением c#, какой тип приложения мне подойдет лучше? Изначально я собирался использовать webapi, но, как я сказал выше, видимо, погорячился, остается консольное?
P.S. Понимаю, что .net и c# не очень подходят для сервера, но хотелось бы поскорее получить прототип и потом переписать на что-то более подходящее.
Рекомендую готовое решение для игр - Photon Server. Весь базовый серверный функционал, который вам понадобится (в том числе и шифрование), вы там найдете. Весь дополнительный код пишется на C#. В бесплатной версии - до 100 одновременных пользователей.
SmartFoxServer 2X - Основано на Java. 100 подключений одновременно бесплатно. Логика пишется в виде расширений на Java, доступ к базе данных. Можно запустить везде где может работать java. Очень удобно. Хорошая документация, почти любой вопрос можно найти ответ на форуме. www.smartfoxserver.com