update char slot handling
This commit is contained in:
@@ -36,6 +36,18 @@ docker compose exec al-mongo mongosh adventureland --eval \
|
||||
'db.user.updateMany({}, { $set: { "info.slots": 18 } })'
|
||||
```
|
||||
|
||||
Der Wert wird bei jeder Anfrage neu aus MongoDB gelesen; ein Neustart ist nicht
|
||||
nötig. Maximal sind 18 Plätze möglich. Prüfen, ob der richtige Account getroffen
|
||||
wurde:
|
||||
|
||||
```sh
|
||||
docker compose exec al-mongo mongosh adventureland --eval \
|
||||
'db.user.findOne(
|
||||
{ "info.email": "du@example.com" },
|
||||
{ _id: 1, name: 1, "info.slots": 1, "info.characters": 1, pid: 1 }
|
||||
)'
|
||||
```
|
||||
|
||||
**Admin werden:** Die Admin-Seiten (`/admin/executor`, `/admin/renderer`) sind
|
||||
standardmäßig gesperrt. `is_admin` in `common/admin.js` prüft das Feld
|
||||
`user.admin`; setzen lässt es sich direkt in MongoDB:
|
||||
@@ -52,12 +64,27 @@ sinnvoll.
|
||||
|
||||
**GM werden (Game):** Der Web-Admin ist **kein** Game-GM. Die GM-Rolle hängt am
|
||||
Charakter, nicht am Benutzerkonto: Der Game-Server prüft `player.role` bzw.
|
||||
`player.p.role` auf `"gm"`. Charakter vorher ausloggen, dann in MongoDB setzen:
|
||||
`player.p.role` auf `"gm"`. Charakter vorher ausloggen, dann in MongoDB setzen.
|
||||
|
||||
Wichtig: Das Top-Level-Feld `name` wird beim Anlegen kleingeschrieben
|
||||
(`simplify_name`), das Anzeige-Feld `info.name` behält die Schreibweise. Eine
|
||||
Abfrage auf `{ name: "CharName" }` findet deshalb nichts. Nutze den
|
||||
kleingeschriebenen Namen oder `info.name`:
|
||||
|
||||
```sh
|
||||
docker compose exec al-mongo mongosh adventureland --eval \
|
||||
'db.character.updateOne(
|
||||
{ name: "CharName" },
|
||||
{ name: "charname" },
|
||||
{ $set: { role: "gm", "info.p.role": "gm" } }
|
||||
)'
|
||||
```
|
||||
|
||||
Alternativ, wenn die Groß-/Kleinschreibung im Spiel erhalten bleiben soll:
|
||||
|
||||
```sh
|
||||
docker compose exec al-mongo mongosh adventureland --eval \
|
||||
'db.character.updateOne(
|
||||
{ "info.name": "CharName" },
|
||||
{ $set: { role: "gm", "info.p.role": "gm" } }
|
||||
)'
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user