Игровой движок написан полностью на JavaScript. PHP используется для подготовки данных — стандартная библиотека с расширениями вроде gd, zlib, zip и других подходит для этого как нельзя лучше. Сейчас кода на PHP примерно в два раза меньше кода на JavaScript, и это соотношение будет меняться в пользу JS по мере развития движка.
В далеком будущем, весь код на PHP может быть переписан на JavaScript, но это не приоритетная задача, ибо она никак не улучшит работу игры с точки зрения пользователя. Она устранит дублирование кода, но его количество непропорционально тем усилиям, которые нужно будет затратить на рефакторинг.
В процентах не много, а в абсолютных цифрах — минимум 20000 строк, а если считать вообще все, включая h3m2json.php, то больше 30000. Конечно, нужно стремиться к единой базе, но пока есть проблемы, из-за которых почти невозможно играть — думать об этом рано.
Нет, PHP выступает только как координатор лобби (api.php). Эта часть маленькая и ее действительно можно переписать, но опять же, это не улучшит игровой опыт, а потому сейчас не в приоритете. Рабочих рук и так не хватает.
Собственно серверная часть — это на 96% тот же клиентский код, только запущенный внутри Node.js (остальные 4% обслуживают подключение клиентов, а не игровую логику). Из README:
The main thing - JavaScript game engine with client side of the multi-player (server side that amounts to about 4% of Core is proprietary).
Думаю надо добавить в описание темы с Propblems\Проблемы, чтобы указывали карту, на которой произошла проблема, прям ссылкой. Если эта проблема связана так или иначе с картой.