mirror of
https://github.com/RoyalnetworkTR/simple-launcher.git
synced 2026-09-25 00:19:50 +03:00
AthenaCore (Forge 1.12.2)
Tek mod ile Athena sunucusunun istemci+sunucu tarafını backend'e bağlar:
- Giriş doğrulama: İstemci, launcher'ın yazdığı
config/athena_session.jsoniçindeki tek-kullanımlıkjoin_token'ı login sırasında sunucuya gönderir; sunucu bunuPOST /api/join/verifyile backend'e doğrular. Geçerli değilse (veya banlıysa) oyuncu atılır. Token sunmayan (vanilla / launcher dışı) istemcilergraceSecondsiçinde atılır. Sunucu offline-mode kalır → UUID/dünya verisi bozulmaz. - Custom skin: İstemci her oyuncu için
GET /api/skin/{uuid}.png|.jsonçekip skini uygular (vanilla doku boru hattına enjekte). Backend skini yoksa vanilla varsayılanı kullanılır. - Ban:
/api/join/verifybanlı hesap/discord içinok:falsedöner → giriş engellenir.
Yapı / Toolchain
- JDK 8, ForgeGradle 2.3, Gradle 4.10.3, Forge 14.23.5.2860, mappings
stable_39. - CI:
.github/workflows/athenacore-mod.ymljar'ı derler. Çıktı:build/libs/athenacore-1.0.0.jar.
Kurulum (sunucu + modpack)
- Derlenen
athenacore-1.0.0.jar'ı hem backendWebBackend/files/mods/(required olarak sınıflandır → tüm istemcilere kilitli iner) hem de oyun sunucusununmods/klasörüne koy. - Oyun sunucusunda
ATHENA_SERVER_KEYortam değişkenini backend.envile aynı değere ayarla (veyaconfig/athenacore.cfgiçindeserverKey). Bu anahtar yoksa sunucu giriş doğrulamasını uygulamaz. - Sunucu
server.properties:online-mode=false(offline kalır; güvenlik AthenaCore + join_token ile sağlanır).
Config (config/athenacore.cfg)
backendUrl(vars:https://oyna.athenastudios.com.tr)serverKey— yalnız dedicated sunucuda; gizli tut (envATHENA_SERVER_KEYönceliklidir)graceSeconds— token sunulması için tanınan süre (vars: 12)
⚠️ Doğrulama notu
Skin enjeksiyonu NetworkPlayerInfo alanlarını tip bazlı reflection ile bulur (obfuscation'a dayanıklı) ve tüm hatalar yutulur (skin uygulanmazsa vanilla varsayılan, çökme yok). Auth/ban kritik yolu kararlı API'lerle yazıldı. İlk kurulumda bir test dünyasında skin render'ı ve clientless-kick davranışı doğrulanmalıdır.