14 KiB
Minecraft Launcher Project - Complete Documentation
Location: /home/admin/ai-lab/_projects/_minecraft/
Last Updated: 2026-04-13
Table of Contents
- Project Overview
- Current Setup
- Build System
- Custom Theme
- Development History
- File Structure
- Configuration
- Deployment
- Troubleshooting
- Future Work
Project Overview
This project contains a custom-branded PrismLauncher for Minecraft, themed as "racked.ru" with a minimalist black and red design. The launcher is built from PrismLauncher-Cracked and customized for portable operation (USB-friendly, no installation required).
Key Features
- Minimalist Design: Black background with red accents
- Portable Mode: All data stored locally, perfect for USB drives
- Cross-Platform: Builds available for Windows, Linux, and macOS
- Stripped Resources: Removed unused themes to minimize size
- Custom Branding: racked.ru theme and catpack background
Current Setup
Launcher Location
/home/admin/ai-lab/_projects/_minecraft/racked.ru - minecraft/
Current Launcher Contents (as of 2026-04-13)
prismlauncher.exe- Main launcher executable (Windows)prismlauncher.cfg- Configuration file with custom theme settingsportable.txt- Enables portable modeQt6*.dll- Qt framework librariesplatforms/- Qt platform pluginsiconengines/- Icon rendering pluginsimageformats/- Image format supportthemes/racked.ru/- Custom theme filescatpacks/racked_ru.png- Background cat imageinstances/racked.ru/- Minecraft instance with mods
Configuration (prismlauncher.cfg)
[General]
ConfigVersion=1.2
ApplicationTheme=racked.ru
IconTheme=flat_white
BackgroundCat=racked_ru
Language=en_US
MenuBarInsteadOfToolBar=true
StatusBarVisible=false
TheCat=true
Build System
Build Repository
The build system and source code are maintained in:
/home/admin/ai-lab/_projects/_minecraft/source/
Build Scripts Available
Linux Scripts
| Script | Purpose |
|---|---|
setup-and-build.sh |
One-command setup and build |
scripts/build-linux-portable.sh |
Build for Linux |
scripts/deploy-to-minecraft-folder.sh |
Build and deploy automatically |
scripts/build-windows-from-linux.sh |
Cross-compile for Windows |
scripts/build-all-platforms-linux.sh |
Multi-platform build |
scripts/create-release.sh |
Create versioned release packages |
Windows Scripts (Legacy)
| Script | Purpose |
|---|---|
scripts/build-windows-portable.bat |
Build for Windows |
scripts/deploy-to-minecraft-folder.bat |
Deploy to Windows folder |
Build Process (Linux)
Quick Build:
cd /home/admin/ai-lab/_projects/_minecraft/source
bash setup-and-build.sh
This:
- Installs dependencies (Fedora packages)
- Builds the launcher
- Creates portable release in
release/
Deploy Build:
bash scripts/deploy-to-minecraft-folder.sh
This:
- Builds the launcher
- Backs up current installation
- Deploys new version to
racked.ru - minecraft/
Build Dependencies (Fedora)
sudo dnf install -y \
cmake gcc-c++ make \
qt6-qtbase-devel qt6-qttools-devel qt6-qtsvg-devel \
qt6-qtnetworkauth-devel qt6-qtimageformats \
zlib-devel mesa-libGL-devel
Custom Theme
Theme Location
source/launcher/resources/racked_ru/
Theme Files
theme.json
{
"colors": {
"AlternateBase": "#000000",
"Base": "#000000",
"BrightText": "#ff0000",
"Button": "#000000",
"ButtonText": "#ffffff",
"Highlight": "#4C4C4C",
"HighlightedText": "#CCCCCC",
"Link": "#CD001F",
"Text": "#ffffff",
"ToolTipBase": "#ffffff",
"ToolTipText": "#ffffff",
"Window": "#000000",
"WindowText": "#ffffff",
"fadeAmount": 0.5,
"fadeColor": "#000000"
},
"name": "racked.ru",
"widgets": "Fusion"
}
themeStyle.css
QToolTip { color: #ffffff; background-color: #2a82da; border: 1px solid white; }
Background
- File:
catpacks/racked_ru.png - Custom cat image displayed in launcher background
- Configured via
BackgroundCat=racked_ruin config
Theme Changes Made
- Removed all default themes (pe_dark, pe_light, pe_blue, etc.)
- Kept only flat_white icon theme for minimalism
- Added custom racked.ru theme with black/red colors
- Set racked.ru as default application theme
- Set flat_white as default icon theme
Development History
Timeline
2026-04-13 - Project Creation
- Cloned upstream PrismLauncher-Cracked repository
- Created custom racked.ru theme integration
- Stripped unused themes and resources
- Implemented cross-platform build system for Linux
- Created automated deployment scripts
- Configured portable mode support
Changes Made
-
Theme Integration
- Added racked.ru theme with custom colors
- Set as default theme in Application.cpp
- Updated main.cpp to load only required resources
- Modified ThemeManager to remove unused themes
-
Resource Optimization
- Removed 10+ unused icon themes
- Removed unused application themes
- Reduced build size significantly
- Kept only flat_white and racked.ru themes
-
Portable Mode
- Added portable.txt to launcher root
- Configured builds to be USB-friendly
- All data stored locally in launcher directory
-
Build System
- Created Linux-first build scripts
- Added cross-compilation support for Windows
- Automated deployment to minecraft folder
- Created release packaging scripts
Upstream Base
- Project: PrismLauncher-Cracked
- Repository: https://github.com/Diegiwg/PrismLauncher-Cracked
- License: GPL-3.0-only
- Qt Version: 6.5.3+
File Structure
Current Launcher (Production)
racked.ru - minecraft/
├── prismlauncher.exe # Main executable
├── prismlauncher.cfg # Configuration
├── portable.txt # Enables portable mode
├── Qt6Core.dll # Qt libraries
├── Qt6Gui.dll
├── Qt6Widgets.dll
├── Qt6Network.dll
├── ... (other Qt DLLs)
├── platforms/ # Qt platform plugins
│ └── qwindows.dll
├── iconengines/ # Icon rendering
├── imageformats/ # Image support
├── themes/
│ └── racked.ru/
│ ├── theme.json
│ └── themeStyle.css
├── catpacks/
│ └── racked_ru.png
├── instances/
│ └── racked.ru/ # Minecraft instance
│ └── minecraft/
│ └── config/ # Mod configurations
├── cache/ # Download cache
├── meta/ # Metadata
├── translations/ # Language files
└── logs/ # Log files
Build System (Development)
source/
├── launcher/ # Source code
│ ├── resources/
│ │ └── racked_ru/ # Custom theme
│ ├── Application.cpp # Modified defaults
│ └── main.cpp # Resource loading
├── scripts/
│ ├── setup-and-build.sh
│ ├── build-linux-portable.sh
│ ├── deploy-to-minecraft-folder.sh
│ ├── build-windows-from-linux.sh
│ ├── build-all-platforms-linux.sh
│ └── create-release.sh
├── README_LINUX.md
├── LINUX_SETUP.md
├── LINUX_QUICKSTART.md
├── BUILD_GUIDE.md
├── PROJECT_SUMMARY.md
└── RELEASE_CHECKLIST.md
Configuration
Default Settings
These are the default settings configured in the build:
ApplicationTheme=racked.ru # Custom black/red theme
IconTheme=flat_white # Minimal white icons
BackgroundCat=racked_ru # Custom background image
MenuBarInsteadOfToolBar=true # Menu bar layout
StatusBarVisible=false # Minimal UI
TheCat=true # Enable background cat
User Configuration
User-specific settings are stored in prismlauncher.cfg in the launcher directory (portable mode) or in system config directory (if portable.txt is removed).
Java Configuration
The launcher auto-detects Java installations. Current settings:
AutomaticJavaDownload=true
AutomaticJavaSwitch=true
JavaVersion=21.0.7
JavaArchitecture=64
Deployment
Deploy to Current Location
Linux (Recommended):
cd /home/admin/ai-lab/_projects/_minecraft/source
bash scripts/deploy-to-minecraft-folder.sh
Manual Deployment:
# Build first
bash scripts/build-linux-portable.sh
# Backup current launcher
mv "racked.ru - minecraft" "racked.ru - minecraft-backup-$(date +%Y%m%d)"
# Copy new build
cp -r release/Racked.ru-PrismLauncher-Linux-Portable/* "racked.ru - minecraft/"
Deployment Locations
Current Production:
/home/admin/ai-lab/_projects/_minecraft/racked.ru - minecraft/
Backup Location (after deploy):
/home/admin/ai-lab/_projects/_minecraft/racked.ru - minecraft-backup-YYYYMMDD/
Release Packages
Release packages are created in:
source/release/
├── racked-prismlauncher-<version>-linux-portable.tar.gz
├── racked-prismlauncher-<version>-windows-portable.zip
└── racked-prismlauncher-<version>-macos-portable.tar.gz
To create a release:
bash scripts/create-release.sh 1.0.0
Troubleshooting
Java Requirements for Minecraft 1.21.10
Minecraft 1.21.10 requires Java 21. Your system has Java 25 which is too new.
Solution: Install Java 21 locally (no root needed)
- See
ADD_JAVA_GUIDE.mdfor complete instructions - Quick fix: Download from https://github.com/adoptium/temurin21-binaries
- Place Java in:
launcher/java/ - Configure launcher to use:
java/jdk-21.0.5+11/bin/java
Quick Install Script:
cd launcher/
mkdir -p java && cd java
wget https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.5%2B11/OpenJDK21U-jdk_x64_linux_hotspot_21.0.5_11.tar.gz
tar xzf OpenJDK21U-jdk_x64_linux_hotspot_21.0.5_11.tar.gz
Common Issues
Launcher Won't Start
Linux:
# Check missing dependencies
ldd release/Racked.ru-PrismLauncher-Linux-Portable/bin/prismlauncher
# Install Qt6 if missing
sudo dnf install qt6-qtbase
Windows:
# Ensure all DLLs are present
# Rebuild with: scripts\build-windows-portable.bat
Theme Not Loading
- Check
prismlauncher.cfgfor correct theme settings - Verify theme files exist in
themes/racked.ru/ - Rebuild launcher if files are missing
Portable Mode Not Working
- Ensure
portable.txtexists in launcher root - Check file permissions (must be readable)
- Delete and recreate if necessary
Build Fails on Linux
# Install dependencies
sudo dnf install cmake gcc-c++ make qt6-qtbase-devel
# Clean build
rm -rf build-linux-portable/ install-linux-portable/
bash scripts/build-linux-portable.sh
Cross-Compilation for Windows Fails
# Install MinGW
sudo dnf install mingw64-gcc-c++ mingw64-qt6-qtbase
# Verify
x86_64-w64-mingw32-g++ --version
Backup and Recovery
Backup Current Launcher:
cp -r "racked.ru - minecraft" "racked.ru - minecraft-backup-$(date +%Y%m%d)"
Restore from Backup:
rm -rf "racked.ru - minecraft"
mv "racked.ru - minecraft-backup-YYYYMMDD" "racked.ru - minecraft"
Preserve Data: Before any deployment, backup:
instances/folder (your Minecraft instances)prismlauncher.cfg(your settings)- Any custom mods or resource packs
Future Work
Planned Improvements
1. Automatic Updates
- Implement update checker
- Create update script
- Add update notifications
2. Custom Branding
- Custom launcher icon
- Custom splash screen
- Custom about dialog
- Branded installer (optional)
3. Performance Optimization
- Further reduce binary size
- Optimize startup time
- Reduce memory footprint
4. Distribution
- Upload to racked.ru website
- Create GitHub releases
- Set up auto-update server
- Package for Linux distros (Flatpak, AppImage)
5. Documentation
- User guide
- Mod installation guide
- Server connection guide
- Video tutorial
Known Limitations
-
macOS Builds: Cannot cross-compile from Linux easily
- Solution: Build natively on macOS
-
Windows Builds: Require MinGW or native Windows
- Currently supports cross-compilation from Linux
-
Size: Still includes full Qt6 framework
- ~100-150MB minimum due to Qt dependencies
-
Updates: Manual update process
- Must rebuild and redeploy for updates
Wishlist
- Custom modpack manager
- Integrated server browser
- Custom news feed from racked.ru
- Integrated voice chat
- Performance monitoring
- Shader pack manager
Additional Resources
Documentation Files
README_LINUX.md- Complete Linux build guideLINUX_SETUP.md- Detailed setup instructionsLINUX_QUICKSTART.md- Quick referenceBUILD_GUIDE.md- Cross-platform build guidePROJECT_SUMMARY.md- Technical overviewRELEASE_CHECKLIST.md- Release verification
External Resources
- PrismLauncher: https://prismlauncher.org/
- PrismLauncher-Cracked: https://github.com/Diegiwg/PrismLauncher-Cracked
- Qt Framework: https://www.qt.io/
- racked.ru Website: https://racked.ru/
Support
- Issues: GitHub Issues in source
- Discord: (Add your Discord link)
- Website: https://racked.ru/
Quick Reference
Most Common Commands
Build from scratch:
cd /home/admin/ai-lab/_projects/_minecraft/source
bash setup-and-build.sh
Deploy to minecraft folder:
bash scripts/deploy-to-minecraft-folder.sh
Create release:
bash scripts/create-release.sh 1.0.0
Run built launcher:
cd release/Racked.ru-PrismLauncher-Linux-Portable/
./run.sh
Important Locations
Project Root: /home/admin/ai-lab/_projects/_minecraft/
Current Launcher: /home/admin/ai-lab/_projects/_minecraft/racked.ru - minecraft/
Build System: /home/admin/ai-lab/_projects/_minecraft/source/
Upstream Reference: /home/admin/ai-lab/prismlauncher-cracked-upstream/
Version: 1.0.0 (Initial Release)
Build Date: 2026-04-13
Maintained By: racked.ru team
License: GPL-3.0-only (based on PrismLauncher)