Lobbys auf einem dedizierten Server eröffnen (und beitreten) ?

  • Hallo zusammen,


    ich möchte ein Lobbysystem auf einem dedizierten Server umsetzen. Das ganze soll wie folgt ablaufen:

    1. Ein Spieler befindet sich im Hauptmenü und klickt auf "Spiel hosten".

    2. Der Server erstellt eine Session bzw. es wird ein neuer Server gestartet.

    3. Andere Spieler suchen Lobbys und können diesen beitreten.

    4. Sind Spieler verbunden kann kann das Team, die Spielerfarbe usw. eingestellt werden.

    5. Der Host startet das Spiel für alle verbundenen Spieler.

    6. Das Spiel läuft auf einem dedizierten Server bis es vorbei ist.

    7. Alle Spieler kehren nach dem Spiel in die Lobby zurück.


    (Wie) Lässt sich so eine Architektur umsetzen? Ich möchte ausdrücklich keinen "Listen-Server" benutzen!


    Beste Grüße


    Marv

  • Sleepy

    Hat das Thema freigeschaltet.
  • Also wenn ein Spieler ein Spiel hostet, dann hast du keinen dedizierten Server. Dedizierte Server laufen eigentlich immer und hosten dann das Spiel von sich aus, man spielt aber nicht auf einem dedizierten Server. Du kannst den Server, wenn eine Runde läuft, natürlich in der Zeit für neue Spieler sperren. Aber ich denke, einen großen Unterschied macht das für die Lobby nicht.


    Ansonsten brauchst du halt nur die Informationen, die die freien dedizierten Server haben, also IP, wartende Spieler usw. an die Lobby übertragen.


    In einem Spiel habe ich es zwar noch nicht umgesetzt, aber ich hatte mal ein Programm zur Kommunikation für eine Firma mit geschrieben. Dort funktionierte es so, dass es einen Server gab, man konnte sich darauf anmelden, und die Daten der vorhandenen Nutzer halt in Form von XAML-Paketen bereitgestellt wurden, welche von entsprechendem Client dann halt in der gewünschten Form angezeigt wurden. Das ist jetzt zwar nur grob beschrieben, aber für deine Lobby sollte es in etwa ähnlich laufen. Du kannst natürlich ein eigenes Dateiformat für den Lobbyaustausch entwickeln.

  • Hallo


    Wenn du kein Listen Server willst bleibt Dedicated Server. Willst du diesen in der Cloud haben, oder eben doch beim "hostenden" Spieler, also lokal auf den PC des Spielers?


    Wenn in der Cloud ist es kein Problem, lokal higegen ist nicht so einfach, weil da fehlt das P2P Interface vom Listen Server.


    Gruss

  • Listen/dedicated is ausm "technischen" Sinne heraus fast egal. Nen dedicated server komilierst du in der Regel auf Linux und weil dedicated wohl meist auch ohne Frontend (Grafik). Aber testen wirst du eh mit nem listen Server - sonst ist das mit debuggen schon sehr nervig. Den Dedicated server built spart man sich in der Praxis eigentlich meist fuer launch des Spiels auf weil es aufwaendig und teuer sein kann. Aufwaendig weil du bei einem dedicated Server dann anfaengst dich mit Fernwartungs/Bedienungsfunktionen aunzufreunden. Dann kommen Datenbanken, Webinterfaces usw dazu und man muss schon ein wenig Know How haben. Um Erfahrung zu sammeln und wenn du Spass am lernen hast - klar einfach mal machen. Aber schon nen Linux Port zum laufen zu bekommen kann auch anstrengend sein wenn man nicht schon der Linux Guru ist.