Менеджер модов для RimWorld, написанный на Rust с использованием egui.
rust-rim написан на Rust — системном языке с нативной компиляцией и нулевым рантаймом. В отличие от популярных аналогов RimSort и RimPy, написанных на Python, rust-rim:
- Запускается мгновенно — нет интерпретатора, нет прогрева виртуальной машины
- Потребляет в разы меньше памяти — нет Python-рантайма и тяжёлых фреймворков
- Работает быстрее — сканирование, сортировка и поиск по тысячам модов за миллисекунды
- Двухпанельный список модов — неактивные слева, активный порядок загрузки справа
- Перетаскивание — меняй порядок модов drag & drop
- Поиск и фильтрация — живая фильтрация в обеих панелях одновременно
- Панель информации о моде — описание, версия, автор, поддерживаемые версии игры и превью-изображение
- Предупреждения о зависимостях и конфликтах — подсвечивает отсутствующие зависимости (⚠) и активные несовместимости (✕)
- Умная сортировка — топологическая сортировка по метаданным
loadBefore/loadAfterс приоритетными уровнями (патчи до Core → Core → DLC → фреймворки → обычные моды), опционально дополняется базой правил сообщества RimSort - Браузер Steam Workshop — просмотр и поиск по трендовым / новым / популярным / недавно обновлённым; просмотр и установка коллекций
- Интеграция SteamCMD — загрузка модов с Workshop напрямую без Steam; поддержка NixOS (использует системный
steamcmdчерезsteam-run) - Обнаружение дубликатов — находит моды, установленные в нескольких местах, и позволяет удалить лишние
- Сохранение настроек — пути к игре, конфигу, локальным модам и SteamCMD сохраняются на уровне пользователя
Скачай нужный файл со страницы релизов:
| Платформа | Файл |
|---|---|
| Linux (бинарник) | rust-rim-1.1.0-linux-x86_64 |
| Linux (AppImage) | rust-rim-1.1.0-x86_64.AppImage |
| Windows | rust-rim-1.1.0-windows-x86_64.exe |
Требуется свежий стабильный тулчейн Rust (edition 2024).
cargo build --releaseБинарник появится по пути target/release/rust-rim.
Рекомендуется окружение nix-shell. Приложение автоматически определяет NixOS (через /etc/NIXOS) и использует системный steamcmd, обёрнутый в steam-run.
egui использует winit + wgpu. Нужны стандартные графические библиотеки:
- X11:
libx11,libxcb,libxi,libxkbcommon - Wayland:
wayland,libxkbcommon - GPU: драйверы Vulkan или OpenGL
На NixOS всё предоставляется окружением shell.
- Запусти
rust-rim. - Открой Настройки (иконка шестерёнки на панели) и укажи:
- Путь к игре — директория установки RimWorld (напр.
~/.steam/steam/steamapps/common/RimWorld) - Путь к конфигу — директория конфига RimWorld с файлом
ModsConfig.xml(напр.~/.config/unity3d/Ludeon Studios/RimWorld by Ludeon Studios/Config) - Путь к локальным модам — твоя папка с локальными модами (напр.
~/.steam/steam/steamapps/common/RimWorld/Mods)
- Путь к игре — директория установки RimWorld (напр.
| Действие | Как |
|---|---|
| Активировать / деактивировать | Двойной клик по моду или ПКМ → меню |
| Изменить порядок | Drag & drop в активном списке |
| Переместить на шаг | ПКМ → Вверх / Вниз |
| Открыть папку мода | ПКМ → Открыть папку |
| Фильтрация | Введи текст в поиск над любым списком |
Нажми Сортировать на панели инструментов для авто-сортировки активного списка. Алгоритм:
- Ставит патчи до Core первыми (Harmony, Prepatcher и т.д.)
- Затем Core и DLC в порядке выхода
- Размещает фреймворки (HugsLib, VFE Core и т.д.)
- Разрешает зависимости
loadBefore/loadAfterалгоритмом Кана - Опционально применяет правила сообщества из базы RimSort (переключается в Настройки → Поведение)
Нажми кнопку Workshop для открытия браузера. Доступно:
- Поиск и просмотр по порядку сортировки
- Переключение между вкладками Моды и Коллекции
- Клик по коллекции — раскрывает и добавляет все её элементы в очередь загрузки
- Загрузка через SteamCMD (устанавливается автоматически при первом использовании, или используется системный
steamcmdна NixOS)
Настройки хранятся в системной директории конфигов:
| Платформа | Путь |
|---|---|
| Linux | ~/.config/rustrim/settings.json |
| macOS | ~/Library/Application Support/com.rustrim.RustRim/settings.json |
| Windows | %APPDATA%\rustrim\config\settings.json |
Данные SteamCMD по умолчанию в директории данных ОС (~/.local/share/rustrim/steamcmd_data на Linux), если не переопределено в Настройках.
Логирование управляется переменной окружения RUST_LOG (по умолчанию: warn):
RUST_LOG=info cargo runModified MIT