Zum Inhalt springen
  • 0

Datenbankverbindung über Internet


Tician

Frage

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

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

13 Antworten auf diese Frage

Empfohlene Beiträge

  • 1

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1

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. 
 

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1
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 von Whiz-zarD
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 0
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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 0

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 von Tician
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 0

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...

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • -1
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 von Tician
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Diese Frage beantworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...