资源图标

原生 rsw-perms - 属于基岩版的权限管理器 v1.0.0

完成注册/登录后下载
[MD] # RSW Permission Manager **LuckPerms for Bedrock. Free, one build, no caps, no paid tier.** Runs on [Pier](https://github.com/Maskviva/Pier), so it does not link LeviLamina directly. Pier's ABI only grows, so a BDS update does not have to wait for this plugin to be rebuilt. --- ## ✨ Usable out of the box The first start creates four groups, and a new player lands in `member` able to build. | Group | What it can do | |---|---| | `visitor` | move and look | | `member` | build, interact, open containers, use items, ride (**where new players land**) | | `staff` | everything member has, plus the non-destructive world commands and the read side of `/rswperm` | | `admin` | everything | One line in the console, `/rswperm promote <your name>`, and the rest is a form in-game. ## 🔒 26 vanilla behaviour guards, plus a gate over 52 vanilla commands Not a message printed afterwards — a real interception. A denied node means the action does not happen. | | | |---|---| | Blocks | break / place / interact / use-on / edit signs | | Items | use / drop / pick up / crafting, anvil, grindstone, loom | | Entities | attack / pvp / interact / ride / push / take arrows and tridents / armour stands / item frames | | World | containers / pressure plates and tripwires / sleep / sneak / chat / game mode / join | | Commands | `minecraft.command.<name>`, a gate over 52 vanilla commands | ## 🎯 Suffixes, with the semantics of `minecraft.command.*` The node with the suffix is judged first, and only an undefined answer falls back: ``` minecraft.break break blocks, all of them -minecraft.break.diamond_ore except diamond ore -minecraft.projectile.ender_pearl bows are fine, ender pearls are not -minecraft.ride.boat horses yes, boats no -minecraft.plate.tripwire pressure plates yes, tripwires no ``` What to write in the suffix is printed next to every node by `/rswperm nodes`, so there is no guessing from a wiki page that has drifted. ## 🖱️ All of it is in a form Groups, players, the node catalog, template differences, status. Node editing is **tristate** — follow / allow / deny. "Follow" writes no record at all, so a change in a parent group carries through to the child. ## 🔍 `/rswperm why` — the most useful thing in here "I granted it and it still does not work." Run this, and it prints **every rule that matched, in the order they were ranked**, with the group each came from. The winner is the first line. ## 📒 A mount ledger: a withdrawal stays withdrawn A mod declares its nodes on every start. **Without a ledger, a node you revoked comes back the next time that mod loads, and nothing says why.** The ledger records the declaration and the revocation, so the next declaration sees that you already answered. `/rswperm ledger` prints the table: what each mod declared, and what has been withdrawn. ## 🛡️ Authority per action, not per source The console is unconditional. A player is judged by node. **A command block, an `/execute` or a script may send only the reading verbs.** Placing a command block already takes operator; stepping on a pressure plate does not, and a plate running `/rswperm promote` would otherwise promote whoever walks onto it. This is not configurable. ## 📄 Permission templates: the group tree as files ```yaml display: "Member" weight: 10 track: true parents: ["visitor"] permissions: - "minecraft.break" - "minecraft.place" - "cmd.world.tp" ``` Version-controllable, copyable between servers. **A template never applies itself**: the start reports differences, `tplapply` writes them, and `tplaccept` records that a group is meant to differ. The evening you spent on `staff` is not overwritten by a file you never edited. ## 🌐 A WebUI (optional, off by default) Edit groups, players and nodes in a browser. Three doors: token, host binding and an address allowlist, at least one of which must be open. **A non-loopback bind with only the host binding refuses to start** — a `Host` header is set by the client, so on a public address it is not a door at all. ## 🗣️ English and Chinese, and the language follows the reader The console, the logs and the wire follow `config.language`. **What a player reads follows that player**: their own pick, then their client's code, then the server default. Language files live in `lang/`; adding one is a file you drop in, not a release you wait for. ## 🧱 A refusal is one sentence A player sees `§cNo permission.` — no node name, no group name. **Naming the node hands the shape of your permission tree to anyone who probes for it, one refusal at a time.** The node and the reason go to `logs/rsw/`, and the operator has the whole chain from `/rswperm why`. ## 🧰 An API for mod authors A lane of raw function pointers plus a JSON channel, both giving the same answer. Declare nodes, check one or many, ask why, ask what language a player reads. **Three-state verdicts: allow, deny, undefined. Undefined is not deny.** A native LeviLamina mod can call in too, through Pier's `pier-bridge.h`, which is header-only and links nothing. --- ## 📦 Installing 1. Install [Pier](https://github.com/Maskviva/Pier). 2. Put `rswperms` into `plugins/`. 3. Start once, then from the console: `/rswperm promote <your name>`. The first start creates the database and writes four templates, the config and both language files. **Nothing is rewritten on any later start.** ## ⌨️ Commands ``` /rswperm menu the form (groups, players and nodes are all in it) /rswperm status | groups | nodes | ledger /rswperm info <player> | check <player> <node> | why <player> <node> /rswperm grant <group> <node> <true|false> false writes an explicit deny /rswperm revoke <group> <node> the ledger remembers /rswperm newgroup | delgroup | inherit | setdefault /rswperm user add|del <player> <group> | promote | demote /rswperm tplstatus | tplapply <group> | tplaccept <group> | reload ``` Group names, node names and player names all complete as you type. ## 📚 Documentation In English and Chinese: **https://rsw.maskviva.xyz/** There is a page called "Your first setup" that walks from a fresh install to a working server in twenty minutes, and a "Common tasks" page with twelve recipes to copy. ## 🐛 Reporting GitHub Issues: **https://github.com/Maskviva/rsw-mod/issues** Include the startup log, `/rswperm status` and `/rswperm why` for the action in question. Those three save a whole round trip. --- ## ⚖️ Terms Free to use; **the source is not public**. Distributed as a binary; see `TERMS.md` in the package. The permission manager writes its own SQLite database, so **back up before going live**. Not affiliated with Mojang, Microsoft or LeviMC. Minecraft is a trademark of Mojang Synergies AB. [/MD]
后退
顶部 底部