mirror of
https://github.com/RoyalnetworkTR/simple-launcher.git
synced 2026-09-25 01:39:49 +03:00
Backend (PHP+SQLite): Discord OAuth2 + JWT, coklu hesap (1 Discord = 3-5), tek-kullanimlik join token (/api/join/prepare+verify), custom skin yukleme/sunma, hesap/Discord/HWID ban, admin paneli kartlari; deterministik offline UUID (PHP<->C# paritesi dogrulandi). 25 entegrasyon testi gecti. AthenaCore (Forge 1.12.2): tek client+server mod — join token dogrulama + kick, grace-gate, custom skin uygulama. Sunucu offline-mode kalir (UUID/dunya verisi korunur). Masaustu: WPF -> Avalonia (Windows+Linux), Discord giris/hesap/skin/oyna; WMI/DPAPI yerine cross-platform (machine-id HWID, AES-GCM secret store). Derlenir + calisir. CI: athenacore-mod.yml (JDK8), desktop-release.yml (Win+Linux self-contained). Deploy: deploy.sh (.env uretimi, php-gd, nginx Authorization gecisi) + HANDOFF.md. Android: backend hazir; entegrasyon spec'i ANDROID_INTEGRATION.md.
61 lines
3.1 KiB
Markdown
61 lines
3.1 KiB
Markdown
# Athena Studios Launcher — Mobil (Android)
|
||
|
||
Athena'ya **kilitli**, sıfırdan yazılmış Android uygulaması (Kotlin + Jetpack Compose).
|
||
Masaüstü launcher ile **aynı backend**'i (`https://oyna.athenastudios.com.tr`) kullanır:
|
||
sunucu durumu, sürüm/changelog, opsiyonel modlar, ban kontrolü, metrik — ve modpack'i
|
||
indirip **SHA-256** ile doğrular. Yalnızca **1.12.2 Forge + oyna.athenastudios.com.tr**.
|
||
|
||
> **Motor notu:** Android'de Java Minecraft'ı fiilen çalıştıran motor (JRE + GL4ES)
|
||
> bu uygulamada yoktur; o iş **MojoLauncher**'a aittir. Bu uygulama "Athena katmanı"dır
|
||
> (marka + backend + modpack + kilit) ve iki şekilde motora bağlanır (`GameLauncher.kt`):
|
||
> **(A) Handoff** — kurulu MojoLauncher'ı başlatır (modpack zaten senkronlanmıştır);
|
||
> **(B) Embed** — MojoLauncher fork'una modül olarak gömülerek tek, tam-kilitli APK.
|
||
|
||
## Derleme
|
||
|
||
Gereksinimler: **Android Studio** (veya komut satırı), **JDK 17**, Android SDK 34.
|
||
|
||
```bash
|
||
cd AndroidLauncher
|
||
# Android Studio ile açın VEYA:
|
||
gradle assembleDebug # APK: app/build/outputs/apk/debug/app-debug.apk
|
||
```
|
||
|
||
> Bu Windows geliştirme makinesinde Android SDK yoktur; bu yüzden APK'yı **GitHub
|
||
> Actions** derler. Repo kökündeki `.github/workflows/android-release.yml` push'lanan
|
||
> `v*` etiketinde APK'yı CI'da derler ve **otomatik Release** olarak yayınlar.
|
||
> Bkz. ana `MOBILE.md`.
|
||
|
||
İsteğe bağlı: `app/src/main/res/` altına gerçek bir logo eklemek için
|
||
`images/athlogonoback.png`'yi `drawable/athena_logo.png` yapıp `AppRoot.kt`'te
|
||
`R.drawable.ic_launcher_foreground` yerine kullanın.
|
||
|
||
## Yapı
|
||
```
|
||
app/src/main/java/com/athenastudios/launcher/
|
||
├── AppConfig.kt # BASE_URL + sabitler (MojoLauncher paket adı)
|
||
├── MainActivity.kt # Compose host
|
||
├── AppViewModel.kt # durum + boot/ping/play akışı
|
||
├── data/
|
||
│ ├── Models.kt # @Serializable JSON modelleri (PascalCase)
|
||
│ └── BackendClient.kt # OkHttp + kotlinx.serialization (tüm uçlar)
|
||
├── core/
|
||
│ ├── Hwid.kt # kararlı cihaz kimliği (ban için)
|
||
│ ├── ModpackInstaller.kt # indirme + SHA-256 doğrulama + mods/ beyaz liste
|
||
│ └── GameLauncher.kt # motor handoff (MojoLauncher) / embed (TODO)
|
||
└── ui/
|
||
├── theme/Theme.kt # Athena dark Material3 teması
|
||
└── AppRoot.kt # Ana Sayfa + Modlar + ban ekranı
|
||
```
|
||
|
||
## Kilit modeli
|
||
- Sürüm/profil seçimi yoktur — sabit **1.12.2 Forge**, sunucu **oyna.athenastudios.com.tr**.
|
||
- **Zorunlu** modlar (`/api/index.json`) her zaman indirilir + SHA-256 doğrulanır (anti-cheat).
|
||
- **Opsiyonel** modlar (`/api/mods.json`) "Modlar" sekmesinden açılır/kapanır.
|
||
- `mods/` klasörü beyaz liste ile zorlanır: izinsiz/hile jar'lar senkronizasyonda silinir.
|
||
|
||
## Engine entegrasyonu (tam kilitli tek APK)
|
||
MojoLauncher (LGPLv3) fork'u önerilir; ayrıntılı adımlar ve hazır CI workflow için
|
||
ana **`MOBILE.md`** (Seçenek B). Hemen oynanabilir yol için (kod yok): MojoLauncher'a
|
||
`https://oyna.athenastudios.com.tr/api/modpack.mrpack` adresini içe aktarın.
|