Jump to content
Unity Insider Forum

UNET Vorabinfo


Noxen

Recommended Posts

Servus werte Unity begeisterte,

 

ich bin grade dabei ein Multiplayerspiel zu entwickeln.

Vor ein paar Jahren hatte ich mal angefangen, dann kam das neue System. Allerdings war damit alles, was ich bis dato gemacht habe nicht mehr funktionsfähig.

Also erstmal kein Bock mehr gehabt :(

Nun fang ich nochmal neu an. Bevor ich groß in die Multiplayergeschichte reingehe, hab ich mal noch Fragen.

Es gibt ja verschiedene "Modelle", um Multiplayerspiele zu betreiben.

Ich brauche für meins allerdings die Möglichkeit, dass Clienten in einer Liste sämtliche Server sehen.

Damals brauchte man dafür ja einen Masterserver von Unity oder Photon, je nachdem, heute glaube ja auch noch.

Das Modell ist aber kostenpflichtig und auch nicht grade billig. Man weiß ja schließlich nie, wie weit es das Spiel auf dem Markt schafft.

Man nimmt ja eher mal an, nicht soooo weit :P

Dann gibt es ja noch die Möglichkeit, dass man als Client die IP eingibt.... das kommt aber für mich absolut nicht in Frage.

Am liebsten wäre mir, dass ich Usern die Möglichkeit gebe, selbst Server zu starten. Meinetwegen auch ingame als Host, was ich jedoch lieber vermeiden möchte.

 

Bin ich soweit richtig, oder irre ich mich? Gibt es noch andere Möglichkeiten?

Wenn nicht, könnte man einen Masterserver selber erstellen? Mit Unity? Wie aufwendig wäre das?

 

Wäre super, wenn jemand in der Sache auskunft geben könnte, wie ich das am besten bewerkstelligen könnte.

Vielen Dank schonmal.

 

Gruß Noxen

Link zu diesem Kommentar
Auf anderen Seiten teilen

Projekte die mit Unity Networking Legacy (so hieß es glaub ich) erstellt wurden, sind nicht Funktionsunfähig.

Dann zu deiner Frage, ja du benötigst einen MasterServer.
Vorab solltest du dir jedoch bewusst sein was du genau meinst mit Server Hosten.
Sollte das heißen, dass die Spieler den Server auf ihrer Lokalen Maschine hosten (Port Probleme), oder mit einem Befehl eine Neue Instanz (neuer Server) auf deinem Root/V-Server starten können?

Am leichtesten wird es sicher für dich sein du löst den MasterServer(falls Login usw auch benötigt) via PHP mit WebRequests.

Dann könntest du ja die Sachen in einer Datenbank speichern und wenn sie einer Abfrägt via PHP ausgeben.
Eigentlich ne relativ simple Sache, jedoch muss dir vorher bewusst sein was du genau möchtest.

Wenn du dies weißt können wir genauer darauf eingehen.

 

Mfg

0F00

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 weeks later...

Alles was UNet dir anbietet kannst du selber kostenlos machen.

Mittlerweile wurden ein paar Dinge was du ansprichst hier schon öfters besprochen. Einen Masterserver kann man selber erstellen. Daher ist es eigentlich KOSTENLOS (abgesehen vom hosting natürlich). Masterserver bereitet den Spielern viele Dinge vor. Es kann ein Loginserver sein, Serverhost-Liste sein und vieles mehr. Ich glaube man nennt es auch Matchmakingserver, wenn man eine Liste mit den Servern hat.

In deinem Fall kannst du mit UNet deinen eigenen Matchmakingserver schreiben. Die wird einfach an den User gesendet und er hat dann eine Liste mit Servern.


Es gibt auch Alternativen. In viele anderen Projekten außerhalb unity hab ich gesehen, dass viele auch einfach eine Textdatei benutzen oder auch php. Beispiel. Du hast eine Website mit php + mysql. Dort werden deine Server gespeichert. Nun ruft jedes Client jedes mal eine datei auf wo nun die Serverinfos gespeichert gelistet sind.
Ein Beispiel: http://188.138.99.203/gta/ hier sind die ServerIPs gelistet. Nachdem der Client diese IPs hat, geht es die IPs durch und fragt nach Informationen wie zum Beispiel: Spieler, Maxspieler, Servername usw. Allerdings würde ich selber alle Informationen an den Matchmakerserver mitgeben.

Hier ist ein Beispiel von Unity Mitarbeitern (denke ich) https://forum.unity.com/threads/master-server-sample-project.331979/ Das habe ich sogar für meine Testprojekte probiert sogar umgeschrieben (weil mir da vieles noch fehlte wie gamemodes usw).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...