# Source RS (garrysmod-rs) Клиент Garry's Mod, переписанный с нуля на Rust. Цель — комфортная и красивая игра на сандбокс-серверах с десятками игроков, тысячами сущностей (пропы, констрейны, эффекты) и кучей аддонов, при полной совместимости с реальными серверами эпохи Source 2013 (net protocol 24 + GMod-расширения). Рабочая цель №1 — сервер **ClassicBox** (`194.147.90.27:24215`). - Имя проекта: **Source RS** - Каталог: `~/garrysmod-rs` (сессия разработки переведена сюда) - Платформа: Linux x86_64, wgpu/Vulkan. Windows — позже, код кроссплатформенный - Статус: **план зафиксирован, следующий шаг — спринт 0** (см. `docs/PLAN.md` §7) ## Что чиним (коротко) Анимации моделей игроков (главный пробел Source.NET), сандбокс-масштаб (кучи пропов/энтити/констрейнов), долгие заходы в игру и на сервер, шейдерные стуттеры и подгрузки, 32-битные лимиты, однопоточность, краши от зловредных аддонов/серверов (Starfall, PAC3 и т.п.), качество картинки. ## Документация | Файл | Содержание | |---|---| | [docs/PLAN.md](docs/PLAN.md) | Видение, рамки, принципы, этапы M0–M9, спринт 0, критерии успеха, решения, риски | | [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) | Cargo workspace, крейты, подсистемы, потоки, кэши, конвенции кода | | [docs/PROBLEMS.md](docs/PROBLEMS.md) | Реестр «болячек» GMod/Source и как каждая решается (+ Принцип сандбокс-масштаба) | | [docs/LUA.md](docs/LUA.md) | Lua-рантайм: LuaJIT, sandbox, рельсы API, порядок HUD → Derma → PAC3 → Starfall | | [docs/NETWORK.md](docs/NETWORK.md) | Протокол: netchan, снапшоты, GMod-расширения, Steam, передача файлов, dump/replay | | [docs/RECON.md](docs/RECON.md) | Разведка: окружение, сервер, ассеты, референсы, лицензии | | [AGENTS.md](AGENTS.md) | Правила репозитория для агентов/разработчиков | ## Что это НЕ такое (первая фаза) - Не серверный движок: dedicated-сервер и серверный Lua геймодов — вне рамок. - Не перераспространение ассетов: контент берётся только из локальных установок пользователя. - Не совместимость с нативными бинарными модулями аддонов (`.dll`/`.so` внутри addons) — by design. ## Правовая заметка Source SDK 2013 и Source.NET распространяются под Source 1 SDK License. Код оттуда используется только как **спецификация**; код проекта — собственный. Ассеты Garry's Mod не распространяются вместе с проектом.