LAN nach gehosteten Spielen durchsuchen

Diskutiere LAN nach gehosteten Spielen durchsuchen im Developer Network Forum im Bereich Hardware & Software Forum; Hallo, ich hatte die Idee ein Programm zu schreiben was ein Lokales Netzwerk nach gehosteten spielen durchsucht und diese auflistet. Wem das nicht...
  • LAN nach gehosteten Spielen durchsuchen Beitrag #1
muZZel

muZZel

Bekanntes Mitglied
Dabei seit
19.09.2005
Beiträge
159
Reaktionspunkte
0
Hallo,
ich hatte die Idee ein Programm zu schreiben was ein Lokales Netzwerk nach gehosteten spielen durchsucht und diese auflistet.
Wem das nicht bekannt ist: Bei den meisten Lan-fähigen computerspielen kann man ein Spiel erstellen "hosten" wodurch die clients das Spiel in einer Liste (die ständig aktualisiert wird) angezeigt bekommen und dem Spiel beitreten können.

Ich möchte diese Funktionalität nachprogrammieren und ein tool basteln, was für mehrere verschiedene Computerspiele Hosts in einem LAN sucht und anzeigt. Das Problem ist dass ich mit Netzwerkprotokollen nicht viel Erfahrung habe, und nicht weiss wie ich anfangen könnte.
Ich will hier natürlich keine komplettlösung, vielmehr ein paar Tipps wie ich anfangen -, bzw wo ich mich diesbezüglich einlesen könnte.

Konkret: Wie sieht ein solches Protokoll grob aus? Kann ich mir das mit einem Paketsniffer anschauen? Wie? Woran erkennt das Spiel welches Paket zu ihm gehört? Sind solche Protokolle üblicherweise verschlüsselt?

Ich gehe davon aus dass sich das nicht pauschal beantworten lässt und bei jedem Spiel anders ist, aber ein kleiner Überblick oder Beispiele wären hilfreich.

Tipps zur tatsächlichen implementierung brauche ich vorerst nicht, c++ bzw Java kann ich ausreichend genug, ich will es jedoch erstmal theoretisch verstehen und etwas rumprobieren, falls aber wer passende Klassen/libs dazu kennt, immer her damit.
 
  • LAN nach gehosteten Spielen durchsuchen Beitrag #2
sebhoff

sebhoff

Bekanntes Mitglied
Dabei seit
07.09.2006
Beiträge
5.209
Reaktionspunkte
2
IP Range durchpingen und bei aktiven Computern nach offenen Ports checken.
Jetzt musst du nurnoch eine Liste haben welche Spiele welche Ports benutzen.

Nen Schritt weiter könnte man gehn wenn die Spiele auf dem Port auch noch irgendwelche Infos rübersenden die man mit Telnet oder Terminal lesen kann.
 
  • LAN nach gehosteten Spielen durchsuchen Beitrag #3
muZZel

muZZel

Bekanntes Mitglied
Dabei seit
19.09.2005
Beiträge
159
Reaktionspunkte
0
Aber nur weil ein Computer den Port zu einem bestimmten spiel offen hat bedeutet das doch nicht zwangsläufig dass er das gerade hostet.
Die Clients machen das sicher anders, ich denke mal die Server broadcasten irgendwas und die Clients durchsuchen die Pakete nach irgendwelchen Mustern welche bestätigen dass es zum jeweiligen Spiel gehört. (Nur eine grobe Vermutung, wie das genau funktioniert will ich eben wissen ;))
 
  • LAN nach gehosteten Spielen durchsuchen Beitrag #4
muZZel

muZZel

Bekanntes Mitglied
Dabei seit
19.09.2005
Beiträge
159
Reaktionspunkte
0
habe mich noch etwas informiert:
Üblicherweise versendet der Host per Broadcast pakete an alle Rechner im Netzwerk, die Clients erkennen diese Pakete am Header und antworten darauf mit einem Unicast.
 
  • LAN nach gehosteten Spielen durchsuchen Beitrag #5
T

TrµMAn

Bekanntes Mitglied
Dabei seit
23.10.2006
Beiträge
4.882
Reaktionspunkte
2
Ort
Wuppertal
habe mich noch etwas informiert:
Üblicherweise versendet der Host per Broadcast pakete an alle Rechner im Netzwerk, die Clients erkennen diese Pakete am Header und antworten darauf mit einem Unicast.

Das gilt, wenn schon eine Verbindung besteht! Dann werden Infos per Broadcast an alle verbundenen Rechner gesendet.

Ansonsten sollte das, was Sebhoff gesagt hat gelten, der Server öffnet den Port und darauf kann dann von einem Client eine Anfrage gestartet werden. Offen muss der Port sowieso sein, sonst könnte er darüber wohl nicht senden.
 
  • LAN nach gehosteten Spielen durchsuchen Beitrag #6
muZZel

muZZel

Bekanntes Mitglied
Dabei seit
19.09.2005
Beiträge
159
Reaktionspunkte
0
Wenn eine Verbindung bereits besteht ist ein Broadcast doch sinnlos, Broadcasts haben den sinn Nachrichten an Computer in einem Netzewerk zu senden deren IP Adressen noch nicht bekannt sind (nicht zu verwechseln mit Multicasts).

... der Server öffnet den Port und darauf kann dann von einem Client eine Anfrage gestartet werden ...
Das funktioniert nur dann wenn dem Client die IP des Servers bekannt ist. Das war aber nicht die Frage. Die Frage ist wie sich ein Client eine Liste aller Server im Netzwerk besorgen kann ohne ihre IPs zu kennen. Und das wird so wie ich es verstanden habe durch einen Broadcast des Clients gelöst auf den die Server antworten und so dem Client ihre Existenz mitteilen.
 
  • LAN nach gehosteten Spielen durchsuchen Beitrag #7
sebhoff

sebhoff

Bekanntes Mitglied
Dabei seit
07.09.2006
Beiträge
5.209
Reaktionspunkte
2
oder der server sendet broadcasts.
ich würd mal ein kleines lan zu testzwecken aufbauen und mal mit wireshark abhören was da so kommt.
 
  • LAN nach gehosteten Spielen durchsuchen Beitrag #8
T

TrµMAn

Bekanntes Mitglied
Dabei seit
23.10.2006
Beiträge
4.882
Reaktionspunkte
2
Ort
Wuppertal
jetzt widersprichst du dir aber! Entweder senden die Server die Broadcasts oder die Clients. Vom Server würde ein Broadcast wohl nur wenig Sinn machen, er könnte zu unregelmäßig kommen oder zu häufig und den Traffic in die Höhe schnellen lassen, obwohl der eigentlich für das eigentliche Spiel benötigt wird.

Allerdings kann sich das sicher von Spiel zu Spiel unterscheiden. Server öffnen und dann gucken ob man den Port irgendwie erreicht wäre eine Möglichkeit zu überprüfen ob es so funktioniert, oder die Anfrage vom Client abfangen um diese selbst losschicken zu können. Allerdings beides nicht sonderlich einfach.

Mal eine andere Frage: Findest du das so ein Programm wirklich viel Sinn macht? Ich meine, bei einem kleinen LAN wird man sich wohl absprechen können, bei einem großen LAN wird soetwas vielleicht nur unnötig Traffic produzieren. Die Idee finde ich zwar generell nicht schlecht, ich frage mich nur, ob ich soetwas jemals sinnvoll einsetzen könnte.
 
  • LAN nach gehosteten Spielen durchsuchen Beitrag #9
peterfido

peterfido

Bekanntes Mitglied
Dabei seit
16.02.2000
Beiträge
1.785
Reaktionspunkte
0
Ort
Berlin
Ich erinner mich, dass damals im DirectX SDK ein Beispiel für diesen Zweck bei war. Da wurde nur mit Namen gearbeitet und den Rest hat DirectX im Hintergrund gemacht.
 
  • LAN nach gehosteten Spielen durchsuchen Beitrag #10
muZZel

muZZel

Bekanntes Mitglied
Dabei seit
19.09.2005
Beiträge
159
Reaktionspunkte
0
jetzt widersprichst du dir aber! Entweder senden die Server die Broadcasts oder die Clients. Vom Server würde ein Broadcast wohl nur wenig Sinn machen, er könnte zu unregelmäßig kommen oder zu häufig und den Traffic in die Höhe schnellen lassen, obwohl der eigentlich für das eigentliche Spiel benötigt wird.
Richtig, das sind 2 verschiedene Fälle. Dachte zuerst auch daran dass der Server broadcastet, aber tatsächlich sind es in der Regel die Clients, macht ja auch durchaus Sinn wenn man wie du meintest den Traffic betrachtet

Mal eine andere Frage: Findest du das so ein Programm wirklich viel Sinn macht? Ich meine, bei einem kleinen LAN wird man sich wohl absprechen können, bei einem großen LAN wird soetwas vielleicht nur unnötig Traffic produzieren. Die Idee finde ich zwar generell nicht schlecht, ich frage mich nur, ob ich soetwas jemals sinnvoll einsetzen könnte.
Ich glaube nicht dass 1 Broadcast alle 5 sekunden ein 100mbit Lan sonderlich belastet, DHCP funktioniert genauso und wird auch benutzt.
Aber die Frage ob man es braucht ist berechtigt, wobei ich unabhängig davon es einfach interessant finde und sowas gerne mal programmieren würde. Dabei lernt man ne ganze Menge ;)

Mit Wireshark ein paar Pakete abzufangen werde ich mal versuchen, hab damit noch nie gearbeitet aber ich schaus mir mal an.
 
Thema:

LAN nach gehosteten Spielen durchsuchen

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.180
Beiträge
1.579.174
Mitglieder
55.879
Neuestes Mitglied
stonetreck
Oben