Memahami guard keamanan
Validasi input dan pembatasan pekerjaan membantu pada jalur tertentu, dengan konsekuensi yang perlu diuji.
Di halaman ini
Ruang perlindungan
Keenam guard default aktif dan independen. Validasi berjalan pada decoder paket yang ada atau main thread, tanpa mengubah identitas thread. Perlindungan diperbarui sesuai temuan; tidak semua masalah dapat dikenali atau diblokir.
Guard ini tidak menggantikan firewall, proteksi DDoS, pengaturan proxy, permission plugin, backup, atau pembaruan OS/Java. Trafik jaringan yang sudah memenuhi koneksi hosting dapat menimbulkan masalah sebelum mencapai validasi game.
NBT dan pola paket
NBT guard memeriksa ukuran, kedalaman, tipe, panjang, string, serta kompleksitas input sebelum materialisasi yang terkait. Default 2 MiB, kedalaman 512, dan 2.097.152 node/elemen. Quota heap NBT native tetap terpisah. Data internal plugin/disk tidak semuanya melewati scanner jaringan ini.
Pattern guard default memiliki daftar literal kosong dengan cap payload 2 MiB. Ia membaca byte paket/channel yang relevan, bukan semua makna item atau plugin. Limit terlalu rendah atau aturan terlalu luas dapat menolak input sah.
Aturan literal
security.crash-pattern-guard.patterns berupa daftar maksimal 128 objek:
| Field | Batas dan arti |
|---|---|
id | Unik, 1..64 karakter lowercase a-z, angka, _, ., - |
channel | Maksimal 128 karakter; ID namespaced tepat, *, atau pola namespace seperti contoh:* |
substring | Literal UTF-8 maksimal 512 byte; bukan regex |
max-bytes | Integer 0..2097152; nol mematikan kondisi ukuran |
Channel dan semua kondisi yang dipasang harus cocok. Ukuran cocok bila lebih besar dari max-bytes positif. Sedikitnya satu literal tidak kosong atau batas ukuran positif diperlukan. Budget scan agregat 4 MiB per paket juga dapat memicu aksi. Gunakan hanya aturan yang sudah diverifikasi pada protocol plugin sendiri; tidak perlu mencoba payload serangan.
Flood dan biaya main player
Flood guard memakai token bucket PLAY per koneksi, default 300 paket/detik dengan burst 600. Ini menghitung frame, bukan bandwidth. SKIP membuang frame berlebih; acknowledgement dapat terganggu pada flood berkepanjangan dan native timeout masih mungkin terjadi.
Tick guard memakai budget kooperatif default 64 paket/player/tick dan 2.000 µs. SKIP menunda gameplay dalam FIFO terbatas; overflow menolak paket terbaru. Handler berjalan tidak dapat dipotong, sehingga ini bukan batas keras 2 ms. DISCONNECT lebih ketat dan juga dapat memutus player bila handler plugin sah menghabiskan budget.
Redstone dan input tambahan
Redstone limiter default mengizinkan 4.096 update/chunk/tick, menunda FIFO sampai 8.192 entri/chunk dan 65.536/world. Sirkuit sah padat dapat terlambat. Overflow membuang update terbaru; antrean tidak disimpan setelah restart. Ini tidak membagi setiap evaluasi wire massal atau internal piston menjadi unit waktu kecil.
Kebijakan peletakan raw block NBT default tidak diblokir (disable-placed-block-nbt-reading: false). Mengubahnya dapat memengaruhi item/plugin sah; komponen modern tetap punya jalur terpisah. Limiter downloader mengenali request berbentuk protocol tertentu pada wdl:request, default 2/detik burst 8. Nama channel saja bukan bukti pelanggaran dan downloader lain tidak otomatis terdeteksi.
Lihat semua key dan batas serta penanganan false positive.