docs: fix Lobby plan (_broadcast_player_left, cd commands) and spec

This commit is contained in:
2026-04-13 05:02:54 +02:00
parent 3894a4550d
commit fb9c5646a1
2 changed files with 22 additions and 4 deletions

View File

@@ -58,7 +58,7 @@ signal game_started()
### Anpassung: `_on_peer_disconnected`
Beide Dicts bereinigen und beide Signale emittieren:
Server bereinigt lokal und broadcastet den Disconnect an alle anderen Clients:
```gdscript
func _on_peer_disconnected(id: int) -> void:
@@ -66,9 +66,20 @@ func _on_peer_disconnected(id: int) -> void:
players.erase(id)
peer_disconnected.emit(id)
player_left.emit(id)
_broadcast_player_left.rpc(id) # andere Clients informieren
print("[Server] Peer getrennt: %d" % id)
```
### Neues RPC: `_broadcast_player_left` (Server → alle anderen Clients)
```gdscript
# call_remote: Server hat bereits lokal gelöscht; nur Clients führen aus
@rpc("authority", "call_remote", "reliable")
func _broadcast_player_left(peer_id: int) -> void:
players.erase(peer_id)
player_left.emit(peer_id)
```
### Neues RPC: `register` (Client → Server)
```gdscript

View File

@@ -53,6 +53,7 @@ func _on_peer_disconnected(id: int) -> void:
players.erase(id)
peer_disconnected.emit(id)
player_left.emit(id)
_broadcast_player_left.rpc(id)
print("[Server] Peer getrennt: %d" % id)
```
@@ -130,6 +131,13 @@ func request_start_game() -> void:
@rpc("authority", "call_local", "reliable")
func start_game() -> void:
game_started.emit()
# call_remote: Server hat lokal bereits gelöscht; nur Clients führen aus
@rpc("authority", "call_remote", "reliable")
func _broadcast_player_left(peer_id: int) -> void:
players.erase(peer_id)
player_left.emit(peer_id)
```
- [ ] **Step 2: Einrückung prüfen (Tabs, nicht Spaces)**
@@ -366,7 +374,7 @@ git commit -m "net: add lobby scene instance to main.tscn"
- [ ] **Step 1: Server headless starten**
```bash
# aus ruf-der-pilze/
cd /home/mpuchstein/Dev/Godot/DnD_Anna_OneShot/ruf-der-pilze
godot --headless -- --server
```
@@ -396,8 +404,7 @@ Server-Terminal:
Zweiten Godot-Prozess starten (z.B. über Terminal):
```bash
# aus ruf-der-pilze/
godot
cd /home/mpuchstein/Dev/Godot/DnD_Anna_OneShot/ruf-der-pilze && godot
```
Name "Marie", Rolle "DM", "Beitreten".