M2.6: server rules (PvP, raiding, locks and friends, death penalty, difficulty, wolf grace), chat, admin commands, server console
This commit is contained in:
@@ -113,7 +113,7 @@ What each rule means:
|
||||
| `raiding` | false / true | Whether players can damage or dismantle **other players'** pieces. |
|
||||
| `locks` | `off` / `owner` / `owner_and_friends` | Who may open or take from a chest, use a door or bed, or dismantle a piece. Pieces remember who placed them. |
|
||||
| `death_penalty` | `grave` / `keep` / `drop_all` | Today's grave bag; keep everything; or drop it all on the ground (hardcore-ish). |
|
||||
| `sleep` | `all_online` / `half` / `off` | When a night can be slept through. |
|
||||
| `sleep` | `all_online` / `half` / `anyone` / `off` | When a night can be slept through (how many of those online must be in bed). |
|
||||
| `pause_when_empty` | true / false | Freeze the world when nobody's on (fires don't burn out, no time passes). |
|
||||
| `wolf_grace_days` | 0-10 | Days before wolves arrive; hunts start the night after. |
|
||||
| `difficulty` | `easy` / `normal` / `hard` | Multipliers on hunger and diet drain, animal damage and pack size. |
|
||||
@@ -265,17 +265,46 @@ entity to everyone at first. Distance-based interest is a later
|
||||
optimisation.
|
||||
|
||||
## 6. Admin and console
|
||||
In-game chat starts with `/`; the server console takes the same commands
|
||||
without it.
|
||||
- `/players`, `/kick <name>`, `/ban <name>`, `/unban`, `/admin <name>`
|
||||
- `/save`, `/backup`, `/time 08:00`, `/weather clear|rain|storm|snow`
|
||||
- `/rules` (show) and `/set pvp on` (change at runtime, saved to
|
||||
`server.json`)
|
||||
- `/rename <old> <new>`, `/release-name <name>`
|
||||
- `/say <message>` (a server message)
|
||||
*(Built in M2.6: `chat.gd`, autoload Chat; `rules.gd`.)* In-game chat
|
||||
starts with `/`; the server console takes the same commands without it
|
||||
(the server reads its terminal when started with `--console`, which
|
||||
`server/run_server.sh` does).
|
||||
- Anyone: `/help`, `/players`, `/rules`, `/friend <name>`,
|
||||
`/unfriend <name>`, `/friends`.
|
||||
- Admins: `/kick <name>`, `/ban <name>`, `/unban <name>`, `/admin <name>`,
|
||||
`/save`, `/time 08:00`, `/weather clear|cloudy|rain|storm|snow|blizzard|auto`,
|
||||
`/set <rule> <value>` (changes it for everyone at once and saves it to
|
||||
`server.json`: pvp, raiding, locks, death_penalty, sleep,
|
||||
pause_when_empty, difficulty, wolf_grace_days, motd, server_name; bad
|
||||
values are refused with what's allowed), `/say <message>`,
|
||||
`/release-name <name>`.
|
||||
- Not built: `/backup` (comes with backups in M2.7) and `/rename` (the name
|
||||
is the player's own, set in their profile; `/release-name` frees one).
|
||||
|
||||
Chat: `T` to talk. It's global, so everyone on the server sees it (no
|
||||
proximity chat in v1).
|
||||
Chat: `T` to talk, Enter to send, Esc to cancel. It's global, so everyone
|
||||
on the server sees it (no proximity chat in v1). Lines fade after 14 s and
|
||||
all come back while you type. Plain chat is limited to a line every 0.4 s
|
||||
per player (commands aren't).
|
||||
|
||||
**How the rules work** *(M2.6)*:
|
||||
- Pieces remember who placed them (and graves who died). Everyone's game
|
||||
knows, so the prompt says "Bob's · Chest". Pieces from before M2.6 are
|
||||
anyone's.
|
||||
- `locks`: who may open or take from chests and graves, open doors and use
|
||||
beds. `owner_and_friends` (the default) lets the people you've
|
||||
`/friend`ed in; `owner` keeps everyone else out; `off` opens everything.
|
||||
- `raiding`: taking down a piece you aren't allowed to use. Off by default.
|
||||
- `pvp`: with it off, weapons and arrows go straight through other players.
|
||||
On, a swing at someone's avatar is checked on the server (reach,
|
||||
weapon, stamina, cooldown) and arrows and thrown spears hit people.
|
||||
Deaths say who did it ("Killed by Bob").
|
||||
- `death_penalty`: `grave` (default), `keep` (wake with everything) or
|
||||
`drop_all` (it's all scattered where you fell, for anyone).
|
||||
- `difficulty`: easy / normal / hard scales hunger and diet drain (x0.75 /
|
||||
1 / 1.3), animal and wolf damage (x0.7 / 1 / 1.4) and the pack (-1 / 0 /
|
||||
+1 wolf).
|
||||
- `wolf_grace_days`: the day wolves move in; they hunt from the next night.
|
||||
- `sleep`: `all_online` (default), `half`, `anyone` or `off`.
|
||||
|
||||
## 7. Saves on the server
|
||||
```
|
||||
@@ -333,7 +362,7 @@ player" or "this player":
|
||||
| **M2.3** *(done)* | world state replicated: resource nodes, pickups, pieces, chests, fires, doors, clock, weather | one chops a tree and the other sees it fall; one builds a wall and the other walks into it |
|
||||
| **M2.4** *(done)* | intents as RPCs; per-player inventory, stats, diet, death and graves; per-player saves and migration | two players craft, eat, die and loot their own graves; an old single-player save loads |
|
||||
| **M2.5** *(done)* | wildlife and wolves server-side, projectiles, fishing, sleeping with the rule | a pack hunts two players at once; arrows hit on both screens |
|
||||
| **M2.6** | server rules: PvP, raiding, locks and friends, death penalty, difficulty; admin console and chat | each preset (co-op, rivals, adversarial) behaves as described in §4 |
|
||||
| **M2.6** *(done)* | server rules: PvP, raiding, locks and friends, death penalty, difficulty; admin console and chat | each preset (co-op, rivals, adversarial) behaves as described in §4 |
|
||||
| **M2.7** | hosting polish: "Host game" button, systemd and launchd samples, backups, a Tailscale how-to in the docs | Paul runs it on the home server, and a friend joins over Tailscale and plays for an hour |
|
||||
|
||||
## 10. Testing
|
||||
|
||||
@@ -58,6 +58,7 @@ phases M2.0-M2.7).
|
||||
- [x] Persistence: world save/load on the server *(M2.3)*
|
||||
- [x] Per-player inventory, stats, death, graves and saves on the server *(M2.4)*
|
||||
- [x] Animals, wolves, hunting, fishing and sleeping on the server *(M2.5)*
|
||||
- [x] Server rules (PvP, raiding, locks and friends, death penalty, difficulty, wolf grace), chat and admin commands, server console *(M2.6)*
|
||||
- **Done when:** a friend joins your self-hosted server and you build together.
|
||||
|
||||
## M3 — Addon SDK + sandbox · ~2–3 months
|
||||
|
||||
Reference in New Issue
Block a user