gmod-rs/README.md

44 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 не распространяются вместе с проектом.