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

37 lines
1.7 KiB
XML

<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="OfflineMinecraftLauncher.Views.HomeView">
<ScrollViewer>
<StackPanel Spacing="16" MaxWidth="760">
<TextBlock Text="Oyna" Classes="title" />
<Border Classes="card">
<Grid ColumnDefinitions="*,Auto">
<StackPanel>
<TextBlock Text="Oynanan hesap" Classes="muted" />
<TextBlock x:Name="AccountName" Text="-" FontSize="18" FontWeight="SemiBold" />
</StackPanel>
<Button Grid.Column="1" Classes="ghost" Content="Değiştir" VerticalAlignment="Center" Click="OnChange" />
</Grid>
</Border>
<Border Classes="card">
<Grid ColumnDefinitions="*,Auto">
<StackPanel>
<TextBlock Text="Sunucu" Classes="muted" />
<TextBlock x:Name="StatusLine" Text="Kontrol ediliyor..." FontWeight="SemiBold" />
</StackPanel>
<TextBlock x:Name="PlayersLine" Grid.Column="1" Classes="muted" VerticalAlignment="Center" />
</Grid>
</Border>
<ProgressBar x:Name="FileBar" Maximum="100" Height="8" IsVisible="False" />
<ProgressBar x:Name="ByteBar" Maximum="100" Height="8" IsVisible="False" />
<TextBlock x:Name="StatusText" Classes="muted" />
<Button x:Name="PlayButton" Classes="accent" Content="OYNA" FontSize="18"
Height="54" HorizontalAlignment="Stretch" Click="OnPlay" />
</StackPanel>
</ScrollViewer>
</UserControl>