@David:
Ich hätte vielleicht erwähnen sollen, dass ich bereits eine Lösung im LAN habe. Das basiert auf einer Client-Server Architektur auf Basis von UDP. Dabei erhält der GameServer als einziges die Eingaben von den Clients. Der Server sendet regelmäßig einen kompletten Game-Snapshot an alle Clients. Diese interpretieren diesen an Hand von einem Servertimestamp und versuchen, möglichst gut, das in der zwischenzeit vergangene "vorherzusagen" - deine angesprochene Client-Side prediction. Das klappt bisher auch ziemlich gut. Die Clientseitige Inter- und Extrapolation ist definitiv ausbaufähig, aber es gibt einen zumindest bisher im LAN akzeptablen algorithmus. Die Logik wird komplett auf dem Server berechnet. Und da der gesamte Zustand komplett gesendet wird, muss ich mich um verlorene Pakete wenig kümmern.
@Nox:
Bist du dir denn darüber im klaren, ob du eher ein Lobbyserver haben willst, der von Spieler gehostete Server auflistet oder willst du die Spielinstanzen zusammen mit dem Lobbyserver laufen lassen?
Eher letzeres. Quasi fehlt mir der Lobby-Server, den Spielinstanz-Server gibt es schon. Der läuft halt bisher in dem Prozess des Clients, der das Spiel eröffnet - was für ein lokales Netz durchaus vertretbar ist. Da wären dann einige Umbauten Notwendig. Die Idee mit den Ports gefällt mir ziemlich gut. Das spricht ja wohl dafür, dass jede Spielinstanz eine eigene Verbindung aufmacht?! Und das war auch eigentlich meine Frage