Hallo zusammen,
Ich hab momentan einen Knoten im Gehirn und bin darum für etwas Hilfe/Aufklärung dankbar. Kurz zum Hintergrund:
Wir sind ein Team von 5 Leuten und wollen ein Browser-Game entwickeln. Das Ganze hat den Hauptzweck des Lernens, sprich sich in neue Probleme und deren Lösungen einzuarbeiten. Das ganze ist eine Art Wirtschaftssimulation und wird bis auf Illustrationen keine Grafik benötigen (wobei wir die Grafiken am Anfang sowieso komplett ignorieren und allenfalls Platzhalter verwenden). Angedacht ist ein Server-Teil, der die ganze Logik enthält und ein Client-Teil, der selber eigentlich nur als etwas inteligentere Eingabemaske fungieren soll. Diese Struktur wollen wir so wählen, um ein debugging, aber auch ein hacking zu erschweren. Ein Beispiel, wie ich mir das gedacht habe:
Der Benutzer hat einen Wert für Stärke (z.B. 10) und möchte den Trainieren. Er geht dazu in ein Trainingsstudio und sieht, dass er dort den Wert für Stärke auf 11 erhöhen kann. Das kostet ihn 10 Geld und dauert 2 Std. -> Klickt der Spieler nun auf einen Button, dann soll der Server-Teil das Geld von seinem Vermögen abziehen und das Training starten. Es soll aber für den Client nicht möglich sein, z.B. ein Training direkt auf 50 zu starten (z.B. durch Hacken des Codes). Eine Plausi im Serverteil würde feststellen, dass er vom aktuellen Wert in der DB (10) nur auf 11 steigen kann. Ich hoffe, das macht in etwa Sinn
Nun weiss ich nicht genau, wie ich den Server-Teil programmieren soll. Ein Programm zu schreiben, dass die DB verändert etc. ist nicht das Problem. Und wir würden das Ganze gerne in C# machen. Aber das Programm müsste ja parallel von 1-n Leuten "bedient" werden können. Geht das überhaupt so? Oder könnte ich damit nur einen C# Programm erstellen, dass via Internet die DB ändert? Dann hätte ich wieder Code beim User, was ich nicht will. Alternativ könnte ich das Ganze in PHP programmieren, aber ist das auch sicher genug?
Was ich noch anmerken sollte.. wir haben angedacht, später einen Smart-Phone Client dafür zu entwickeln. Auch deshalb wäre es ideal, wenn die ganze Logik und Steuerung auf dem Server läuft.
Kurz gesagt: ich weiss nicht, welche Technologie ich wo einsetzen soll (kann/muss), um ein Multiplayer Web-Game zu entwickeln, dass wirklich sicher vor Hacking ist.
Hat irgendjemand einen Tip?