Surviving Day! House Protection Rules #2

Paste ID: 882d617b

Created at: 2026-05-20 20:51:09

home house protectoins surviving day

Content

# Permissions & Land Claiming — Player and Admin Guide

---

## Part 1 — Player Roles

Every player on a server has one of these roles, ranked lowest to highest:

| Role | Level | What they can do |
|---|---|---|
| **Banned** | 0 | Cannot connect |
| **Player** | 1 | Default. Can build in unprotected areas |
| **Member** | 2 | Can break blocks with no ACL (see below) |
| **Moderator** | 3 | Can kick, ban, use admin commands |
| **Admin** | 4 | Can promote/demote others, teleport players, manage regions |
| **Owner** | 5 | Full server authority |

Roles survive disconnects — they are stored in `saves/roles.json`.

In **singleplayer** all admin commands are always available regardless of role.

---

## Part 2 — Server Admin Commands

All commands are typed in the console (press `/` or `T` to open chat, prefix with `/`).

### Role Management (Admin+)

```
/promote <name> <role>    — Set a player's role (player/member/moderator/admin/owner)
/demote  <name> <role>    — Same as promote but conventionally used to lower
/role    <name>           — Show a player's current role
```

### Moderation (Moderator+)

```
/kick <name> [reason]     — Disconnect a player with an optional message
/ban  <name>              — Permanently ban (sets role to Banned, saves to disk)
/unban <name>             — Restore a banned player back to Player role
/list                     — Show all currently connected players and their roles
/broadcast <message>      — Send a server-wide announcement
/mute <name>              — Silence a player's chat
```

### Teleportation (Moderator+)

```
/tp <x> <y> <z>           — Teleport yourself to coordinates
/tphere <name>            — Pull a player to your location
/tpto <name>              — Teleport yourself to a player
/tp <name> <x> <y> <z>   — Teleport a specific player to coordinates
```

### World / Game (Moderator+)

```
/fly                      — Toggle fly/no-clip mode
/speed <value>            — Set movement speed (default 30, max 500)
/gm c [player]            — Set creative mode (infinite blocks, no fall damage)
/gm s [player]            — Set survival mode
/give <block> [count]     — Give yourself a block or item
/clear                    — Clear your hotbar
/time <day|night|value>   — Set time of day
/weather <clear|rain|...> — Set weather
```

---

## Part 3 — Per-Block ACLs (Block Permissions)

Every block can optionally carry an **ACL (Access Control List)** stored in `saves/block_perms.dat`.

### Default behaviour (no ACL on a block)

- **Interact** (right-click): any Player+ can do it.
- **Break**: only Member+ can break blocks with no ACL. Players cannot break blocks they did not place unless they are Member or higher.

### When a block has an ACL

The ACL records:
- **Owner** — the username who placed/claimed it. The owner can always break their own block regardless of any other setting.
- **minInteractRole** — minimum role needed to right-click (default: Player).
- **minBreakRole** — minimum role needed to break it (default: Member).
- **Whitelist** — specific usernames who bypass the minRole checks and can always interact.
- **Blacklist** — specific usernames who are always denied, regardless of role.

Check order: blacklist ? whitelist ? role comparison.

### Which blocks automatically get ACLs when placed?

These blocks call `BlockPermManager::claim()` on first interaction, registering the placer as owner:

- **Billboard** — claimed on first right-click
- **Exhibit Diorama** — claimed on first right-click
- **Action Block** — claimed on first right-click
- **Home Deed** — claimed on placement (see Part 4)

For all other blocks, breaking is restricted to Member+ by default unless you are the original placer.

---

## Part 4 — Home Deed (Player Housing Claim)

### What it does

Placing a **Home Deed** block registers a private region of the world to you. Other players cannot build or break blocks inside your region unless you invite them.

### How to claim a home

1. Build a structure (optional but recommended — walls + roof let the game auto-detect the interior).
2. Place the **Home Deed** block at or near your doorway.
3. The game runs a BFS flood-fill scan starting above the deed block, up to 3000 air blocks.
   - If it finds an enclosed volume it uses that exact interior as your region.
   - If the space is open or too large it falls back to a fixed **20 × 10 × 20** box centred on the deed.
4. A **GroupPerms cuboid region** named `home_<yourname>` is created covering that volume. Only members of that group can build inside.

### One home per player

If you already own a home and place a new deed, the old region and group are automatically deleted and replaced.

### Home types (decor score)

The game counts how many distinct furniture/decoration block types are inside your region (max 16 types counted):

| Score | Home Title |
|---|---|
| 0–2 | Shack |
| 3–5 | Cabin |
| 6–9 | Cottage |
| 10–13 | Manor |
| 14+ | Estate |

Furniture blocks that count toward the score: Bed, Bookshelf, Chair, Crafting Table, Furnace, Chest, Guild Table, Iron Bars, Torch, Copper Torch, Fireplace, Lamp, Furn Table.

### Home commands (all players)

```
/home                      — Teleport to your home spawn point
/home info                 — Show region bounds, home type, decor score, and guest list
/home invite <player>      — Add a player as a guest (they can build inside your home)
/home kick <player>        — Remove a guest from your home
/home lock                 — Lock your home — non-guests are teleported out if they enter
/home unlock               — Unlock your home — anyone can enter freely
/home score                — Print your current decor score and home type
```

### E-key inspect

Press **E** while looking at any Home Deed block to see:
- The owner's name and home type
- Current decor score
- Guest list
- Lock status

### Releasing a home claim

**Break the Home Deed block.** The region and group permissions are automatically removed.

---

## Part 5 — Group Permissions (Admin Tool for Custom Regions)

Moderators and above can create named groups and protect arbitrary cuboid regions in the world. This is the admin-level equivalent of what Home Deed does automatically for players.

### Step 1 — Create a group

```
/perm create <groupname>
```

### Step 2 — Add players to the group

```
/perm <playername> group add <groupname>
/perm <playername> group del <groupname>
```

### Step 3 — Select a cuboid region in-world

Stand at one corner of the area you want to protect and press **F6** to set Corner A (your current position).  
Walk to the opposite corner and press **F7** to set Corner B.

### Step 4 — Assign the cuboid to the group

```
/perm region set <groupname> [optional label]
```

This protects the selected box — only players in `<groupname>` can place or break blocks inside it.

### Listing and managing regions

```
/perm region list            — Show all protected regions with their index, label, group, and coordinates
/perm del <groupname>        — Delete a group and all its regions
```

Regions and groups are saved to `saves/groups.dat` and `saves/regions.dat` and persist across server restarts.

---

## Part 6 — Guild Territory (Guild-Level Claiming)

Guilds can claim land through two mechanisms.

### Territory Obelisk (capture point)

- Right-click an **uncaptured** obelisk to begin a **30-second channel**.
- You must stay still for the full 30 seconds. Moving cancels it.
- On success the obelisk is registered to your guild.
- Right-click a **captured** obelisk you already own to see status.
- Use `/territory` (or `/tc`) to list all captured obelisks and which guilds hold them.

### Territory Gate (guild-placed barrier)

- Craft or obtain a **Territory Gate Item** from your guild inventory.
- Hold it and right-click a solid surface to place the gate above it.
- The gate **physically blocks** any player who is not a member of the guild that placed it. Non-members are pushed back when they walk into it.
- Only the placing guild's members can pass through freely.

### Trade Post (supply chain node)

- Place a **Trade Post** block.
- Right-click it to register it to your guild (first interaction only).
- Subsequent right-clicks open the Guild HQ trade panel, letting your guild anchor a supply chain node at that location.
- If you are not in a guild, the block asks you to join one first.

---

## Part 7 — Summary of What Protects What

| Mechanism | Who sets it | What is protected | Who can bypass |
|---|---|---|---|
| **Player role (Member+)** | Server admin via `/promote` | All blocks with no ACL | Owner and higher roles |
| **Block ACL (whitelist/blacklist)** | Automatic on deed/billboard/etc. | Individual blocks | Block owner, whitelisted players, Admins |
| **Home Deed region** | Any player | Enclosed build volume | Home owner + guests (`/home invite`) |
| **GroupPerms cuboid** | Moderator+ via `/perm region set` | Any admin-defined box | Members of the assigned group |
| **Territory Gate** | Guild member | Physical passage through a door | Guild members only |
| **Territory Obelisk** | Guild (30s channel) | Marks territory ownership (symbolic) | Any guild can attempt re-capture |
| **Home lock** | Home owner via `/home lock` | Entry into home region | Home owner + invited guests |

Share this Paste