Veröffentlicht 16. Juni 20178 j Hallöööchen mit 3 öchen, als leidenschaftliche Zockerin wollte ich irgendwann (also wirklich auf Jahre hinaus gesehen) mal ein kleines Multi-Player-Spiel programmieren. Aber das nur als Hintergrund, denn mir kommen erstmal einige Fragen in den Sinn die ich euch gerne stellen würde: Eine Datenbank ist für mich eigentlich unerlässlich, deswegen stellt sich mir die Frage wie ich mich über das Internet auf eine Zentrale Datenbank (oder einen Server) verbinde. Mein Wissen in diese Richtung ist noch sehr schwammig, da ich slebst weder eine Webseite habe (das einzige was mir spontan einfällt, das kein VPN benutzt) und wir auch in der Berufsschule noch nicht in diese Richtung eingestiegen sind. Was brauche ich genau außer der Datenbank slebst und dem Programm das verbindet? Sollte ich das über VPNs machen? Ich habe nur ein normales heimliches Netzwerk, brauche ich also eine Domäne oder reicht eine öffentliche IP? Brauche ich dann DynDNS? Muss die OS-eigene Firewall eine Ausnahme für den entsprechenden Port bekommen und braucht der Router auch spezielle Einstellungen? Ich würde mich über ernst gemeinte Tipps und Ratschläge freuen, da dies ja im Prinzip ein Netzwerk-Thema ist Grüße Tician
16. Juni 20178 j vor 2 Minuten schrieb Tician: normales heimliches Netzwerk Du hast ein WAAAAAS? Betreibst du einen Darknet-Server?
16. Juni 20178 j Es kommt auch darauf an, wer mit wem kommunizieren kann/darf/soll und wo das gemeinsame Wissen abgespeichert wird. Der einfachste Fall ist, dass ein Server eingesetzt wird, der die Daten hält und die für die Verteilung der Kommunikation sorgt. Jeder müsste sich nur zum Server verbinden können. Was i.d.R. ja eine beliebige ausgehende Verbindung darstellt. Wenn du echte P2P-Kommunikation haben willst, dann brauchst du noch einen Prozess/Workflow über den sich die Teilnehmer finden und ihre Möglichkeiten zur Kommunikation bekanntgeben. Ich werfe hier als Beispiel SIP rein, was das HTTP-basiert für Telefonie macht. Skype könnte hier ähnlich arbeiten. Was das öffnen von Ports oder das Durchlassen von Verbindungen angeht, werde ich noch mal die Begriffe STUN (v2) und TURN in den Raum. Beides gibt es als RFCs zum Nachlesen. Ein einfaches Prinzip, das ich auch schon mal anwenden durfte.
16. Juni 20178 j Autor Wah, mein Thread wird hin und her verschoben, ich komm gar nicht mehr mit^^ Frau - deutsch deutsch - Frau heimlich = heimisch = häuslich = ganz normales privates Netzwerk ohne Schnickschnack.
16. Juni 20178 j vor 8 Minuten schrieb Chief Wiggum: Du hast ein WAAAAAS? Betreibst du einen Darknet-Server? Sie meinte bestimmt ein heimeliges Netzwerk. Mit rosa Plüschhasen und so. Bearbeitet 16. Juni 20178 j von etreu https://de.wiktionary.org/wiki/heimelig
16. Juni 20178 j vor 1 Minute schrieb Tician: heimlich = heimisch = häuslich = ganz normales privates Netzwerk ohne Schnickschnack. Nix Frau-deutsch - deutsch-Frau. IT ist eine Branche, die üblicherweise mit definierten Begriffen arbeitet. Es bringt nichts, wenn du hier mit irgendwelchen Phantasiebezeichnungen arbeitest und dich dadurch niemand versteht.
16. Juni 20178 j Autor Zitat mittelhochdeutsch heim(e)lich = vertraut; einheimisch; vertraulich, geheim; verborgen althochdeutsch heimilīh = zum Hause gehörend, vertraut, zu Heim Dann bin ich einfach zu alt oder habe mir zu viel von meiner Uroma abgekuckt, für mich war das ein normales deutsches Wort. Also: privates Netzwerk meine ich. Da muss ich wohl ziemlich viel Recherchieren, mir sagen die Begriffe alle nichts, ich hatte gehofft es wäre einfacher. Ich fürchte mir fehlt zu viel Grundwissen um irgendeine bessere Antwort geben zu können. Bearbeitet 16. Juni 20178 j von Tician
16. Juni 20178 j Ein Datenbank-Server sollte nie direkt von Außen ansprechbar sein. Wenn, dann über ein VPN oder über ein geeignetes Administrationstool, was auf dem Server liegt (z.B. phpMyAdmin) und vor fremden Zugriff abgesichert ist. Ob du eine Datenbank für ein Multiplayer-Spiel brauchst, liegt auch am Spiel selbst. z.B. Minecraft kommt auch ohne Datenbank aus. Datenbanken sind nicht immer das Allheilmittel. Ich würde auch kleinere Brötchen backen, bevor ich mich da an ein Multiplayer-Spiel ranwagen würde. Fange erstmal klein an. z.B. Tic-Tac-Toe und arbeite dich an größere Dinge. Selbst die Implementierung von Schach kann schon sehr kompliziert werden.
16. Juni 20178 j Autor Das mit den kleineren Brötchen ist so eine Sache, ich habe schon ein Test-Spiel geschrieben (Snake-ähnlich) und das möchte ich nun eben für ein Multiplayer ausbauen, deswegen interessiert mich jetzt erstmal was genau ich dafür (außer Code slebst) brauche. Wenn ich das richtig verstehe wäre es also am einfachsten eine Anwendung zu programmieren die quasi als "Server" dient und über die sich die Spieler verbinden (P2P?) - ganz ohne Datenbank? Aber wenn diese Anwendung auf einem WIndows läuft bin ich mir sicher das ich irgendwas mit der FIrewall - oder dem Router - machen muss damit das funktioniert. Bearbeitet 16. Juni 20178 j von Tician
16. Juni 20178 j vor 10 Minuten schrieb Tician: Das mit den kleineren Brötchen ist so eine Sache, ich habe schon ein Test-Spiel geschrieben (Snake-ähnlich) und das möchte ich nun eben für ein Multiplayer ausbauen, deswegen interessiert mich jetzt erstmal was genau ich dafür (außer Code slebst) brauche. Du brauchst du dafür gar nichts. Du musst wissen, wie man zwischen zwei Rechnern Nachrichten verschickt (z.B. über TCP und UDP). vor 10 Minuten schrieb Tician: Wenn ich das richtig verstehe wäre es also am einfachsten eine Anwendung zu programmieren die quasi als "Server" dient und über die sich die Spieler verbinden - ganz ohne Datenbank? Wofür brauchst du denn da eine Datenbank? vor 10 Minuten schrieb Tician: Aber wenn diese Anwendung auf einem WIndows läuft bin ich mir sicher das ich irgendwas mit der FIrewall - oder dem Router - machen muss damit das funktioniert. Nicht nur auf Windows ... Wenn ein Router dazwischen hängt, musst du das Portforwarding aktivieren, damit auch die Datenpakete zum lauschenden Rechner weitergeleitet werden. Um das zu umgehen, verwenden Onlinespiele oder Messengerdienste die Hole Punching-Technik. Darüber würde ich mir aber erstmal keine Gedanken machen. Bearbeitet 16. Juni 20178 j von Whiz-zarD
16. Juni 20178 j Da reicht eine einfache Portweiterleitung. Dann sollte aber die Datenbank oder jedwede andere Software dahinter abgesichert sein. Wenn du eine FritzBox mit einer Firmwareversion ab FRITZ!OS 05.20 besitzt, benötigst du auch kein DynDNS mehr, sondern kannst gleich die kostenlose und zuverlässige MyFRITZ! - Funktion nutzen. Wenn ich in den Urlaub fahre, stelle ich immer eine (abgesicherte) IP-Videokamera auf und verbinde mich dann so darauf.
16. Juni 20178 j Problem könnte eventuell die Latenz werden, wenn der Datenbank Server zu weit weg steht. Was widerum alle Anfragen verlangsamt. Evtl bietet sich da Galera an, sodass du meherere Standorte hast.
16. Juni 20178 j Autor Das klingt schon einiges verständlicher, damit kann ich etwas anfangen! Hole-punching - was ist da mit "offenen dritten Rechner" gemeint? Ne Fritz-Box habe ich leider nicht, aber mit Port-Forwarding finde ich bestimmt trotzdem etwas Dann muss ich also schauen wie ich mich absichere...
16. Juni 20178 j vor 57 Minuten schrieb Tician: Hole-punching - was ist da mit "offenen dritten Rechner" gemeint? Bei Onlinespielen der Spieleserver.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.