A powerful and user-friendly mod profile manager for Kerbal Space Program that allows you to easily switch between different mod configurations without the hassle of manually copying files.
- Manage multiple KSP installations simultaneously
- Automatic KSP installation validation with comprehensive checks
- Support for different KSP versions and installations
- Smart executable detection (KSP.exe, KSP_x64.exe, etc.)
- Create unlimited mod profiles for different gameplay styles
- NEW: Choose between blank profiles or select from cached mods when creating
- NEW: Advanced mod selection dialog with search and filtering
- NEW: Manage existing profile mods with intuitive interface
- Apply profiles with a single click
- Update profiles from your current GameData setup
- Visual mod list display for each profile
- Automatic mod discovery and organization
- Safe file operations with comprehensive error handling
- Preserve stock KSP files (Squad, SquadExpansion folders)
- Natural sorting for better mod organization
- NEW: Clean up unused mods functionality
- Create zip backups of your GameData folder
- Rollback protection with atomic operations
- Clean removal of unused mods
- Comprehensive validation before operations
- Enhanced error handling and recovery
- NEW: Color-coded UI with intuitive button styling
- NEW: Enhanced tooltips for better user guidance
- NEW: Improved mod selection dialog with persistent selections
- NEW: Search and filter functionality in mod selection
- Status updates during operations
- Cross-platform compatibility (Windows focus)
- Elevated privileges handling for protected installations
- Python 3.7 or higher
- Windows (primary support), Linux/Mac (community tested)
- Kerbal Space Program installation
- Download the latest release from the Releases page
- Extract to your desired location
- Run
main.pywith Python - Add your KSP installation by clicking the "+" button next to the instance dropdown
- Start creating profiles!
git clone https://github.com/Lack-Of-Name/KSP-Mod-Profile-Manager
cd KSP-Mod-Profile-Manager
python main.py #-d switch if errors- Click the "+" button (light green) next to the instance dropdown
- Select your KSP executable (KSP.exe, KSP_x64.exe, etc.)
- The tool will automatically validate your installation and detect GameData
- Give your instance a memorable name
- Select your KSP instance
- Click the "+" button (light green) next to the profile dropdown
- Choose your creation method:
- Create Blank Profile: Start with an empty profile
- Choose from Cached Mods: Select from available mods in your mods folder
- Name your profile and configure as needed
- Manage Profile Mods (salmon button): Add or remove mods from the selected profile
- Use the search functionality to quickly find mods
- Select/deselect multiple mods with "Select All" and "Select None" buttons
- Real-time filtering maintains your selections
- Apply Selected Profile (royal blue): Replaces your GameData with the selected profile's mods
- Update Profile from GameData (violet): Updates the selected profile with your current GameData contents
- Backup GameData (default): Creates a timestamped zip backup
- Clean Up Unused Mods (default): Removes mods not referenced in any profile
- Color-coded buttons for better visual organization
- Improved button styling and layout
- Enhanced tooltips with detailed descriptions
- Interactive mod selection dialog with search functionality
- Persistent selections that maintain state during filtering
- Real-time mod counting and selection feedback
- Support for large mod collections
- Two methods for profile creation (blank or from cached mods)
- Direct profile mod management without recreating profiles
- Better handling of profile updates and modifications
- Automatic detection of unused mods across all profiles
- Safe removal with user confirmation
- Detailed feedback during cleanup operations
ksp-mod-manager/
βββ main.py # Main application
βββ instances.json # KSP instance configurations
βββ mods/ # Cached mod files
β βββ ModName1/
β βββ ModName2/
βββ profiles/ # Profile definitions by instance
β βββ InstanceName/
β βββ Profile1.json
β βββ Profile2.json
βββ backups/ # GameData backups
βββ Instance-Profile-timestamp.zip
- Enhanced Validation: Comprehensive KSP installation validation
- Automatic Backups: Always backup before major operations
- Stock File Protection: Never modifies core KSP files (Squad, SquadExpansion)
- Atomic Operations: All-or-nothing profile applications
- Error Recovery: Comprehensive error handling and reporting
- Permission Handling: Automatic elevation for protected directories
Run with debug flag for detailed error information:
python main.py -dThis application requires elevated privileges on Windows to manage files in protected directories (like Program Files).
VirusTotal Scan: (https://www.virustotal.com/gui/file/2528a323ba6f860df870a91dda96e5eef6818855e01a96bad58a8b61ae58d563?nocache=1)
The application will automatically request administrator rights when needed. This is normal and required for proper operation with KSP installations in system directories.
- Light Green (+): Add new instances or profiles
- Red (β): Remove/delete operations
- Royal Blue: Primary actions (Apply Profile)
- Violet: Update operations
- Light Salmon: Management operations
- Default Gray: Utility operations (Backup, Cleanup)
- KSP 1.x series (all versions)
- Works with modded and stock installations
- Compatible with CKAN-managed installations
- Windows: Full support with elevated privileges
- Linux: Community supported
- macOS: Community supported
Contributions are welcome! Here's how you can help:
- Use the Issues page
- Include your OS, Python version, and KSP version
- Provide steps to reproduce the issue
- Include error messages and logs
- Check existing Issues first
- Describe your use case and proposed solution
- Consider implementation complexity
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Test thoroughly
- Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Improve README documentation
- Add code comments
- Create usage guides
- Update help text and tooltips
- Follow existing code style and patterns
- Add error handling for new operations
- Test with multiple KSP versions when possible
- Consider cross-platform compatibility
- Update tooltips and help text for new features
- Maintain color consistency in UI elements
- Mod dependency management
- Profile sharing and templates
- Enhanced mod conflict detection
- Configuration file management
- Automated mod updates
- Drag-and-drop mod organization
- Profile comparison tools
Q: Will this work with CKAN? A: Yes! The tool works alongside CKAN installations. However, be careful not to conflict with CKAN's mod management.
Q: Can I use this with multiple KSP versions? A: Absolutely! That's exactly what the multi-instance support is for.
Q: What happens to my save files? A: Save files are never touched. This tool only manages the GameData folder.
Q: Is it safe? A: Yes, the tool includes multiple safety features including automatic backups and validation checks.
Q: How do I search for mods when creating profiles? A: Use the search box in the mod selection dialog - it filters mods in real-time while preserving your selections.
Q: Can I modify an existing profile? A: Yes! Use the "Manage Profile Mods" button to add or remove mods from any existing profile.
This project is licensed under the MIT License
- The KSP modding community for inspiration
- Contributors and testers
- Squad/Private Division for Kerbal Space Program
- https://Claude.ai
- Issues: Use the GitHub Issues page
- Discussions: Check Discussions for questions
- KSP Forums: [Link to KSP forum thread - if applicable]
Disclaimer: This tool is not affiliated with Squad or Private Division. Kerbal Space Program is a trademark of Private Division. Always backup your saves and installations before using any mod management tools.