Compare commits

..

No commits in common. "main" and "v0.1.0" have entirely different histories.
main ... v0.1.0

4 changed files with 107 additions and 53 deletions

View file

@ -3,9 +3,9 @@
set -e set -e
echo "=========================================" echo "=============================================="
echo "Building Racked.ru Launcher for Linux" echo "Building Racked.ru PrismLauncher for Linux"
echo "=========================================" echo "=============================================="
echo "" echo ""
# Navigate to build directory # Navigate to build directory

View file

@ -4,6 +4,19 @@ All notable changes to the racked.ru launcher (PrismLauncher fork).
## [Unreleased] — 2026-04-30 ## [Unreleased] — 2026-04-30
### Branding
- Window title: `racked.ru launcher` (was `Prism Launcher 11.0.0-develop`)
- `Launcher_DisplayName``racked.ru launcher` (`program_info/CMakeLists.txt`)
- `setApplicationDisplayName()` no longer appends version string
- Per-file copyright headers + `Launcher_Copyright` cmake var preserved (GPL-3.0 §5c compliance)
### Removed "Cracked" branding leak
Spell-check had mangled `racked.ru``cracked` across docs/configs. Cleaned all 7 files:
- `CMakeLists.txt`, `program_info/CMakeLists.txt`, `program_info/org.prismlauncher.PrismLauncher.metainfo.xml.in`
- `README_RELEASE.md`, `PROJECT_SUMMARY.md`, `BUILD_GUIDE.md`, `scripts/create-release.sh`
- Upstream URL `Diegiwg/PrismLauncher-Cracked` → placeholder `s8n-ru/minecraft-launcher` (replace with real repo URL)
- Branch ref `cracked``main`
### News feed ### News feed
- `Launcher_NEWS_RSS_URL``https://racked.ru/feed.xml` (was `prismlauncher.org/feed/feed.xml`) - `Launcher_NEWS_RSS_URL``https://racked.ru/feed.xml` (was `prismlauncher.org/feed/feed.xml`)
- `Launcher_NEWS_OPEN_URL``https://racked.ru/news` - `Launcher_NEWS_OPEN_URL``https://racked.ru/news`

121
README.md
View file

@ -2,52 +2,90 @@
# minecraft-launcher # minecraft-launcher
<br> **Privacy-first Minecraft launcher.**
<a href="https://github.com/s8n-ru/minecraft-launcher/releases/latest"> No telemetry. No Microsoft account requirement. Runs smooth on hardware that stock Minecraft chokes on.
<img src="https://img.shields.io/badge/Download-black?style=for-the-badge&logoColor=white&labelColor=black&color=white" height="60" alt="Download latest">
</a>
<br><br>
[![Linux](https://img.shields.io/badge/Linux-x64-black?style=flat-square&logo=linux&logoColor=white)](https://github.com/s8n-ru/minecraft-launcher/releases/latest) [![Linux](https://img.shields.io/badge/Linux-x64-black?style=flat-square&logo=linux&logoColor=white)](https://github.com/s8n-ru/minecraft-launcher/releases/latest)
[![Windows](https://img.shields.io/badge/Windows-x64-black?style=flat-square&logo=windows&logoColor=white)](https://github.com/s8n-ru/minecraft-launcher/releases/latest) [![Windows](https://img.shields.io/badge/Windows-x64-black?style=flat-square&logo=windows&logoColor=white)](https://github.com/s8n-ru/minecraft-launcher/releases/latest)
[![macOS](https://img.shields.io/badge/macOS-arm64-black?style=flat-square&logo=apple&logoColor=white)](https://github.com/s8n-ru/minecraft-launcher/releases/latest) [![macOS](https://img.shields.io/badge/macOS-arm64-black?style=flat-square&logo=apple&logoColor=white)](https://github.com/s8n-ru/minecraft-launcher/releases/latest)
[![License: GPL-3.0](https://img.shields.io/badge/License-GPL_3.0-black?style=flat-square)](LICENSE)
--- [**Download**](https://github.com/s8n-ru/minecraft-launcher/releases/latest) · [Changelog](CHANGELOG.md) · [Audits](docs/)
an opinionated launcher - ***my based opinion***
built for myself, If your its to your taste, help yourself.
---
<img alt="racked.ru launcher" src="docs/screenshots/launcher.png" width="55%"> <img alt="racked.ru launcher" src="docs/screenshots/launcher.png" width="55%">
---
[Changelog](CHANGELOG.md) · [Audits](docs/)
</div> </div>
--- ---
## Trust ## Why this fork exists
Don't take my word on the privacy stuff. Read the audits: Stock Minecraft phones home. Stock launcher pushes Microsoft accounts. Stock client struggles on low-end machines.
- [docs/NETWORK_AUDIT.md](docs/NETWORK_AUDIT.md) — every endpoint This fork fixes all three.
listed, telemetry verdict per call
- [docs/SETTINGS_AUDIT.md](docs/SETTINGS_AUDIT.md) — default-value | | Stock launcher | This fork |
diffs vs upstream |---|---|---|
- [docs/BLOAT_AUDIT.md](docs/BLOAT_AUDIT.md) — what got stripped, why | Telemetry | Yes | None |
| Microsoft account | Required | Optional, never enforced |
| News fetch on launch | Yes | Hidden, no startup call |
| Plays on weak hardware | Often won't | Yes |
| Window title | Mojang branding | `racked.ru launcher` |
Full diff: [CHANGELOG.md](CHANGELOG.md).
--- ---
## Status ## Features
Personal project. Bugs happen. Use at your own risk. ### Privacy
PRs welcome but not promised to merge — this is opinionated by - **No telemetry, anywhere.** Audited every endpoint — see [docs/NETWORK_AUDIT.md](docs/NETWORK_AUDIT.md)
design. - **No accounts required.** Pick a username, play offline. Sign in later if you want
- **No analytics, no tracking.** Doesn't matter who you are
### Performance
- Tuned for low-end hardware
- Bundled Java 21 (no system install)
- Portable — all data in one folder, USB-friendly
### Functionality
- Modrinth, CurseForge, FTB, ATLauncher, Technic platforms
- Custom monochrome theme
- Hide news feed by default — no startup network call
---
## Download
Pre-built binaries for Linux, Windows, macOS:
→ [**Latest release**](https://github.com/s8n-ru/minecraft-launcher/releases/latest)
Linux:
```bash
tar xzf minecraft-launcher-linux-x64.tar.gz
cd minecraft-launcher
./bin/prismlauncher
```
Windows:
```
unzip minecraft-launcher-windows-x64.zip
cd minecraft-launcher
prismlauncher.exe
```
macOS (unsigned — right-click → Open → Open anyway):
```bash
unzip minecraft-launcher-macos-arm64.zip
cd minecraft-launcher
./prismlauncher.app/Contents/MacOS/prismlauncher
```
Pick a username on first launch. Done.
--- ---
@ -72,9 +110,32 @@ cmake --build build -j$(nproc)
./build/prismlauncher ./build/prismlauncher
``` ```
CI builds via [GitHub Actions](.github/workflows/build.yml) for all 3 CI builds via [GitHub Actions](.github/workflows/build.yml) for all 3 platforms on every tag.
platforms on every tag.
--- ---
<sub>[GPL-3.0](LICENSE) · fork chain: [PrismLauncher](https://github.com/PrismLauncher/PrismLauncher) ← [PolyMC](https://github.com/PolyMC/PolyMC) ← [MultiMC](https://github.com/MultiMC/Launcher)</sub> ## Trust
This is open-source. Verify the privacy claims yourself:
- [docs/NETWORK_AUDIT.md](docs/NETWORK_AUDIT.md) — every network endpoint listed, telemetry verdict
- [docs/SETTINGS_AUDIT.md](docs/SETTINGS_AUDIT.md) — default-value diffs vs upstream
- [docs/BLOAT_AUDIT.md](docs/BLOAT_AUDIT.md) — what was stripped, why
You don't have to trust me. Read the source.
---
## Status
Personal project. No support guarantees. Bugs may bite. Use at own risk.
Pull requests welcome but not promised to merge.
---
## License
GPL-3.0-only. Per-file copyright headers preserved.
Based on [PrismLauncher](https://github.com/PrismLauncher/PrismLauncher) (GPL-3.0), itself a fork of [PolyMC](https://github.com/PolyMC/PolyMC) and [MultiMC](https://github.com/MultiMC/Launcher).

View file

@ -754,26 +754,6 @@ Application::Application(int& argc, char** argv) : QApplication(argc, argv)
m_settings->registerSetting("AutomaticJavaDownload", defaultEnableAutoJava); m_settings->registerSetting("AutomaticJavaDownload", defaultEnableAutoJava);
m_settings->registerSetting("UserAskedAboutAutomaticJavaDownload", false); m_settings->registerSetting("UserAskedAboutAutomaticJavaDownload", false);
// Auto-detect portable JDK in <launcher_root>/java/jdk-*/bin/java(.exe)
if (m_settings->get("JavaPath").toString().isEmpty()) {
QDir javaDir(FS::PathCombine(m_rootPath, m_settings->get("JavaDir").toString()));
if (javaDir.exists()) {
const QStringList jdks = javaDir.entryList({ "jdk-*", "jre-*" }, QDir::Dirs | QDir::NoDotAndDotDot, QDir::Name | QDir::Reversed);
for (const QString& jdk : jdks) {
#ifdef Q_OS_WIN
QString candidate = FS::PathCombine(javaDir.absoluteFilePath(jdk), "bin", "java.exe");
#else
QString candidate = FS::PathCombine(javaDir.absoluteFilePath(jdk), "bin", "java");
#endif
if (QFileInfo(candidate).isExecutable()) {
qDebug() << "Auto-detected portable JDK:" << candidate;
m_settings->set("JavaPath", candidate);
break;
}
}
}
}
// Legacy settings // Legacy settings
m_settings->registerSetting("OnlineFixes", false); m_settings->registerSetting("OnlineFixes", false);