rules
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Lobby Systems v1.8.1 — Fabric 26.2
|
||||
# Lobby Systems v1.8.3 — 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.
|
||||
|
||||
@@ -44,10 +44,11 @@ config/lobby/
|
||||
├── starterkit-recipients.json
|
||||
└── auth/
|
||||
├── config.json
|
||||
├── rules.json
|
||||
└── accounts.json
|
||||
```
|
||||
|
||||
`/ls reload` me-reload **seluruh konfigurasi Lobby Systems**, termasuk config utama, Auth, portal, dimension gamemode, dimension gamerule, dan Starter Kit. Perubahan Auth juga diterapkan ke session player yang sedang online. Perubahan `rulesVersion`, `rulesEnabled`, `requireLoginEveryJoin`, dan `enabled` tidak memerlukan restart server.
|
||||
`/ls reload` me-reload **seluruh konfigurasi Lobby Systems**, termasuk config utama, Auth, portal, dimension gamemode, dimension gamerule, dan Starter Kit. Perubahan Auth juga diterapkan ke session player yang sedang online. Perubahan Auth, termasuk `rules.json`, `requireLoginEveryJoin`, dan `enabled`, tidak memerlukan restart server.
|
||||
|
||||
## Lobby dan login placement
|
||||
|
||||
@@ -108,7 +109,28 @@ Jadi `true` merupakan lapisan password tambahan untuk premium account, bukan pen
|
||||
|
||||
### Server Rules
|
||||
|
||||
Auth config menyediakan `rulesEnabled` dan `rulesVersion`. Acceptance disimpan per account. Naikkan `rulesVersion` jika semua account perlu menerima versi rules yang baru. `/ls reload` langsung menerapkan perubahan versi rules kepada player yang sedang online.
|
||||
Rules dipisahkan dari Auth config dan dibuat otomatis sebagai `config/lobby/auth/rules.json`. File ini adalah sumber isi window Rules:
|
||||
|
||||
```json
|
||||
{
|
||||
"enabled": true,
|
||||
"version": 1,
|
||||
"title": "Server Rules",
|
||||
"introduction": "Please read and accept our rules:",
|
||||
"rules": [
|
||||
"No cheating, hacking, or exploits.",
|
||||
"Be respectful to all players.",
|
||||
"No advertising or spam.",
|
||||
"Follow staff instructions.",
|
||||
"Have fun and play fair!"
|
||||
],
|
||||
"footer": "You must accept these rules to continue.",
|
||||
"agreementLabel": "I have read and agree to the server rules",
|
||||
"acceptButton": "I Accept"
|
||||
}
|
||||
```
|
||||
|
||||
Acceptance disimpan per account. `version` hanya perlu dinaikkan ketika perubahan rules memang harus diminta untuk diterima ulang oleh seluruh player. Mengedit teks tanpa menaikkan `version` tidak menghapus acceptance lama. `/ls reload` membaca ulang file ini dan menerapkan perubahan runtime.
|
||||
|
||||
### Auth account data
|
||||
|
||||
@@ -187,7 +209,7 @@ Command `/ls` administratif memerlukan operator permission sesuai implementasi c
|
||||
Reload adalah satu pintu untuk seluruh runtime configuration. Urutannya mencakup:
|
||||
|
||||
1. `config.json`
|
||||
2. Auth `config.json` + `accounts.json`
|
||||
2. Auth `config.json` + `rules.json` + `accounts.json`
|
||||
3. `portals.json` + portal visual repair
|
||||
4. `dimension-gamemodes.json` + apply ke dimension/player
|
||||
5. `dimension-gamerules.json` + apply ke loaded dimensions
|
||||
@@ -196,12 +218,15 @@ Reload adalah satu pintu untuk seluruh runtime configuration. Urutannya mencakup
|
||||
|
||||
Console menampilkan `RELOAD START` dan `RELOAD COMPLETE`. Player admin yang menjalankan command menerima ringkasan hasil reload tanpa broadcast ke player lain.
|
||||
|
||||
## Catatan v1.8.1
|
||||
## Catatan v1.8.2
|
||||
|
||||
- Memperbaiki compile error Fabric 26.2 pada Auth dialog command dispatch: `ServerPlayer#getServer()` diganti dengan server dari `player.level().getServer()`.
|
||||
- `/ls reload` sekarang tidak hanya membaca ulang Auth config tetapi juga menerapkan perubahan Auth ke session player yang sedang online.
|
||||
- README diatur ulang berdasarkan subsistem, bukan riwayat patch versi lama.
|
||||
- Dialog Rules/Register/Login tetap menjadi primary authentication UI; command login/register dipertahankan sebagai fallback.
|
||||
- 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.
|
||||
- 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.
|
||||
|
||||
## Known compatibility note
|
||||
|
||||
@@ -210,3 +235,11 @@ Local/cracked identity tidak memiliki Mojang profile public key. Jika server mem
|
||||
## License
|
||||
|
||||
All Rights Reserved. Source dan asset Lobby Systems tidak boleh didistribusikan atau digunakan ulang di luar izin pemilik project.
|
||||
|
||||
|
||||
## Catatan v1.8.3
|
||||
|
||||
- Memperbaiki compile error Minecraft 26.2 karena `ServerPlayer.displayClientMessage(Component, boolean)` sudah tidak tersedia pada mapping/API target ini.
|
||||
- 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.
|
||||
|
||||
Reference in New Issue
Block a user