Skip to content

Whth/BaroBaro

Repository files navigation

BaroBaro-Barotrauma Mod Manager

A dedicated mod manager for Barotrauma, built with Tauri, Vue 3, and TypeScript. This application helps you manage your Barotrauma mods with ease, allowing you to install, update, and organize your mods through an intuitive interface.

Preview

BaroBaro Preview

Features

Core

  • Mod Management: Install, update, and remove Barotrauma mods (copy or symlink strategy)
  • Profile System: Create, apply, rename, compare, import/export, and delete mod profiles
  • Steam Workshop Integration: Download mods via SteamCMD, validate items, retrieve metadata
  • Workshop Browsing: Browse popular mods in-app with search and one-click download
  • True Mod Updates: Hash-diff based updates — skip unchanged mods
  • Settings & Configuration: TOML-persisted config with game paths, install strategy, and UI preferences

UI & UX

  • Dashboard: Mod overview with details, build info, active profile indicator, and update notifications
  • Drag & Drop Reordering: Reorder mod load order with drag and drop
  • Theme System: Dark/Light mode with configurable background blur and opacity
  • Internationalization: English and Chinese (EN/ZH) via vue-i18n
  • Colored Mod Tags: Visual tag system for mod categorization
  • Offline Indicator: Network status awareness with graceful degradation

Technical

  • Mod Hashing: Blake3 checksums for mod integrity verification
  • Mod Metadata Enrichment: Local mods augmented with Steam Workshop data (size, subscribers, likes, creator)
  • Game Config Parsing: Reads config_player.xml to extract enabled mods
  • Bulk Operations: Batch download and batch uninstall
  • Mod Conflict Detection: Dependency analysis to detect missing mod dependencies
  • Auto-Backup: Player config backed up before profile application (last 5 retained)
  • Protobuf IPC: All data structures serialized via Protocol Buffers
  • Structured Logging: tracing + tracing-subscriber with env filter

Recommended IDE Setup

Tech Stack

  • Frontend: Vue 3 + TypeScript + Vite
  • Backend: Rust (Tauri)
  • Communication: Protocol Buffers (protobuf)
  • Mod Distribution: SteamCMD integration

Getting Started

  1. Clone the repository
  2. Install dependencies with pnpm install
  3. Run the development server with pnpm dev

Project Structure

  • src/ - Vue frontend code
  • src-tauri/ - Rust backend code
  • proto/ - Protocol Buffer definitions
  • scripts/ - Build and generation scripts