Skip to content

fantommripper/rust-rim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rust-rim

Менеджер модов для RimWorld, написанный на Rust с использованием egui.

скриншот


⚡ Почему rust-rim?

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.

NixOS

Рекомендуется окружение nix-shell. Приложение автоматически определяет NixOS (через /etc/NIXOS) и использует системный steamcmd, обёрнутый в steam-run.

Зависимости (Linux)

egui использует winit + wgpu. Нужны стандартные графические библиотеки:

  • X11: libx11, libxcb, libxi, libxkbcommon
  • Wayland: wayland, libxkbcommon
  • GPU: драйверы Vulkan или OpenGL

На NixOS всё предоставляется окружением shell.


Использование

Первый запуск

  1. Запусти rust-rim.
  2. Открой Настройки (иконка шестерёнки на панели) и укажи:
    • Путь к игре — директория установки RimWorld (напр. ~/.steam/steam/steamapps/common/RimWorld)
    • Путь к конфигу — директория конфига RimWorld с файлом ModsConfig.xml (напр. ~/.config/unity3d/Ludeon Studios/RimWorld by Ludeon Studios/Config)
    • Путь к локальным модам — твоя папка с локальными модами (напр. ~/.steam/steam/steamapps/common/RimWorld/Mods)

Управление модами

Действие Как
Активировать / деактивировать Двойной клик по моду или ПКМ → меню
Изменить порядок Drag & drop в активном списке
Переместить на шаг ПКМ → Вверх / Вниз
Открыть папку мода ПКМ → Открыть папку
Фильтрация Введи текст в поиск над любым списком

Сортировка

Нажми Сортировать на панели инструментов для авто-сортировки активного списка. Алгоритм:

  1. Ставит патчи до Core первыми (Harmony, Prepatcher и т.д.)
  2. Затем Core и DLC в порядке выхода
  3. Размещает фреймворки (HugsLib, VFE Core и т.д.)
  4. Разрешает зависимости loadBefore/loadAfter алгоритмом Кана
  5. Опционально применяет правила сообщества из базы RimSort (переключается в Настройки → Поведение)

Steam Workshop

Нажми кнопку 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 run

Лицензия

Modified MIT