Mplay Online ?

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Mplay Online ?

    Hey Leute,
    Ich bin soweit mit dem Mplay fertig, sprich Verbindung aufbauen etc. Nur habe ich ein paar Fragen.
    Was muss ich bei der Tcp IP Verbindung eintragen um Online spielen zu können?
    Ich habe in anderen Threads gelesen, dass man für Onlinespiele mit Mplay Hamachi benutzen soll, aber wie geht das?
    Husi012 hat mich nicht mehr in seiner Signatur, ich bin trotzdem noch fame.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Dufner ()

  • normal hast du ein host und ein client. der host erstellt das spiel und der client muss die ip des hosts angeben.

    zum lokal testen kann ich dir auch die 127.0.0.1 empfehlen
    Kopiere dies in deine Signatur, um es in deiner Signatur zu haben.
    Achtung: Dieser Beitrag läuft ende des Monats ab, bitte lese ihn noch vor dem Monatswechsel...
    Nach langer zeit wieder im Forum aktiv :D
  • Um Online also über das Internet spielen zu können musst du mit deinem Client die Internet IP Adresse des Gegenübers kennen der dann den Server spielt.

    Problem an der Sache ist das man als normal sterblicher immer wieder andere Internet IP Adressen hat, da diese bei jedem reconnect vom Router neuverteilt werden.
  • ne, das ist leider nicht möglich.
    an deine aktuelle eigene ip kommst du aber mit mplay_myip() oder so ran, die kannst du dann halt einfach dem mitspieler sagen und es sollte funktionieren
    Kopiere dies in deine Signatur, um es in deiner Signatur zu haben.
    Achtung: Dieser Beitrag läuft ende des Monats ab, bitte lese ihn noch vor dem Monatswechsel...
    Nach langer zeit wieder im Forum aktiv :D
  • Larsi schrieb:

    ne, das ist leider nicht möglich.
    an deine aktuelle eigene ip kommst du aber mit mplay_myip() oder so ran, die kannst du dann halt einfach dem mitspieler sagen und es sollte funktionieren

    hmm, gibt es sonst eine Möglichkeit z.B. auf einer Webseite oder so alle gerade laufenden Hoster-IPs anzeigen zu lassen?
    Oder dass sich alle mit der gleichen IP verbinden? z.B. 120.123.1.3
    Husi012 hat mich nicht mehr in seiner Signatur, ich bin trotzdem noch fame.
  • die einzige verrückte idee, die ich gerade habe währe, dass alle spieler/clients ihre aktuelle ip in einen irc oder ähnliches posten, die dann die anderen auslesen und anzeigen können. Das währe allerdings etwas komplizierter zu programmieren :D
    Kopiere dies in deine Signatur, um es in deiner Signatur zu haben.
    Achtung: Dieser Beitrag läuft ende des Monats ab, bitte lese ihn noch vor dem Monatswechsel...
    Nach langer zeit wieder im Forum aktiv :D
  • Larsi, verbreite hier keine falshcen infos. natürlich ist es möglich das die Clients die IP eines Host ingame empfangen.

    Ich wollte das hier mal loswerden und editier bald den post um auch noch die Lösung zu posten.

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)
  • Hallo

    Also mit MPlay kenn ich mich nicht aus.
    Ich hab erst mal ein Multiplayer Plattformer Tutorial versucht, und hat auf anhieb mit Hamachi funtioniert. In wie weit MPlay Online funt weiss ich nicht bzw. hat das tut das ich machte nicht funkioniert. Im Lan und mit Hamachi war es kein Problem.


    Ich habe in anderen Threads gelesen, dass man für Onlinespiele mit Mplay Hamachi benutzen soll, aber wie geht das?


    Früher (ein paar Jahre) habe ich mit Kumpels "nicht" Onlinespiele mit Hamachi, übers Internet quasi im Lan gespielt. (zb. Risiko)
    Soweit ich das verstanden habe, ist Hamachi ein Programm das quasi eine Lan übers Internet simuliert.

    Aber ich würde sagen, lass es uns testen, gib bescheid wenn du dein Spiel testen willst.
    Dann währe natürlich ts oder skype von vorteil, um alles zu besprechen.
    lg Vectorhead

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Vectorhead ()

  • Also:

    entweder deine Server exe läuft auf einem Server der Ports offen hat, dann kann sich der Client mit "meinserver.at/supermmmo/", "1337" verbinden.

    aber das "listenen" funktioniert so:

    dein Server wenn er online ist, schickt alle soundosviel steps, seine ip adresse und ggf seinen Namen oder andere Infos raus (127.127.127.1 - supermmo - PVP only!!!)

    GML-Quellcode

    1. //create
    2. server = network_create_server(network_socket_tcp ,6510, 32 );
    3. global.server_name = "supermmo";
    4. global.server_desc = "PVP only!!!"//optional und eigtl nicht nötig^^
    5. alarm[0] = 30;

    GML-Quellcode

    1. //alarm[0]
    2. buffer_seek( marktschreier_buffer, buffer_seek_start, 0 );
    3. buffer_write( marktschreier_buffer, buffer_string, global.server_name );
    4. buffer_write( marktschreier_buffer, buffer_string, global.server_desc );//optional
    5. network_send_broadcast( server, 6511, marktschreier_buffer, buffer_tell(marktschreier_buffer) );
    6. alarm[0]=60;


    der Client kann das empfangen und dann verwerten

    GML-Quellcode

    1. var eventid = ds_map_find_value(async_load, "id");
    2. if( eventid == global.broadcast_server )
    3. {
    4. var ip = ds_map_find_value(async_load, "ip");
    5. // ankommende daten auslesen
    6. var buff = ds_map_find_value(async_load, "buffer");
    7. name = buffer_read(buff, buffer_string );
    8. desc = buffer_read(buff, buffer_string );
    9. // Zu einer Liste hinzufügen, die wir uns nachher anzeigen lassen
    10. var index = ds_list_find_index(global.server_list, ip);
    11. if( index<0 ){
    12. ds_list_add(global.server_list, ip);
    13. ds_list_add(global.server_names, name);
    14. ds_list_add(global.server_descs, desc);
    15. }
    16. }
    Alles anzeigen


    auf die Liste kann der Client später zugreifen und sehen ob und welche Server online sind.

    generell kannst du mit ds_map_find_value(async_load, "ip"); immer die ip ruasfinden/überprüfen.

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)
  • Äh ja eh,

    der Client der die Session hostet, ist der Server und erstellt dann ein obj_server oÄ, dass dann alles verwaltet. Während die die sich nicht verbinden keinen Server erstellen sondern nur listenen.

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)
  • Ich kann aber nur mit mplay_session_find und mplay_session_name "Server" abrufen, die schon in einer Verbindung (TCP/IP) sind.

    Edit: Das hier Masterserver per PHP schein mir gut zu passen, allerdings habe ich ein Problem ... :(
    Husi012 hat mich nicht mehr in seiner Signatur, ich bin trotzdem noch fame.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Dufner ()