Anzeige

Javascript Game (Node.js)


#1
Moinsen,

Ich beschäftige mich derzeit mit Node.js...
Ich habe von Github, ein einfaches Spiel, was derzeit noch komplett Clientseitig läuft.
Ich möchte das Spiel gerne etwas manipulations sicher machen.
Wie kann ich, die Config Daten (Vom Game) nur Serverseitig auslesen und Clientseitig an Phaser "Module" übergeben.

Ich hoffe das ist so einigermaßen verständlich :)

MfG
Marco

EDIT: Hier der Github-Link: Multiplayer Game
 
Zuletzt bearbeitet:
#2
Hallo Marco,

ich selber kann dir nicht großartig helfen, aber vielleicht postest du einfach mal die Codes, die du schon hast, damit dir besser geholfen werden kann. Im Netz findet sich dazu auch bestimmt jede Menge. Du musst nur die richtige Seite erwischen. ;) Allgemeines und ggf. hilfreiches findest du hier.

Freundliche Grüße
 

ComFreek

Mod | @comfreek
Moderator
#3
Kannst du vielleicht den GitHub-Link des Spiels posten?

Läuft das Spiel clientseitig mit GUI oder ist das "Spiel" eigentlich nur ein Spielserver?
 

ComFreek

Mod | @comfreek
Moderator
#5
Das sieht mir nach einem Browserspiel aus, das einfach von einer Node.js-Serverinstanz ausgeliefert wird.

Ich habe von Github, ein einfaches Spiel, was derzeit noch komplett Clientseitig läuft.
Mit "komplett clientseitig" im engeren Sinne ist das korrekt. Normalerweise würde ich aber unter "komplett clientseitig" ein Spiel verstehen, was grob nur aus HTML, JS und CSS-Dateien besteht.

Wenn du bei dir den Node.js-Server einfach auf einem anderen PC startest, dann ist dieser auch vom eigentlichen Client nicht mehr manipulierbar.
 
#6
Mit "komplett clientseitig" im engeren Sinne ist das korrekt. Normalerweise würde ich aber unter "komplett clientseitig" ein Spiel verstehen, was grob nur aus HTML, JS und CSS-Dateien besteht.
Da gebe ich dir natürlich vollkommen recht.

Wenn du bei dir den Node.js-Server einfach auf einem anderen PC startest, dann ist dieser auch vom eigentlichen Client nicht mehr manipulierbar.
Wie jetzt? :unsure:
Aber die Dateien vom Spiel, werden ja auch von jedem Client geladen. Da könnte man doch ganz einfach falsche Daten an den Server übergeben?!
 

ComFreek

Mod | @comfreek
Moderator
#7
Da könnte man doch ganz einfach falsche Daten an den Server übergeben?!
Das ist das klassische Problem, was jedes Spiel besitzt. Es läuft darauf hinaus, dass a) der Client mehr Daten an den Server senden muss und du b) auf dem Server immer alle Spielhandlungen verifizieren musst.
Beispiel: Wenn Spieler A in einem Egoshooter Spieler B getötet hat, dann reicht es nicht aus, an den Server nur "A killed B" zu senden. Du musst fortlaufend die Positionen der Spieler übertragen und der Server muss verifizieren, ob diese erlaubt sind.
Natürlich geht das alles auf die Performance, also würde man doch nicht alle Daten an den Server senden, sondern nur die wichtigsten, und auf dem Server nur heuristisch überprüfen ("Sind die Positionsdaten zumindest glaubhaft, ohne dass ich serverseitig eine Physikengine anwerfe?").

Darüber gibt es auch sicher einige Tutorials auf Spielewebseiten, die noch konkreter werden. Ich habe mal nur das erzählt, was ich im Internet so mitbekommen habe, ohne je ein eigenes großes Spiel selbst gebaut zu haben.
 
Anzeige
Anzeige