39dll - LAN games auflisten

  • 39dll - LAN games auflisten

    Hi,

    ich schreib grad an einem Multiplayer-Shooter, bei dem ich die 39dll benutze. Die kommunikation findet über TCP/IP statt. Wenn man ein Spiel hostet und mit dem Internet verbunden ist und den richtigen Port freigegeben hat, werden die Spiel-Daten (max Spieler, Passwortschutz...) in eine Datenbank (mysql) geschreiben, wo sie jeder Spieler abrufen kann, der joinen möchte.
    Wenn man das Spiel im LAN zockt, geht das natürlich alles nich.
    Also meine Frage: Wie kann man aktuell gehostete Spielsessions im LAN auflisten? Also wie die eingebaute Funktionvom GM mplay_session_find(), ohne dass man ne IP eingeben muss.
    Ich hab mir überlegt alle IPs des Subnetz (zb. 192.168.0.xxx) nach dem offenen Port durchzuscannen, kurz ein Packet senden, worauf der Server dann mit den Spiel-Daten antwortet.
    Ich hab von LAN diesbezügllich überhaupt keine Ahnung und daher wollt ich wissen ob es da nich ne bessere Möglichkeit gibt.

    schlieperich
  • Game Maker verwendet Multicast mit einem UDP Paket. Bei Multicast wird ein Paket an alle Geräte im Subnetz geschickt, und ein Server eines Game Maker Spiels antwortet eben auf so ein Paket. Darüber gibts auch was in der Wikipedia zu lesen. Wie das jetzt im Detail mit der 39dll umzusetzen wäre weiß ich aber nicht.
    "Die Erde ist ein Irrenhaus. Dabei könnte das bis heute erreichte Wissen der Menschheit aus ihr ein Paradies machen. Dafür müsste die weltweite Gesellschaft allerdings zur Vernunft kommen."
    - Joseph Weizenbaum
  • cool danke! mit udp gehts, wenn man eine message an zb. 192.168.0.255. alle verbundenen geräte empfagen sie dann.
    die multicasting-ip 224.0.0.1 (All Systems on this Subnet) funktioniert leider mit der 39dl nicht.
    ich ersetz dann einfach bei der lokalen LAN-ip den letzten block durch '255'.
  • Benutzer online 1

    1 Besucher