Files
Barış Keser 83be058d23 feat: Athena v2 — Discord auth, AthenaCore mod, cross-platform launcher, CI
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.
2026-06-13 23:45:21 +03:00

88 lines
4.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<div align="center">
# Athena Studios Launcher
**1.12.2 Forge modpack başlatıcısı** — özel sunucu `oyna.athenastudios.com.tr` için.
Otomatik modpack senkronizasyonu · İsteğe bağlı mod seçimi · SHA-256 anti-cheat · Dinamik PHP backend + web yönetim paneli
</div>
---
## Hakkında
Athena Studios Launcher; oyuncuların tek tıkla **Minecraft 1.12.2 Forge** modpack'ini
indirip `oyna.athenastudios.com.tr` sunucusuna bağlanmasını sağlayan bir başlatıcıdır.
Modpack içeriği bir PHP backend tarafından **dinamik** olarak sunulur: yönetici
`files/` klasörüne dosyaları bırakır, sistem otomatik olarak istemci paketini
tanımlar, SHA-256 özetlerini çıkarır ve istemciye sunar.
> Powered by [CmlLib.Core](https://github.com/CmlLib/CmlLib.Core).
## Özellikler
- 🎮 **1.12.2 Forge** modpack'ini otomatik kurar ve çalıştırır (Java 8 / `jre-legacy` otomatik çözülür).
- 🔄 **Otomatik senkronizasyon** — istemci her açılışta güncel paketi çeker; yalnızca değişen dosyaları indirir.
- 🧩 **İsteğe bağlı modlar** — oyuncular "Modlar" ekranından izin verilen opsiyonel modları seçer; sistem otomatik kurar.
- 🔒 **SHA-256 anti-cheat** — zorunlu modlar/dosyalar SHA-256 ile kilitlenir; `mods/` klasörü beyaz liste ile zorlanır, hile/ekstra jar'lar silinir.
- 📋 **Otomatik sürüm notları** — paket içeriği değişince sürüm otomatik artar ve changelog üretilir; launcher oyunculara gösterir.
- 🛡️ **HWID ban** sistemi ve ayrıntılı kullanım metrikleri.
- 🖥️ **Web yönetim paneli** — yapılandırma, mod sınıflandırma, sürüm geçmişi, istatistikler, ban yönetimi.
- ⚙️ Ayarlanabilir RAM / Java yolu / JVM argümanları.
## Mimari
```
simple-launcher/
├── *.cs, *.xaml, *.csproj # Athena Studios Launcher (C# / .NET 9 WPF istemcisi)
│ ├── App.xaml(.cs) # Giriş noktası, tema, global hata yakalama
│ ├── MainWindow.xaml # Özel başlık çubuğu + kenar çubuğu navigasyon + boot akışı
│ ├── Theme/Brand.xaml # Marka dark teması (renkler, buton/slider/toggle stilleri)
│ ├── Pages/ # Home, Mods, Settings, News sayfaları (UserControl)
│ ├── Services/LauncherCore.cs # Başlatma akışı: ban, ping, sync, Forge, telemetri
│ ├── AppConfig.cs # Backend URL + uygulama veri klasörü + sosyal bağlantılar
│ ├── PackageManager.cs # SHA-256 doğrulama + opsiyonel mod senkronizasyonu
│ ├── Character.cs # Kullanıcı adından deterministik skin/UUID
│ └── tools/make_icon.ps1 # Marka görselinden çok-çözünürlüklü .ico üretici
└── WebBackend/ # PHP 8.4 backend (Python/Flask'in yerini aldı)
├── public/index.php # Yönlendirici + tüm API uçları
├── src/ # config, db, ping, builder (dinamik index+changelog), admin
├── cli/build_index.php # cron için index üretici
└── files/ # yöneticinin içerik bıraktığı klasör (1.12.2 Forge dosyaları)
```
İstemci ile sunucu sözleşmesi (JSON uçları, opsiyonel mod modeli, anti-cheat)
ve dağıtım rehberi için **[WebBackend/README.md](WebBackend/README.md)**.
## Launcher Kullanımı (oyuncu)
1. Başlatıcıyı açın, kullanıcı adınızı girin.
2. İsterseniz **Modlar** ile opsiyonel modları seçin, **Ayarlar** ile RAM'i ayarlayın.
3. **OYNA**'ya basın — modpack indirilir/doğrulanır, Forge kurulur, sunucuya bağlanır.
## Backend Kurulumu (yönetici)
Tam rehber: **[WebBackend/README.md](WebBackend/README.md)**. Özetle:
1. `WebBackend/public` dizinini web kökü yapın (Apache vhost veya nginx + php-fpm).
2. 1.12.2 Forge istemci dosyalarınızı (`mods/`, `config/`, forge kütüphaneleri, vb.)
`WebBackend/files/` içine bırakın.
3. Yönetim panelinden (`/admin?password=...`) modları zorunlu/isteğe bağlı olarak
sınıflandırın ve gerekiyorsa yapılandırmayı düzenleyin.
4. Sistem `files/` içeriğini otomatik tarar, `index.json` + `mods.json` üretir;
her değişiklikte sürüm artar ve changelog'a not düşülür.
> ⚠️ İstemcideki **`AppConfig.BackendUrl`** sabitini gerçek backend adresinize göre
> ayarlayın (varsayılan: `https://oyna.athenastudios.com.tr`).
## Geliştirme / Derleme
```powershell
# İstemci (.NET 9 SDK gerekir)
dotnet build OfflineMinecraftLauncher.csproj -c Debug
# Backend yerel testi (PHP 8.4)
php -S 127.0.0.1:8099 -t WebBackend/public WebBackend/public/index.php
```