Смотрите, ребят. Начинаем с нуля делать мультиплеерный фреймворк, чтобы работал по типу тех же FiveM или alt:V. Только без готовых решений — сами пишем.
Главный вопрос: на чем вообще делать, если смотреть, как устроены эти системы?
Реальность такая:
Поэтому предлагаю:
1. Ядро (сеть, память, хуки) — строго C/C++. Без вариантов. Там нужен прямой доступ к WinAPI, ручное управление памятью и работа на уровне операционки
2. Скриптовый слой — можно на Rust, если хочется безопасности и памяти. Есть тренд переписывать движки на Rust для надежности. Но базовые системные вещи все равно лягут на C.
3. Архитектура — не пытаемся сделать полную серверную симуляцию с нуля. Это нереально без исходников движка. Как и у них — распределенная система, где каждый клиент отвечает за свою часть мира, а сервер только проверяет и синхронизирует
4. Ресурсы (геймплейные скрипты) — отдельно. Делаем модульную систему, чтоб подгружать JS как в alt:V
Что нужно от команды:
Это не "запилим за месяц". Это серьезный пет-проект на годы. Но если есть желание покопаться в том, как реально работают эти системы, а не просто играть в готовое — откликайтесь.
Пишите, что умеете, и какую часть готовы тащить.
Главный вопрос: на чем вообще делать, если смотреть, как устроены эти системы?
Реальность такая:
- И FiveM, и alt:V — это глубокая модификация закрытой игры. Они не переписывают движок с нуля, а внедряются в уже готовый клиент через хуки и перехват API
- В ядре у них жесткий C++. Хуки на уровне Windows API, перехват загрузки DLL, подмена системных вызовов — это все низкоуровневая работа с памятью и процессами
- alt:V сейчас вообще официально закрывают по требованию Take-Two — и это был серьезный проект, который 9 лет развивался на C++
Поэтому предлагаю:
1. Ядро (сеть, память, хуки) — строго C/C++. Без вариантов. Там нужен прямой доступ к WinAPI, ручное управление памятью и работа на уровне операционки
2. Скриптовый слой — можно на Rust, если хочется безопасности и памяти. Есть тренд переписывать движки на Rust для надежности. Но базовые системные вещи все равно лягут на C.
3. Архитектура — не пытаемся сделать полную серверную симуляцию с нуля. Это нереально без исходников движка. Как и у них — распределенная система, где каждый клиент отвечает за свою часть мира, а сервер только проверяет и синхронизирует
4. Ресурсы (геймплейные скрипты) — отдельно. Делаем модульную систему, чтоб подгружать JS как в alt:V
Что нужно от команды:
- Кто-то, кто шарит за хуки и память (MinHook, перехват вызовов)
- Кто-то для сетевой части (сокеты, асинхронность).
- Кто-то для скриптового движка и API.
Это не "запилим за месяц". Это серьезный пет-проект на годы. Но если есть желание покопаться в том, как реально работают эти системы, а не просто играть в готовое — откликайтесь.
Пишите, что умеете, и какую часть готовы тащить.