Ist es möglich ein Multiplayer Karten-Spiel mit mehr als 2 Personen und nur unter Verwendung von HTML5 zu erstellen?

  • Hallo liebes Forum!


    Seid (relativ) kurzem schwirrt in meinem Kopf die Idee eines Kartenspiels für mich und meine Freunde zu programmieren.
    Wir machen regelmäßig Spiele-Abende, jedoch ist es relativ schwer geworden einen Termin zu finden und dazu kommt das einige weg gezogen sind.
    Zu dem Zweck habe ich heute angefangen den "Client" dafür zu programmieren. Seit 6 Jahren programmiere ich schon mit PHP, HTML und CSS und dachte mir, das ich es hinbekomme.


    Jedoch scheine ich bei der Serverwahl einen Fehler gemacht zu haben. Weil ich nun nicht so viel ausgeben wollte, habe ich mir einfach einen Webspace "Pro" bei "Nitrado" bestellt und unsere Domain drüber gebügelt... Es stellte sich heraus, dass ich nicht in der Lage bin mit js einen "Server auf dem Server" (ich hoffe das ist verständlich, wie ich das meine) zum Laufen zu kriegen.
    Meine Idee ist nun mit HTML5 dieses Kartenspiel zu realisieren, indem ich jemanden das Spiel "hosten" lasse und dann "client to client" Verbindungen zwischen dem Host und jedem Mitspieler aufbaue.


    Meine Frage dazu währe ob das im allgemeinen überhaupt, wenn auch nur rein theoretisch möglich währe oder ob das ein totales Disaster und eine vollkommen bescheuerte Idee ist.
    Habt ihr sonst vielleicht andere Ideen was ich stattdessen machen könnte?
    Oder sagt ihr vielleicht sogar, dass 6 Jahre Programmier-Erfahrung dafür nicht gut genug sind?
    Hier findet sich das Projekt, wie es momentan aussieht: http://pizza-sekte.de/cardgame/
    Auch einloggen ist möglich, ich habe aber noch keine Datenbank eingebunden, deswegen ist der Benutzername momentan nur dazu da, dass er angezeigt werden kann und das Passwort lautet "admin" (Ich weiß, es ist nicht sicher, aber das ganze befindet sich noch im Aufbau. Würde ich jetzt schon anfangen mit Datenbanken kann es später leicht zu Komplikationen kommen, so habe ich zu mindestens die Erfahrung gemacht). Um sich ein zu loggen muss man sich, auf Grund eines Fehlers im Code, momentan einmal links, in der Sidebar und dann noch mal in dem Popup-Fenster anmelden. Beides mal lautet das Passwort "admin" und der Benutzername ist beides mal irrelevant.


    Vielen Dank im Voraus!
    Und entschuldigt meine schlechte Rechtschreibung, ich bin Legastheniker..
    Cheers!

  • Zitat

    mit js einen "Server auf dem Server" (ich hoffe das ist verständlich, wie ich das meine)


    nicht ganz. Du sprichst davon, dass du serverseitig mit PHP programmierst, also gehe ich davon aus, dass dein Javascript client-seitig ist - korrekt?
    Javascript, das auf dem client ausgeführt wird, wird allerdings auch wirklich nur da ausgeführt, sprich wenn du mit dem Server kommunizieren willst brauchst du Ajax.
    Das kann man durchaus so machen.


    Client-to-client-Verbindungen nur im Web hört sich schwierig an, das ganze wird letztendlich ohne zusätzliche Software immer Client-Server-Client sein. Das sollte aber mit deinen Programmierkenntnissen ohne Probleme möglich sein, zumindest nach meiner Einschätzung. Mit reinem HTML5 natürlich nicht, Javascript und PHP wirst du schon brauchen.

  • Also, JS auf dem Server hört sich mMn wie NodeJS an.
    Und diese Client-zu-Client Sache geht auch schon via JS, allerdings braucht man dazu immer noch den Server als Mittelmann, der die Verbindung herstellt, sich dann aber ausklinkt.


    Trotzdem, um Daten zwischenzuspeichern ist wie schon gesagt, eine zentrale Instanz nötig, außer du willst deinen Freunden die Festplatten vollmüllen ;)


    Also, ich würde sagen, theoretisch ist die Technik dafür vorhanden, es lässt sich inzwischen so realisieren, aber frage mich bitte nicht nach dem WIE ;)

  • Ja, ich bin recht neu in dem Gebiet von Node.js und habe es versucht zum Laufen zu kriegen.
    Rhein von der Logik her habe ich es so verstanden, dass der Server und der Client in permanenter Verbindung stehen, also live Daten austauschen. Dazu muss das entsprechende Script auf dem Server wie auf dem Client gestartet werden und diese Scripte kommunizieren. Und genau das Starten des Scriptes auf dem Server mag mein Server überhaupt nicht. Oder habe ich vielleicht einfach etwas falsch verstanden? :wacko:

  • Du gibst uns leider sehr wenig Informationen - was genau funktioniert denn nicht?
    Startet der Node-Server gar nicht oder ist nur eine bestimmte Funktionalität nicht erreichbar? Wie lautet die Fehlermeldung? Was ist das für ein Skript, was ist das gewünschte Resultat? Wie ist dein Node-Server eingerichtet (pures node /mit Framework (z.B. Express o.Ä.))?
    Wenn du neu auf dem Gebiet von Node bist gehst du vermutlich nach einem oder mehreren Tutorials vor, bitte nenne uns diese auch damit wir uns orientieren können und dir nicht einen komplett anderen Lösungsansatz geben.


    Nachtrag: ich sehe gerade du verwendest zusätzlich noch PHP, wie ist da die Situation? Unterschiedliche Ports, Proxy Apache -> Node, Proxy Node -> Apache, ...?

  • Entschuldigung, ich bin nicht so häufig auf Foren :S
    Was nicht funktioniert ist recht leicht zu sagen, nämlich Garnichts. Ich bekomme den Node-Server nicht zum Laufen und die Tutorials die ich dazu gefunden hatte, lassen es relativ offen, ob ich ggf. mit dem Client erst den Server starte, oder ob ich ein Script brauche, was ich starte und ab dann ist der Node-Server offen oder, oder oder...
    Dem entsprechend bekomme ich auch keine Fehlermeldung, sondern einfach Garnichts..
    Um mal ein Beispiel zu nennen: Ich habe mittels einem der vielen Tutorials versucht einen Live-Chat zum laufen zu bekommen, was dabei raus kam, war, dass ich einfach keine Reaktion vom Node-Server bekam und ziemlich verloren war, weil ich alles genauso wie beschrieben gemacht habe.
    Und zu der Einrichtung kann ich leider auch nichts sagen, weil der auf Standard war, also ich habe da nichts dran verändert... Alle Tutorialsn die ich gefunden habe (für anfänger) waren da etwas "lückenreich"..
    Deswegen meine Frage, nur wie gesagt, bin ich komplett neu auf dem Gebiet.

  • Leider hast du immer noch nicht mehr Informationen geliefert als in deinem vorigen Post, dementsprechend frage ich jetzt nochmal:


    1. Ich hatte dich gebeten uns die Tutorials zu nennen, die du verwendest, bitte tu dies auch. Ein Satz ala "ich habe das versucht anhand eines Tutorials zu machen" bringt leider niemanden weiter - welche Tutorials genau? - Links bitte, und deinen Status innerhalb des jeweiligen Tutorials (wie weit bist du gekommen bis etwas nicht mehr funktioniert hat?)



    2. Du hast scheinbar einen Server gemietet, du sagst zwar, dass du nichts verändert hast, aber diese Aussage verrät uns leider nichts über die Konfiguration dieses Servers. Wenn du die nicht im Kopf hast, finde alle nötigen Informationen heraus und stelle sie uns zur Verfügung. Da du mit Node arbeitest ist da u.A. interessant:

    • hast du ein Admin-Panel in welchem du den Node-Server starten und konfigurieren kannst?
    • welches Betriebssystem läuft auf dem Server?
    • hast du Konsolenzugriff? kannst du eine Konsole bedienen?
    • welches Skript startet den Node-Server? (heißt i.d.R. app.js o.Ä.)
    • musst du den Server nach Änderungen neu starten oder gibt es einen Service der dir das abnimmt?
    • was hast du probiert um den Server zu starten? (detailliert - wenn du ein Skript ausführst die entsprechenden Konsolenbefehle die du eingegeben hast und den Inhalt des Skriptes [ggf. bei pastebin o.Ä. wenn das zu viel für hier ist], wenn du ein Admin-Panel hast bitte Screenshots und evtl. eine Anleitung des Panels)
    • läuft der Server mit einem Framework (z.B. Express) oder ohne?
    • sind irgendwelche zusätzlichen Dienste installiert die inteferieren könnten? (z.B. ein MongoDB-Prozess der nicht gestartet ist auf den der vorkonfigurierte Node-Server aber Zugriff benötigen könnte)
    • was läuft auf dem Server noch? Du benutzt bei dem Link den du im ersten Beitrag gepostet hast PHP, wie laufen Apache und Node-Server nebenbei? unterschiedliche Ports? Proxy?


    Du redest die ganze Zeit von Skripten die du probierst zu starten, stellst uns aber keinerlei Quellcode zu Verfügung, wie sollen wir dir da helfen? Wenn du Code verwendest und etwas nicht so funktioniert wie du es gerne hättest, dann teile uns diesen Code bitte mit, wir können nicht hellsehen. Die Konfiguration eines Node-Servers für einen Live-Chat ist mit Sicherheit nichts was jeder von uns hier jeden Tag macht. Wir können nur versuchen dir zu helfen, aber wenn du uns die nötigen Informationen nicht mitteilst können wir auch nichts machen.


    Du wirkst auf mich, als ob du in deinem Leben noch nie vorher was mit Node gemacht hättest. Da Node noch immer eine recht junge Technologie ist und sich rasant entwickelt, ist der Einstieg recht schwer. Du scheinst mir ein bisschen schnell vorzugehen, die Konfiguration eines Node-Servers macht man nicht mal einfach so wenn man vorher noch nie was damit gemacht hat. Tutorials sind schön und gut, aber helfen dir wenig wenn dir das Grundwissen fehlt.


    Die Konversation hat ein bisschen was von "ich bin zwar Neuling auf dem Gebiet, aber wie flieg ich denn nun das Flugzeug?" - "welches?" - "das mit den Flügeln". Kein Hintergrundwissen, aber mal machen wollen funktioniert in den wenigsten Fällen. Du solltest dir erstmal klar werden was du da überhaupt machst, und wenn du die Grundlagen verstanden hast kannst du vielleicht daran denken den Server für einen Live-Chat zu konfigurieren. Und wenn du uns die notwendigen Informationen bereitstellst helfen wir dir dann auch. Ich schreib dir ja nicht zum Spaß eine Liste, wenn du willst das wir dir helfen, beantworte bitte alle Punkte von oben (ein "das weiß ich nicht" zählt nicht - finde es raus, das sind alles Grundlagen die du eh wissen solltest bevor du auch nur daran denkst einen Server zu konfigurieren).

  • 1. Das Tutorial. Ich kann dazu wirklich kein konkretes Tutorial nennen. Ich habe eines gesucht, was mich begleitet und mir bei der Installation hilft, aber das habe ich nicht gefunden. Einige Tutorials die ich genutzt habe sind folgende:
    - http://frederic-hemberger.de/artikel/einfuehrung-in-node-js/
    - http://www.nodebeginner.org/
    - http://nodeschool.io/
    Das Problem ist, hier, dass ich es grundlegend alles hinbekomme, aber nicht auf meinen Server übertragen kann.


    2.

    • Ich habe ein Webinterface von Nitrado (weiß nicht ob man das ein Adminpanel nennen kann) aber ich kann den Node-Server auf dem Server NICHT starten. Node ist nicht auf dem Server vorhanden.
    • Linux Debain ist das Betriebssystem
    • Ich habe keinen Konsolenzugriff
    • Das Problem ist, dass ich einen Nitrado-Server habe und es den Anschein erweckt, als Ignoriere dieser Server jegliche x.js Dateien, ich weiß wirklich gar nicht wie ich den node.js-Server hier zum laufen bekommen sollte.
    • So weit bin ich mit node.js noch nicht gekommen!


    Mein Vermutung ist einfach, dass Node von Nitrado nicht unterstützt wird, weswegen ich auf Alternativen zu Node zurückgreifen wollte. Dabei sind es ganz simple Codes, sowas wie hier:
    http://pizza-sekte.de/cardgame/chat


    Das ist der Versuch mittels eines Tutorials einen Chat zu erstellen, ohne Node.
    Hier das Tutorial: http://www.techumber.com/2012/…nt-Events-And-PHP-V2.html wo sich auch sämtliche codes finden lassen.


    Und bis zu der Konfiguration des Nodes-Servers bin ich noch nicht gekommen, weil das Aufsetzten an sich schon nicht wirklich geklappt hat, dazu habe ich mir die Tutorials ja versucht an zu schauen. Das ist der Grund, weshalb ich versuchen wollte auf Node zu verzichten und wollte es ohne machen.. Ich glaube das war ein Missverständnis :whistling:

  • Gut, du hast zwar die wichtigste Frage "was hast du konkret probiert um den Node-Server zu starten" immer noch nicht beantwortet, aber nachdem was du geschrieben hast brauchst du das denke ich auch nicht mehr.
    Du sagst Node scheint nicht installiert zu sein und du hast keinen Konsolenzugriff - da liegt das Problem. Wolltest du einen Node-Server aufsetzen und starten, bräuchtest du Konsolenzugriff. Ich weiß ja nicht was du mit dem Code aus den Tutorials angestellt hast, aber aus dem Browser bekommst du definitiv keinen Server gestartet - logisch.


    Für dein Vorhaben sieht das letzte Tutorial was du gepostet hast doch ganz ordentlich aus - prinzipiell hast du dann PHP und Javascript die sich via AJAX irgendwie verbinden - ich weiß nicht wie fit du da bist, aber das scheint für dich eine Lösung zu sein?

  • Ich darf an dieser Stelle einen Mitarbeiter von Nitrado bezüglich Node zitieren:

    Zitat

    Ist vorerst nicht geplant da dies im shared Webhosting Bereich nicht all zu einfach umzusetzen ist, aus Sicherheitsgründen gesehen.


    Nitrado unterstützt clientseitiges JavaScript, wie man auf etwas anderes kommt ist mir rätselhaft.

    Das "Tutorial" für den Chat, welches du gepostet hast, ist kein Tutorial sondern eine "kopiere diesen Code, los!"-Seite, wenn du wirklich effektiv arbeiten möchtest interessiert dich eigentlich nur das Bild auf der Seite wo die Stichpunkte aufgeführt werden: HTML5, AJAX, PHP.
    Kurz: Lerne HTML, PHP und AJAX und all deine Probleme lösen sich in Luft auf.

  • HTML und PHP kann ich, das ist nicht das Problem, aber mit AJAX beschäftige ich mich zum ersten mal so richtig.
    Meine eigentliche Idee war, dass knapp 5 Leute gleichzeitig in "Realtime" mit einander spielen. Ich habe dazu aber nur die Info gefunden "am besten mit node.js". Node wir nun von Nitrado leider nicht Supportet. Das Clientseitige Javascripte unterstützt werden ist mir klar, ich brauche aber ein Serverseitiges Javascript und daran hacke ich momentan leider mit Nitrado..
    Und das "Tutorial", also der Link mit dem copy and paste - Quellcode war nur ein Beispiel. Das Problem dabei ist, es funktioniert nicht auf Nitrado.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!