two stage auth timer

This commit is contained in:
Darto KLoning
2026-10-03 21:44:23 +07:00
parent 6c9d3fb08f
commit eb08aae8bf
4 changed files with 38 additions and 7 deletions
+13 -2
View File
@@ -1,4 +1,4 @@
# Lobby Systems v1.8.3 — Fabric 26.2
# Lobby Systems v1.8.4 — Fabric 26.2
Server-side lobby framework untuk Minecraft Fabric 26.2. Lobby Systems menangani lobby placement, portal antar-dimensi, gamemode/gamerule per dimensi, Starter Kit, penyimpanan posisi player, dan hybrid authentication untuk premium + local/cracked player.
@@ -223,7 +223,7 @@ Console menampilkan `RELOAD START` dan `RELOAD COMPLETE`. Player admin yang menj
- Memperbaiki crash `ConcurrentModificationException` ketika authentication timeout men-disconnect player dari dalam server tick. Auth sekarang mengiterasi snapshot player list, bukan live `ArrayList`.
- Initial dialog ditunda singkat sampai player benar-benar tersedia sebagai target command; ini menghilangkan kegagalan awal `No player was found`.
- Dialog tidak lagi dibuka ulang setiap `reminderIntervalSeconds`, karena itu dapat menghapus password yang sedang diketik.
- Countdown authentication ditampilkan setiap detik melalui action bar. Setelah `authenticationTimeoutSeconds` habis, player otomatis disconnect.
- Countdown sekarang memakai dua fase independen melalui action bar: Rules memakai `rules.json -> timeoutSeconds`, sedangkan Register/Login memakai `auth/config.json -> authenticationTimeoutSeconds`. Timer Register/Login dimulai ulang dari penuh setelah Rules diterima.
- Rules dipindahkan ke `config/lobby/auth/rules.json` dan Rules dialog dibangun dari file tersebut.
- `rulesEnabled` dan `rulesVersion` lama dipindahkan menjadi `enabled` dan `version` di `rules.json`.
- `/ls reload` juga me-reload `rules.json` dan mengevaluasi ulang acceptance/session player online.
@@ -243,3 +243,14 @@ All Rights Reserved. Source dan asset Lobby Systems tidak boleh didistribusikan
- Countdown authentication sekarang dikirim langsung dengan vanilla `ClientboundSetActionBarTextPacket`, sehingga tetap tampil sebagai action bar tanpa bergantung pada method player yang telah dihapus.
- Warna countdown menggunakan `ChatFormatting`/component styling, bukan legacy section-code di payload action bar.
- Seluruh perubahan v1.8.2 (safe timeout iteration, delayed initial dialog, `rules.json`, dan global `/ls reload`) tetap dipertahankan.
## v1.8.4 — Two-stage auth timer
- Informasi `Rules version: N` dihapus dari UI Rules; version tetap disimpan sebagai metadata internal untuk mekanisme re-accept.
- `rules.json` memiliki `timeoutSeconds` (default `60`) untuk batas waktu menerima Rules.
- Register/Login tetap memakai `authenticationTimeoutSeconds` (default `120`).
- Setelah Rules diterima, timer Rules dihentikan dan timer Register/Login dimulai dari awal.
- Countdown action bar memakai label sesuai fase: `Accept the rules within`, `Register within`, atau `Login within`.
- Timeout Rules dan timeout authentication memiliki pesan disconnect yang berbeda.
- `/ls reload` tetap memuat ulang seluruh konfigurasi Lobby Systems, termasuk `auth/rules.json` dan `auth/config.json`.