Translate public UI and docs to English

This commit is contained in:
Kroonk
2026-05-23 10:22:23 +02:00
parent 01f72a32cb
commit d3d66c863b
4 changed files with 171 additions and 171 deletions

110
README.md
View File

@@ -1,104 +1,104 @@
# Brogether
Brogether ist ein experimentelles Brotato-Mod-Projekt mit dem Ziel, echten Online-Multiplayer fuer 2 Spieler vorzubereiten. Brotato selbst kann lokal im Coop gespielt werden und ueber Steam Remote Play geteilt werden; Brogether erforscht stattdessen eine native Steam-Lobby- und P2P-Basis.
Brogether is an experimental Brotato mod project that prepares real online multiplayer for 2 players first. Brotato already supports local co-op and Steam Remote Play; Brogether explores native Steam lobby and P2P networking instead.
Der aktuelle Stand ist bewusst ein technischer Prototyp. Es ist noch keine fertige Multiplayer-Mod, aber die wichtigsten Grundlagen sind vorbereitet: Mod-Laden, Steam-Lobby-Erstellung, Debug-Logging, lokale Pakettests und erste Hooks in den Brotato-Run.
This is a technical prototype, not a finished multiplayer mod. The current focus is mod loading, Steam lobby flow, debug logging, local packaging, lobby UI, and early hooks into Brotato runs.
## Was aktuell funktioniert
## What Works Right Now
- Die Mod wird von Brotatos Godot Mod Loader geladen.
- Steam wird ueber den im Spiel vorhandenen Steam-Singleton angesprochen.
- Eine oeffentliche Dev-Steam-Lobby kann erstellt werden.
- Basis-Pakete fuer Handshake, Ping und Pong sind implementiert.
- Ein lokaler Loopback-Test simuliert Paketverkehr ohne zweiten Steam-Client.
- Brotatos Run-Szene wird per Script-Extension beobachtet.
- Run-Start, Spieler-Spawn und einfache Player-Snapshots werden geloggt bzw. fuer P2P-Versand vorbereitet.
- Das Brogether-Modal ist standardmaessig versteckt und kann ueber das Hauptmenue oder `F5` geoeffnet werden.
- Die UI enthaelt einen ersten Lobby-Browser, Lobby-Erstellung mit optionalem Passwort und einen Wartebereich mit Spielerkacheln.
- Der Wartebereich hat Ready-Status und einen Fake-Peer-Modus fuer lokale Tests ohne zweiten Client.
- The mod loads through Brotato's Godot Mod Loader.
- Steam is accessed through the Steam singleton already available in the game.
- Public development Steam lobbies can be created.
- Basic handshake, ping, pong, and ready-state packets are implemented.
- A local loopback test simulates packet flow without a second Steam client.
- Brotato's run scene is observed through a script extension.
- Run start, player spawn, and basic player snapshots are logged or prepared for P2P transfer.
- The Brogether modal is hidden by default and opens from the main menu or with `F5`.
- The UI includes a first lobby browser, lobby creation with optional password, and a waiting room with player cards.
- The waiting room has ready states and a fake peer mode for local testing without a second client.
## Was noch nicht fertig ist
## What Is Not Finished Yet
- Ein echter zweiter Steam-Client wurde noch nicht getestet.
- Remote-Spieler werden noch nicht voll spielbar synchronisiert.
- Shop-, Item-, Gegner-, Wave- und RNG-Synchronisation fehlen noch.
- Die Snapshot-Anwendung auf einen zweiten lokalen Player ist nur experimentell vorbereitet.
- A real second Steam client has not been tested yet.
- Remote players are not fully playable or synchronized yet.
- Shop, item, enemy, wave, and RNG synchronization are missing.
- Applying remote snapshots to a second local player is only experimentally prepared.
## Projektstruktur
## Project Structure
```text
src/mods-unpacked/Brogether-Brogether/
manifest.json Mod-Metadaten fuer Godot Mod Loader
mod_main.gd Steam-Lobby, P2P-Pakete, Brogether-Modal, Logging
extensions/main_ext.gd Hook in Brotatos Run-Szene
extensions/main_menu_ext.gd Brogether-Menuepunkt im Hauptmenue
manifest.json Godot Mod Loader metadata
mod_main.gd Steam lobby, P2P packets, Brogether modal, logging
extensions/main_ext.gd Hook into Brotato's run scene
extensions/main_menu_ext.gd Brogether main menu button
scripts/
package.ps1 Baut das Mod-ZIP
install-local.ps1 Installiert das ZIP fuer lokale Brotato-Tests
package.ps1 Builds the mod ZIP
install-local.ps1 Installs the ZIP for local Brotato tests
docs/
setup.md Setup- und Testnotizen
setup.md Setup and test notes
brotato-multiplayer-modding-research.md
workshop-upload.md Schritt-fuer-Schritt Steam Workshop Upload
workshop-upload.md Step-by-step Steam Workshop upload guide
```
Nicht eingecheckt werden `.tools/`, `recovered/` und `dist/`. Diese Ordner enthalten lokale Tools, recovered Brotato-Dateien und gebaute ZIPs.
`.tools/`, `recovered/`, and `dist/` are intentionally not committed. They contain local tools, recovered Brotato files, and built ZIPs.
## Lokaler Test
## Local Test
Brotato laedt in der Steam-Version nur abonnierte Workshop-Ordner. Das Install-Skript legt das gebaute Brogether-ZIP deshalb fuer lokale Tests neben eine bereits abonnierte Brotato-Workshop-Mod.
Brotato's Steam build only loads Workshop folders that Steam considers subscribed. The install script therefore places the built Brogether ZIP next to an already subscribed Brotato Workshop mod for local testing.
```powershell
.\scripts\install-local.ps1
```
Danach Brotato komplett neu starten.
Then fully restart Brotato.
Brogether ist im Spiel standardmaessig unsichtbar. Im Hauptmenue gibt es einen neuen `BROGETHER`-Button; alternativ oeffnet `F5` das Brogether-Modal. Das Modal pausiert das Spiel wie Brotatos eigenes F8-Feedback-Fenster und kann mit `Escape`, `F5` oder dem Close-Button wieder geschlossen werden.
Brogether stays hidden until opened. The main menu gets a new `BROGETHER` button; `F5` opens the same modal. The modal pauses the game like Brotato's own F8 feedback window and can be closed with `Escape`, `F5`, or the close button.
Im Modal gibt es jetzt zwei Bereiche:
The modal currently has two main areas:
- Lobby-Browser: zeigt gefundene Brogether-Lobbys mit Name, Host, Spielerzahl und Passwortstatus.
- Wartebereich: zeigt die Spieler in der aktuellen Lobby als Kacheln mit Steam-Namen, statischem Initialen-Avatar und Ready-Status.
- Lobby Browser: shows discovered Brogether lobbies with name, host, player count, and password status.
- Waiting Room: shows players in the current lobby as cards with Steam name, static initials avatar, and ready state.
## Debug-Tasten
## Debug Hotkeys
```text
F5 Brogether-Modal ein-/ausblenden
F6 Steam-Lobby erstellen
F7 Lobby suchen / joinen
F9 Lobby verlassen
F10 Ping senden
F11 Lokalen Loopback-Test starten
F5 Toggle Brogether modal
F6 Create Steam lobby
F7 Search / join lobby
F9 Leave lobby
F10 Send ping
F11 Run local loopback test
```
Das Brogether-Modal enthaelt Buttons fuer Host, Join, Leave und Ping. Es ist fuer die naechsten Zwei-Client-Tests gedacht und ersetzt die meisten Hotkey-Aktionen. Passwort-Lobbys sind aktuell eine Mod-seitige Zugangskontrolle: die Lobby bleibt sichtbar, der Join-Button prueft aber das Passwort, bevor Brogether beitritt.
The Brogether modal contains buttons for Host, Join, Leave, and Ping. It is intended for the next two-client tests and replaces most hotkey actions. Password lobbies are currently a mod-side access check: the lobby stays visible, but Brogether checks the entered password before joining.
Fuer Tests ohne zweiten Steam-Client kann im Wartebereich `Add Fake` genutzt werden. Das fuegt einen lokalen Test-Peer hinzu, dessen Ready-Status mit `Fake Ready` umgeschaltet werden kann. Einen eigenen Brogether-Startbutton gibt es bewusst noch nicht; bis die echte Run-Synchronisation steht, startet man Brotato weiterhin ueber den normalen Spielablauf.
For testing without a second Steam client, use `Add Fake` in the waiting room. This adds a local fake peer whose ready state can be toggled with `Fake Ready`. There is intentionally no Brogether start button yet; until real run synchronization exists, start Brotato through the normal game flow.
Brogether schreibt ein eigenes Log nach:
Brogether writes its own log to:
```text
C:\Users\tommi\AppData\Roaming\Brotato\brogether.log
```
## Naechster sinnvoller Test
## Next Useful Test
Sobald ein zweiter Steam-Client verfuegbar ist:
Once a second Steam client is available:
1. Beide Clients mit derselben Brogether-Version starten.
2. Host oeffnet `BROGETHER` im Hauptmenue oder drueckt `F5`.
3. Host klickt `Host` oder drueckt `F6`.
4. Client klickt `Join` oder drueckt `F7`.
5. Mit `Ping` oder `F10` Ping/Pong testen.
6. Einen Run starten und pruefen, ob `run_started`, `players_spawned` und Snapshot-Pakete auf beiden Seiten im Log erscheinen.
1. Start both clients with the exact same Brogether version.
2. Host opens `BROGETHER` from the main menu or presses `F5`.
3. Host clicks `Host` or presses `F6`.
4. Client clicks `Refresh`, selects the lobby, then clicks `Join`.
5. Test ping/pong with `Ping` or `F10`.
6. Start a Brotato run normally and check whether `run_started`, `players_spawned`, and snapshot packets appear in both logs.
Wenn das stabil laeuft, ist der naechste Entwicklungsschritt die echte Remote-Spielersteuerung auf Basis der Snapshot- und Input-Pakete.
If that works reliably, the next development step is real remote player control based on snapshot and input packets.
## Steam Workshop Upload
Die einfache Upload-Anleitung liegt in:
The simple upload guide is here:
```text
docs/workshop-upload.md