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 } })'
|
'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
|
**Admin werden:** Die Admin-Seiten (`/admin/executor`, `/admin/renderer`) sind
|
||||||
standardmäßig gesperrt. `is_admin` in `common/admin.js` prüft das Feld
|
standardmäßig gesperrt. `is_admin` in `common/admin.js` prüft das Feld
|
||||||
`user.admin`; setzen lässt es sich direkt in MongoDB:
|
`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
|
**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.
|
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
|
```sh
|
||||||
docker compose exec al-mongo mongosh adventureland --eval \
|
docker compose exec al-mongo mongosh adventureland --eval \
|
||||||
'db.character.updateOne(
|
'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" } }
|
{ $set: { role: "gm", "info.p.role": "gm" } }
|
||||||
)'
|
)'
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user