Skip to content

macroEngine 1.21.2: strict_gating permission enforcement + experimental flags - #33

Merged
tickwarden merged 1 commit into
mainfrom
update/macroengine-1.21.2-datapack
Aug 19, 2026
Merged

macroEngine 1.21.2: strict_gating permission enforcement + experimental flags#33
tickwarden merged 1 commit into
mainfrom
update/macroengine-1.21.2-datapack

Conversation

@IronCrest-sudo

Copy link
Copy Markdown
Collaborator

Özet

packs/macroEngine-Datapack-1.21.2 günceli, yüklenen 1.21.2 datapack sürümüyle eşitler. 13 dosya değişti, 15 yeni dosya eklendi, silinen dosya yok.

Ana değişiklik: strict_gating izin uygulaması

core/internal/security/check_all.mcfunction eklendi. Bu fonksiyon, v6.0.2den beri docstringlerde admin_min_level / cmd_min_level / sandbox_cmd_min_level olarak "uygulanıyor" diye belgelenen ama pakette hiçbir yerde macroengine.perm_level okumadığı için fiilen hiç çalışmayan izin kontrolünü kapatıyor.

Dikkat: Yeni flags.experimental.strict_gating bayrağı varsayılan olarak KAPALI (0b, geriye dönük uyumluluk için — config.mcfunction:50). Yani bu PR mergelendiğinde izin kontrolleri sunucularda otomatik olarak aktifleşmiyor; admin api/toggle/experimental/{true,false} ile elle açmalı. Bu bilinçli bir kill-switch tasarımı ama merge öncesi görünür olması gerektiğini düşündüğüm bir nokta.

Diğer eklemeler

  • systems/flag/experimental/ bayrak sistemi (strict_gating, hologram, particle_trail, scoreboard_hud, waypoint, combat_tag, crafting_ui)
  • experimental/ altında yeni deneysel özellik fonksiyonları (hologram, particle_trail, waypoint, crafting_ui, scoreboard_hud, combat_tag)
  • check_alle bağlanan noktalar: api/cb/*, core/internal/api/wand/call_cmd, debug/tools/trigger/execute

Bilinen sınırlama (yeni değil, dokümante edilmiş)

core/internal/load/gate/request.mcfunction kendi race condition riskini belgeliyor: çağıranlar storage a yazdıktan sonra pending_gate çakışma kontrolü çalışıyor, yani eşzamanlı çağrılarda ikinci istek ilkiyle yarışabilir. Bu PR bunu düzeltmiyor, mevcut haliyle taşıyor.

Kontrol edilenler

  • JSON syntax: tüm .json dosyaları geçerli
  • pack_format: 57 — 1.21.2 datapack formatı için doğru
  • @a[level=...] selector güvenlik açığı bu pakette yok
  • Gizli/artifact dosya yok (.DS_Store, __MACOSX vb.)
  • 1516 dosya, silinen dosya yok

…xperimental flag system

- Add core/internal/security/check_all.mcfunction: closes long-documented
  gap where admin_min_level/cmd_min_level/sandbox_cmd_min_level were
  referenced in docstrings since v6.0.2 but never actually enforced
  (nothing read macroengine.perm_level anywhere in the pack).
- New flags.experimental.strict_gating toggle (systems/flag/experimental),
  default OFF (0b) for backward compatibility - existing servers keep
  current unenforced behavior until an admin opts in via
  api/toggle/experimental/{true,false}.
- Wire check_all into api/cb/*, core/internal/api/wand/call_cmd,
  debug/tools/trigger/execute as a no-op-unless-enabled gate.
- No files removed; incremental change only.

NOTE: strict_gating defaults to OFF. Permission checks are inert until
explicitly enabled per-server. Flagging for visibility, not blocking.
@tickwarden
tickwarden merged commit cb5de27 into main Aug 19, 2026
2 checks passed
@tickwarden
tickwarden deleted the update/macroengine-1.21.2-datapack branch August 19, 2026 12:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants