Для того, чтобы понять где проблема, нужно определиться со значением слова "тормозит".
Предположим, проблема в скорости передачи\получения данных с клиента на сервер. Тогда нужно выяснить, какая именно характеристика и на какой стороне влияет. Из вашего описания понятно, что, скорее всего, проблема на стороне сервера, так как на скорость влияет количество подключений (но это не точно).
Теперь нужно определится, с каким параметром мы работаем. Глобально, проблема может быть в 3 местах:
1. Нагрузка на ЦПУ
2. Занимаемый объем памяти
3. Нагрузка на сеть.
Первым делом, я бы отсек 3 пункт. Проверьте, насколько при увеличении числа игроков увеличивается объем данных, который передается по сети. Если объем значительно растет и размеры исчисляются в мегабайтах, то это является проблемой. Если нет, то двигаемся дальше.
Если вы используете на серверной стороне какие-либо сторонние сервисы (БД, API и т.п.), то проверьте, насколько увеличивается среднее время ответа в зависимости от числа пользователей в сессии. Если время увеличивается значительно, то проблема там. Если нет, то двигаемся дальше.
Мы выяснили, что проблема с нагрузкой на процессор\память присутсвует на сервере локально. Теперь требуется выполнить профилирование Node.js и выяснить, какой участок вызывает такие нагрузки и уже только потом оптимизировать.
До бинарных протоколов далеко, и не факт что они понадобятся. Ну, и убедитесь, что с количеством игроков в сессии нет критического роста нагрузки на локальные машины пользователей.