> ## Documentation Index
> Fetch the complete documentation index at: https://pumpkings.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# PumpkinMsg Permissions Reference: All Access Nodes

> Reference for all PumpkinMsg permission nodes: spy, cmdspy, staff bypass, and admin reload. Default player commands need no permission.

PumpkinMsg keeps its permission surface small and predictable. All player-facing commands work without any permission node. Elevated capabilities — monitoring conversations, monitoring commands, bypassing privacy settings, and reloading the configuration — each have their own dedicated node that you assign through LuckPerms or any other permission plugin.

## Default Player Permissions

The following commands are available to every player on your server by default. You do not need to grant any permission node for them to work.

| Command                   | Available by default |
| ------------------------- | -------------------- |
| `/msg <player> <message>` | ✅ Yes                |
| `/reply <message>`        | ✅ Yes                |
| `/ignore <player>`        | ✅ Yes                |
| `/togglemsg`              | ✅ Yes                |

## Staff and Admin Permission Nodes

| Permission Node           | Command          | What It Grants                                                                                              |
| ------------------------- | ---------------- | ----------------------------------------------------------------------------------------------------------- |
| `pumpkinmsg.staff.spy`    | `/socialspy`     | Lets the holder toggle SocialSpy to view all private messages, or target a specific player's conversations. |
| `pumpkinmsg.staff.cmdspy` | `/spycommands`   | Lets the holder toggle CmdSpy to see commands run by players across the network or on a specific server.    |
| `pumpkinmsg.staff.bypass` | *(passive)*      | Allows the holder to send messages to players who have used `/togglemsg` or who have ignored the sender.    |
| `pumpkinmsg.admin.reload` | `/pumpkinreload` | Allows the holder to hot-reload `config.toml` without restarting the server or proxy.                       |

## Node Details

### `pumpkinmsg.staff.spy`

Grant this node to moderators and administrators who need to monitor private conversations. When a staff member runs `/socialspy`, PumpkinMsg adds them to the spy broadcast list. Every subsequent private message is also delivered to them in the spy format defined in `config.toml`.

Running `/socialspy <player>` narrows the feed to that specific player — the staff member only sees conversations where that player is either the sender or the recipient.

### `pumpkinmsg.staff.cmdspy`

Grant this node to staff members who need to audit player commands. Holders can run `/spycommands` to enter global monitoring mode, or scope the feed to a specific server on Velocity. Sensitive commands (`/login`, `/register`, `/changepassword`) are always masked regardless of this permission.

### `pumpkinmsg.staff.bypass`

This is a passive permission — it does not unlock a command. Instead, it changes how the messaging flow treats the holder:

* A player with bypass can send a `/msg` to someone who has run `/togglemsg` off.
* A player with bypass can send a `/msg` to someone who has added them to their ignore list.

<Note>
  The bypass permission is intended for staff members who need to reach players regardless of their privacy settings — for example, to deliver a moderation notice. Assign it carefully and only to trusted roles.
</Note>

### `pumpkinmsg.admin.reload`

Grant this node to server administrators who manage the plugin configuration. It allows the holder to run `/pumpkinreload` and apply changes to `config.toml` in real time. No restart is required after a successful reload.

## Example LuckPerms Setup

```bash theme={null}
# Grant a moderator role spy and cmdspy access
lp group moderator permission set pumpkinmsg.staff.spy true
lp group moderator permission set pumpkinmsg.staff.cmdspy true

# Grant senior staff the bypass permission
lp group senior-mod permission set pumpkinmsg.staff.bypass true

# Grant admins reload access
lp group admin permission set pumpkinmsg.admin.reload true
```

<Warning>
  Do not grant `pumpkinmsg.staff.bypass` to regular players. It overrides the ignore and togglemsg privacy controls that players set for themselves.
</Warning>
