Frage bzgl. Realisierung von Servern/Multiplayer.

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

 

Kowalski

Betreff: Frage bzgl. Realisierung von Servern/Multiplayer.

BeitragSa, Jun 14, 2008 17:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Community!

Ich bin Teil eines Projektes, welches plant ein Multiplayergame zu "machen" (mal primitiv ausgedrückt).

Bei diesem Projekt, sollen die verfügbaren Server über einen Serverbrowser (der auf dem Rechner des Anwenders ausgeführt wird) angezeigt werden.
Die Daten hierzu sollen zentral auf dem Server unseres Projektes gespeichert werden (vorzüglich MySql-Datenbank).

Nun soll der Nutzer den Serverbrowser aufrufen, sich mit unserem Server verbinden, dort die Infos (welche Server gerade offen sind) erhalten, und dann einen Server aussuchen und zu diesen "Connecten" können.

Mit "Connect" erhält der Nutzer dann halt die IP des Servers, und das Programm verbindet halt mit dem jeweiligen Host, aber das muss ich ja nicht wirklich weiter beschreiben.

Nun habe ich irgendwie eine ungewollte "Kreativpause", da ich mir nicht sicher bin, wie ich das realisieren soll.

Ich dachte daran, dass Tool mit einem php-Skript kommunizieren zu lassen, jedoch kann ich nur die Ausgabe des Skriptes bedingt auslesen, da mir die Ausgabe in einem String gespeichert wird.
Diese Methode ist unvorteilhaft, da ja z.B.: eine Tabelle ja quasi in einem Wort gelesen wird.
Und wie ich eine Kommunikation zwischen einem php-Skript und BMax realisieren soll weiß ich leider nicht.

Dann ergab sich noch die Möglichkeit, ein Modul zu nutzen welches MySql und BMax verbindet...
Dass wäre schon etwas was so in meine Konzeptidee passen würde, aber in einem Diskussionsbeitrag (ich habe schon diverse Themen durchgelesen, aber nicht wirklich eine Info gefunden die hilft) hieß es, wenn man das Passwort im Programm speichert, dann wird nach kurzer Zeit die DB gehackt.
Wie soll das Passwort denn dann (und wo) gespeichert werden.

Naja, ich hoffe ich habe mein Problem gut genug geschildert.
Es wäre schön, wenn einige User die Erfahrungen mit solchen (oder ähnlichen) Konzepten gemacht haben, mir sagen können, wie man das Konzept evtl. verbessern könnte, bzw. wie man solch ein Vorhaben am besten realisiert und mich vielleicht mit Tipps und/oder Ratschlägen unterstützen könnten.

Gruß Kowalski

Vertex

BeitragSa, Jun 14, 2008 17:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Direkt Zugriff auf die Datenbank zu gewähren ist unklug, da sie entsprechend sehr gut administriert sein muss und viele Webhoster den externen Zugriff eine DB erst gar nicht gestatten.

Das einfachste ist ein PHP-Skript dem du über POST Funktionsname und Parameter übergibst. Die Antworten fasst du dann in Tags bspw. [response]STATUS,WERT[/response]. Damit stellst du sicher, dass auch nur relevante Informationen erfasst werden. Das PHP-Skript verwaltet die Datenbank und überprüft bspw. ob der Benutzer auch das korrekte Passwort angegeben hat. Für MySQL gibt es zudem Stored Procedures und Trigger um die Konsistenz der DB zu wahren (wenn ein Benutzer gelöscht wird, müssen bspw. alle seine Server mit gelöscht werden. Das kannst du entw. in PHP oder über Stored Procedures lösen).

Es gibt aber auch Technologien die zum Austausch von Informationen existieren. SOAP bspw. setzt auf HTTP auf. Damit müssen Firewalls nicht noch extra konfiguriert werden. Die zu versendenden Daten werden in eine XML Datei gepackt und versendet. Das Stichwort hier sind Webservices. Dein zentraler Server könnte bspw. ein Webservice "ListServers" und "AddServer" anbieten.

Java und ASP bieten hervorragende Datenbankanbindungen. Bei .NET gehört SOAP zum Standard.

Aus Erfahrung her würde ich heute auf Java aufsetzen. Die größten Probleme gab es bei PHP immer beim Debuggen (Variablen müssen nicht deklariert und initialisiert werden und können jeden Datentyp annehmen) und bei der Konsistenz der Datenbank. Die Daten können über SOAP mit HTTPs auch verschlüsselt übertragen werden.

Fazit für mich aus Erfahrung:
Aufwändige Verwaltung nur noch mit Java oder .NET Sprache, SOAP, HTTPs und MySQL.
Kleine Verwaltung mit PHP und MySQL.

Die Module von Brucey erlauben übrigens das Arbeiten mit XML und HTTPs.

mfg olli
vertex.dreamfall.at | GitHub

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group