Kann man Multiplayer-Spiele entwickeln, die ohne Server auskommen?

Algorithmen, Sprachunabhängige Diskussionen zu Konzepten, Programmiersprachen-Design
Orioner
Beiträge: 102
Registriert: Mo Dez 10, 2012 10:52 am

Kann man Multiplayer-Spiele entwickeln, die ohne Server auskommen?

Beitrag von Orioner » Fr Feb 18, 2022 9:06 pm

Kann man Multiplayer-Spiele programmieren und laufen lassen, ohne einen Server zu betreiben? Welche Techniken gäbe es da prinzipiell?

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Kann man Multiplayer-Spiele entwickeln, die ohne Server auskommen?

Beitrag von Xin » Fr Feb 18, 2022 10:42 pm

Das war früher Gang und Gäbe, weil Computer teuer waren und man schon froh war, wenn es überhaupt einen im Haushalt gab. Internet oder ein Modem sowieso nicht.

Das Spiel muss also ein gemeinsames Spielfeld wo alle Spieler drauf Platz haben oder Splitscreen. Alternativ ist es rundenbasiert und die Spieler sind abwechselnd dran.

Wenn Du meinst, dass mehrere Computer sich ein Spiel teilen... wird's komplizierter. Meistens müssen für Spielverläufe Entscheidungen getroffen werden. Das fängt damit an, dass man sich auf ein Spielfeld einigen muss und ein Computer muss das bestimmen. Wenn zwei Parteien einen Gegenstand erreichen wollen, muss entschieden werden, wer zuerst da ist und ihn bekommt. Der Service muss also das Spiel auf einem Computer leiten - gleichzeitig kann natürlich auch ein Client auf dem gleichen Computer laufen.

Spiele, die einfach nur rufen "Ich hab was getan" wären über Broadcast möglich. Bleibt die Frage, wir man sich dann einigt, dass es ein gemeinsames Spiel[feld] gibt. Oder ob es Spielkonzepte gibt, wo ein gemeinsames Spielfeld in dem Sinne gar nicht erforderlich ist.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Orioner
Beiträge: 102
Registriert: Mo Dez 10, 2012 10:52 am

Re: Kann man Multiplayer-Spiele entwickeln, die ohne Server auskommen?

Beitrag von Orioner » Sa Feb 19, 2022 3:47 am

Meine Frage bezieht sich übrigens aufs Zocken über Internet, nicht im Lokalen Netzwerk. Braucht man da zwangsläufig einen Server?

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Kann man Multiplayer-Spiele entwickeln, die ohne Server auskommen?

Beitrag von Xin » Sa Feb 19, 2022 1:35 pm

Orioner hat geschrieben:
Sa Feb 19, 2022 3:47 am
Meine Frage bezieht sich übrigens aufs Zocken über Internet, nicht im Lokalen Netzwerk. Braucht man da zwangsläufig einen Server?
Das Tolle ist, dass wenn man Fragen stellt, man den Kontext mitliefern kann.

Die Antwort ist die gleiche wie zuvor.
Was hier schwieriger ist, ist den Service, der die Spielentscheidungen trifft zu finden. Dein PC befindet sich vermutlich hinter einem Router und der kennt den Service nicht. Der muss also wissen, wenn jemand von außen nach dem Service fragt, an welche IP im lokalen Netzwerk er die Anfrage weiterleiten muss. Und der externe Spieler muss die Deine externe IP von Deinem Router kennen, um überhaupt fragen zu können.
Das geht - ist dann aber Handarbeit.

Oder Du installierst den Game-Service auf einem Server im Internet. Dann wisst ihr ja, wo der zu finden ist und müsst nicht durch irgendwelche lokalen Netze durchrouten. Dann brauchst Du einen Server.

Entsprechend stellt man einen Server ("Diener") auf, wo Du Dein Spiel und Deinen Service anmeldest und der auf einer bestimmten IP bzgl. URL liegt. Dein Mitspieler kommt auch an und sucht einen Game-Service. Hier gibt es aber neben dem Game-Service auch einen Vermittlungs-Service. Entweder speziell Deinen oder er sucht sich halt aus einer Liste einen aus mit dem er sich verbinden möchte.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Orioner
Beiträge: 102
Registriert: Mo Dez 10, 2012 10:52 am

Re: Kann man Multiplayer-Spiele entwickeln, die ohne Server auskommen?

Beitrag von Orioner » Di Feb 22, 2022 1:30 am

Sorry, ich lese mir meine Fragen x-mal durch, bevor ich sie abschicke, aber manchmal vergesse ich trotzdem wichtige Details.

Also, so wie ich das sehe kommt man bei Spielen, die übers Internet gespielt werden, um einen Server nicht drum herum. Das heißt, das Spiel muss auch am Markt erfolgreich sein, damit sich die Kosten für den Server rechnen. Oder gibt es eine Alternative?

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Kann man Multiplayer-Spiele entwickeln, die ohne Server auskommen?

Beitrag von Xin » Di Feb 22, 2022 8:58 am

Naja, was heißt, es muss erfolgreich sein, dass sich die Kosten rechnen...

Wenn Du ein Spiel entwickelst, steckst Du da unendlich viel Zeit rein. Das sind die Kosten.
Einfache virtuelle Server gibt's ab 2 Euro im Monat, die reichen eigentlich. Um die Vermittlung eines nicht erfolgreichen Spiels zu handhaben, sind das wohl die absolut geringsten Kosten? Darauf kannst Du gleich den Download mitabwickeln. Soll der Server das Spiel leiten, wird er mehr Rechenleistung brauchen, aber das hängt dann vom nicht erfolgreichen Spiel ab und der Implementierung des Services. Ich sag mal für ein TicTacToe in C++ wird der ein 10 Jahre alter Rechner tausende von spielen können. ;-)

Um eine Seite auf proggen.org ohne Caches zu rendern, vergehen rund 100-300ms. Ich habe das Ziel ja immernoch nicht aufgegeben, ein eigenes CMS zu entwickeln. Ich habe das mal in C++ angefangen, da spricht man von Faktor 10 bis 100. Das ist aber eher für erfolgreiche Spiele relevant, wenn man plötzlich viele Server braucht.

Ich bekomme gelegentlich Angebote, doch Werbung auf proggen.org zu schalten. Warum siehst Du keine Werbung? Das hat drei Gründe:
1. Werbung nervt mich
2. Ich muss das ganze in proggen.org einbauen und administrieren
3. Ich muss es versteuern

Der ganze Aufwand für die paar Euro fünfzig... Da habe ich viel mehr Arbeit als Verdienst, nur um mich selbst zu nerven.

proggen.org kostet mich rund 50 Euro im Monat, etwa die Hälfte durch die Faulheit, einen alten Server abzuschalten, womit sich einige IPs ändern usw. Das ist jedesmal blödsinniger Aufwand. Der Server ist kein VServer, er ist für proggen.org (und andere Projekte) eher überdimensioniert, aber praktisch alles ist heutzutage selbst ein Raspberry Pi für ein Forum überdimensioniert. ;-)

Und solltest Du ernstzunehmend Spiele entwickeln, dann vermittel ich Dir einen Kontakt zu einem Provider für Spieleserver.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Orioner
Beiträge: 102
Registriert: Mo Dez 10, 2012 10:52 am

Re: Kann man Multiplayer-Spiele entwickeln, die ohne Server auskommen?

Beitrag von Orioner » Sa Feb 26, 2022 8:38 am

Tja, was du sagst, hätte ich eigentlich auch von selber drauf kommen müssen. :oops:

Ich habe so viele Spielideen ... d.h. eigentlich sind es bloß "Wünsche, existierende Spiele nachzubauen, bzw. selbst zu entwickeln". Allerdings hat sich in den letzten Jahren gezeigt, dass ich wohl nicht "zum Programmieren gemacht" bin. :(
Xin hat geschrieben:
Di Feb 22, 2022 8:58 am
proggen.org kostet mich rund 50 Euro im Monat
:shock: Was?! So viel? Das wäre mir zu teuer, erstrecht für einen Forums-Server. Aber gut, mach mit deinem Geld, was du willst. FG
Xin hat geschrieben:
Di Feb 22, 2022 8:58 am
Und solltest Du ernstzunehmend Spiele entwickeln, dann vermittel ich Dir einen Kontakt zu einem Provider für Spieleserver.
Danke für das Angebot. :)

PS: Da ich Ad-Blocker-verwöhnt bin, habe ich gar nicht gemerkt, dass du keine Werbung geschaltet hast. Aber gefällt mir, die Einstellung!

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Kann man Multiplayer-Spiele entwickeln, die ohne Server auskommen?

Beitrag von Xin » Sa Feb 26, 2022 8:20 pm

Orioner hat geschrieben:
Sa Feb 26, 2022 8:38 am
Tja, was du sagst, hätte ich eigentlich auch von selber drauf kommen müssen. :oops:

Ich habe so viele Spielideen ... d.h. eigentlich sind es bloß "Wünsche, existierende Spiele nachzubauen, bzw. selbst zu entwickeln". Allerdings hat sich in den letzten Jahren gezeigt, dass ich wohl nicht "zum Programmieren gemacht" bin. :(
Keine Ahnung... nicht jeder muss hochtalentiert sein, oftmals reicht es auch, einfach Spaß an etwas zu haben.
Orioner hat geschrieben:
Sa Feb 26, 2022 8:38 am
Xin hat geschrieben:
Di Feb 22, 2022 8:58 am
proggen.org kostet mich rund 50 Euro im Monat
:shock: Was?! So viel? Das wäre mir zu teuer, erstrecht für einen Forums-Server. Aber gut, mach mit deinem Geld, was du willst. FG
Es sind zwei. Und es läuft nicht nur das Forum drauf.
Und ich werde beizeiten wohl einen dritten mieten, wieder alles darauf schieben und aktualisieren und dann keine Zeit haben, irgendwelche Dienste abzuschalten oder auf dem neuen Server funktionsfähig zu kriegen und dann drei haben, weil die alten Dienste dann auf den alten Servern weiterlaufen. ;-)
Orioner hat geschrieben:
Sa Feb 26, 2022 8:38 am
Xin hat geschrieben:
Di Feb 22, 2022 8:58 am
PS: Da ich Ad-Blocker-verwöhnt bin, habe ich gar nicht gemerkt, dass du keine Werbung geschaltet hast. Aber gefällt mir, die Einstellung!
Es gibt im Internet nicht viel umsonst. Es gab aber eine Zeit, da war nicht alles ein Businessmodel.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Orioner
Beiträge: 102
Registriert: Mo Dez 10, 2012 10:52 am

Re: Kann man Multiplayer-Spiele entwickeln, die ohne Server auskommen?

Beitrag von Orioner » Mo Mär 07, 2022 3:57 pm

Also nochmal Klartext, braucht es den "man-in-the-middle", sprich einen Server (des Spielanbieters), zu dem die Clients connecten?

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Kann man Multiplayer-Spiele entwickeln, die ohne Server auskommen?

Beitrag von Xin » Mo Mär 07, 2022 8:26 pm

Orioner hat geschrieben:
Mo Mär 07, 2022 3:57 pm
Also nochmal Klartext, braucht es den "man-in-the-middle", sprich einen Server (des Spielanbieters), zu dem die Clients connecten?
Du brauchst einen Spielleiter und der ist im Idealfall von allen zu sehen (Server im Internet).

Der Spielleiter kann aber auch auf einem Rechner laufen, auf dem auch das Spiel läuft. Dann muss man aber durch Router und Switche an den Rechner vermitteln, der irgendwo hinter einer Firewall steht. Das kann man konfigurieren - dafür muss der Spiele-Rechner, der den Spielleiter macht, im Internet sichtbar sein. Der Router muss zum Beispiel den Port 4711 für das Spiel an den Computer weiterleiten, der zum Spielen benutzt wird. Aber welcher ist das jetzt?
Das können die meisten Spieler nicht.
Also lassen sich die meisten von einem Service im Internet miteinander verbinden. Zack haben wir wieder einen Server im Internet, der zwar das Spiel nicht leitet, aber eben die Vermittlung zwischen den Spielern herstellt.

Der Man-in-the-Middle macht Dinge für die Benutzer einfacher. Wo der Spielleiter sitzt ist dabei technisch eher egal, solange er im Netz auffindbar ist.
Wenn die Vermittlung nicht benötigt wird, wenn also die Wege im Netzwerk bekannt ist, kann man auf den Vermittler verzichten. Wenn ich weiß, dass Du die IP 1.2.3.4 hast und Dein Router den Port 4711 an Deinen Spielrechner weiterleitet, brauche ich Dich nicht zu suchen, also auch keinen, der mir sagen kann, wo Du bist, weil Du es ihm gesagt hast.

Also Klartext: Brauchen: Nein. Er ist aber praktisch.

Viele Spiele können auch über eigene Server laufen, es muss nicht immer der des Spieleanbieters sein.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten