2026-05-23 01:03:36 +02:00
2026-05-23 01:03:36 +02:00
2026-05-23 00:52:54 +02:00
2026-05-23 00:38:59 +02:00
2026-05-23 01:03:36 +02:00

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 F5 geoeffnet werden.
  • Die UI enthaelt einen ersten Lobby-Browser, Lobby-Erstellung mit optionalem Passwort und einen Wartebereich mit Spielerkacheln.

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 und statischem Initialen-Avatar.

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.

Brogether schreibt ein eigenes Log nach:

C:\Users\tommi\AppData\Roaming\Brotato\brogether.log

Naechster sinnvoller Test

Sobald ein zweiter Steam-Client verfuegbar ist:

  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.

Wenn das stabil laeuft, ist der naechste Entwicklungsschritt die echte Remote-Spielersteuerung auf Basis der Snapshot- und Input-Pakete.

Description
No description provided
Readme 349 KiB
Languages
GDScript 98.4%
PowerShell 1.2%
Batchfile 0.4%