Заказчик разрабатывает собственную multiplayer-платформу для GTA V и рассматривает CitizenFX/FiveM как исследовательскую базу. Первый этап проекта включает сборку FiveM и FXServer из открытых исходников, запуск клиента с публичным компонентом sticky, изучение зависимостей от внешней инфраструктуры Cfx и определение компонентов, необходимых для создания автономной платформы.
В рамках работ нужно:
- изучить архитектуру CitizenFX/FiveM;
- собрать и запустить FiveM/FXServer из исходников;
- провести декомпозицию существующей кодовой базы и определить границы подсистем;
- исследовать client bootstrap, GTA integration, networking, resource runtime и platform services;
- проанализировать зависимости от Cfx/Rockstar infrastructure;
- спроектировать архитектуру собственного форка или платформенного слоя;
- определить компоненты, которые можно сохранить, заменить или удалить;
- разработать и интегрировать собственные platform services;
- провести code review и принять архитектурные решения;
- организовать воспроизводимую сборку и диагностику платформы.
Ожидаемый результат первого этапа: воспроизводимая сборка публичных CitizenFX/FiveM и FXServer, запуск клиента и сервера, исследование работы сборки со sticky и техническая карта, в которой должно быть отражено:
- какие компоненты работают автономно;
- какие зависят от Cfx infrastructure;
- какие компоненты отсутствуют в публичной реализации;
- какие зависимости можно удалить;
- какие необходимо реализовать самостоятельно;
- оценка сложности создания автономной версии платформы.