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.
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.
Was aktuell funktioniert
- 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
F5geoeffnet 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.
Was noch nicht fertig ist
- 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.
Projektstruktur
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
scripts/
package.ps1 Baut das Mod-ZIP
install-local.ps1 Installiert das ZIP fuer lokale Brotato-Tests
docs/
setup.md Setup- und Testnotizen
brotato-multiplayer-modding-research.md
Nicht eingecheckt werden .tools/, recovered/ und dist/. Diese Ordner enthalten lokale Tools, recovered Brotato-Dateien und gebaute ZIPs.
Lokaler 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.
.\scripts\install-local.ps1
Danach Brotato komplett neu starten.
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.
Im Modal gibt es jetzt zwei Bereiche:
- 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.
Debug-Tasten
F5 Brogether-Modal ein-/ausblenden
F6 Steam-Lobby erstellen
F7 Lobby suchen / joinen
F9 Lobby verlassen
F10 Ping senden
F11 Lokalen Loopback-Test starten
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.
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.
Brogether schreibt ein eigenes Log nach:
C:\Users\tommi\AppData\Roaming\Brotato\brogether.log
Naechster sinnvoller Test
Sobald ein zweiter Steam-Client verfuegbar ist:
- Beide Clients mit derselben Brogether-Version starten.
- Host oeffnet
BROGETHERim Hauptmenue oder druecktF5. - Host klickt
Hostoder druecktF6. - Client klickt
Joinoder druecktF7. - Mit
PingoderF10Ping/Pong testen. - Einen Run starten und pruefen, ob
run_started,players_spawnedund Snapshot-Pakete auf beiden Seiten im Log erscheinen.
Wenn das stabil laeuft, ist der naechste Entwicklungsschritt die echte Remote-Spielersteuerung auf Basis der Snapshot- und Input-Pakete.