Wieviele ftp-Accounts brauche ich?

Django, Flask, Bottle, WSGI, CGI…
Antworten
Benutzeravatar
Goswin
User
Beiträge: 361
Registriert: Freitag 8. Dezember 2006, 11:47
Wohnort: Ulm-Böfingen

Montag 20. November 2017, 17:09

Ich möchte ein Spiel (Abwandlung von http://www.clozemaster.com) implementieren, dass über den Webbrowser aufgerufen wird und von Daten Gebrauch macht, die auf einem Webserver gespeichert sind, beziehungsweise dynamisch gespeichert werden. Als Webserver gedachte ich, http://www.bplaced.net zu nehmen und weiß nicht, ob ich mich für die Option mit (8_ftp-Accounts & 1Gb-Speicher) oder für die mit (2_ftp-Accounts & 2Gb-Speicher) entscheiden soll. Ich kenne XHTML, habe aber noch nie eine dynamische Website gebaut und weiß genau genommen nicht einmal, was ein ftp-Account ist.

Verschiedene Spieler des Spiels sollen sich registrieren und gleichzeitig anmelden können; der Fortschritt eines Spielers bleibt auf dem Server gespeichert, solange der Spieler diesen nicht ausdrücklich löscht. Im Spiel gibt es nur wenig bewegliche und keinerlei dreidimensionalen Grafiken, da sollte die Geschwindigkeit (so hoffe ich) nicht allzu kritisch sein. Die Spieler spielen gegen den Rechner und nicht gegenqeinqander; die einzige Interaktion der verschiedenen Spieler besteht darin, dass jeder den Fortschritt der anderen sehen kann, und irgendwo Kommentare posten kann, die für alle sichtbar sind. Ich glaube, dass sich nie mehr als 100_Spieler gleichzeitig anmelden würden. Administrator werde fürs erste ich allein sein müssen.

Wieviele ftp-Accounts brauche ich nun dafür? Oder ist bplaced vielleicht ganz ungeqeignet?
Benutzeravatar
noisefloor
User
Beiträge: 2475
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Montag 20. November 2017, 17:23

Hallo,

gar keine, weil: die Daten werden für sowas nicht über FTP getausch. FTP steht für "file transfer protocol" und dient zum Laden / Speichern von ganzen Dateien.

Im Falle eines Browser-Spiels werden die Daten in der Regel via AJAX in Form von JSON oder XML ausgetauscht. Auf dem Server musst du die entsprechende Schnittstelle implementieren (was nicht schwierig ist), welche wiederum die Daten von einer lokal auf dem Server laufenden Datenbank zieht. So wäre jedenfalls das gängige Vorgehen.

Gruß, noisefloor
Sirius3
User
Beiträge: 8428
Registriert: Sonntag 21. Oktober 2012, 17:20

Montag 20. November 2017, 20:11

@Goswin: bplaced kann nur PHP. Wolltest Du nicht Python benutzen?
Benutzeravatar
Goswin
User
Beiträge: 361
Registriert: Freitag 8. Dezember 2006, 11:47
Wohnort: Ulm-Böfingen

Dienstag 21. November 2017, 00:34

noisefloor hat geschrieben:Daten werden für sowas nicht über FTP getauscht. FTP steht für "file transfer protocol" und dient zum Laden / Speichern von ganzen Dateien.
Im Falle eines Browser-Spiels werden die Daten in der Regel via AJAX in Form von JSON oder XML ausgetauscht.
Danke für den Hinweis; ich werde mich über AJAX kundig machen. Aber damit, dass ich gar kein FTP brauche hast du wohl gemeint, dass die Spieler kein FTP brauchen, um mit dem Server zu kommunizieren; ich als Administrator werde hin und wieder Dateien mit Code und mit Textdaten auf dem Server ablegen müssen; da würde ich deiner Info zufolge doch mindestens ein FTP brauchen.

Sirius3 hat geschrieben:bplaced kann nur PHP. Wolltest Du nicht Python benutzen?
Ich ziehe natürlich immer eine bekannte Sprache wie Python3 anstelle von einer mir ganz unbekannten wie PHP vor. Anderseits versuche ich, möglichst flexibel zu sein, und wäre auch bereit, PHP zu lernen, falls das eine deutlich bessere Alternative ist.

Ich wusste nicht, dass bplaced nur PHP kann. Kannst du kostengünstige Alternativen zu bplaced empfehlen, welche Python3 können?
Benutzeravatar
noisefloor
User
Beiträge: 2475
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Dienstag 21. November 2017, 06:39

Hallo,

richtig, die Spieler brauchen kein FTP. Als Admin brauchst du es auch nicht unbedingt, weil man in der Regel den Datentransfer abgesichert über ssh (scp oder sftp) macht. Wobei FTP standardmäßig normalerweise dabei ist.

IMHO brauchst du keine klassischen Webserver, sondern eher einen "richtigen" Server, auf dem dann dein (in Python geschriebener) Applikationsserver und deine DB läuft. Ein guter Tipp ist immer uberspace.de, die haben "managed server", ein flexibles Preismodell und eine sehr umfassende Doku. Alternativ könntest du auch eine Server in der Cloud nehmen, z.B. bei Amazon oder einem von den anderen Anbieter. Am Anfang solltest du da noch kostenlos hinkommen, weil du am Anfang wahrscheinlich wenig Traffic und DB-Zugriffe hast. Falls er mehr wird muss man halt mal schauen, was es da kostet.

Gruß, noisefloor
Benutzeravatar
pixewakb
User
Beiträge: 1085
Registriert: Sonntag 24. April 2011, 19:43

Mittwoch 22. November 2017, 19:15

Ich sage das ungern, aber im Moment sieht es nicht danach aus, dass du Webspace schon nutzen kannst.

Die von dir anvisierten Angebote sehen kostenlos aus, was m. E. in deinem Falll sehr großen Sinn macht.

Meine Zugabe: Für php gibt es XAMPP (musst du mal googlen), wodurch du einen Apache-Server auf deiner Festplatte betreiben kannst. Das hat für dich den Vorteil, dass du Dateien direkt auf der Festplatte bearbeiten kannst, kurz speicherst und das Ergebnis mit einem Aktualisieren im Broser direkt sehen (!) kannst. Gehst du den Umweg über einen Webspace, dann musst du erst hochladen und dein Projekt ist weltweit öffentlich und weltweit öffentlich findet auch deine Fehlersuche statt.

Für Python würde ich Flask nehmen, womit du auch erst einmal auf dem heimischen Rechner entwickeln kannst, was deine Entwicklungsgeschwindigkeit erhöht.

Ich merke an, dass - egal ob Python oder php - du nicht um CSS3 und JavaScript herumkommen kannst. Wenn du mich fragst, dann wirst du ein js-Framework brauchen, wenn du professionell etwas machen willst, was andere nutzen sollen.

Ich selbst habe mit Webanwendungen wenig bis keine Erfahrung. Auf Basis meiner Erfahrungen kann ich dir aber sagen, dass es weit aufwendiger ist, als du es dir m. E. momentan vorstellst.
Benutzeravatar
noisefloor
User
Beiträge: 2475
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Mittwoch 22. November 2017, 19:53

Hallo,
Für php gibt es XAMPP (musst du mal googlen), wodurch du einen Apache-Server auf deiner Festplatte betreiben kannst.
??? - wo ist denn da der Zusammenhang zur ursprünglichen Frage bzw. in wie fern soll das in irgendeiner Form relevant für die Entscheidungsfindung sein?

Außerdem: PHP in einem Python-Forum zu erwähnen ist genau so, wie einen Mett-Igel auf eine Veggie-Party mit bringen - unpassend :D

Wenn der Serverteil in Python implementiert ist, dann braucht man auch nicht wirklich Apache, sondern in erster Instanz einen WSGI-Applikationsserver wie Gunicorn (oder uwsgi). Da kann man dann noch nginx als Reverse-Proxy vorschalten und nginx kann dann auch direkt die statischen Inhalte ausliefern.
Für Python würde ich Flask nehmen, womit du auch erst einmal auf dem heimischen Rechner entwickeln kannst, was deine Entwicklungsgeschwindigkeit erhöht.
Gegenfrage: mit welchem Python-Webframework geht das denn nicht? Ich würde mal behaupten, dass alle Frameworks problemlos laufen können, in so fern ist das IMHO kein Punkt für die Entscheidungsfindung.

Gruß, noisefloor
Benutzeravatar
pixewakb
User
Beiträge: 1085
Registriert: Sonntag 24. April 2011, 19:43

Mittwoch 22. November 2017, 21:45

Zum Thema php:
Sirius3 hat geschrieben:bplaced kann nur PHP. Wolltest Du nicht Python benutzen?
Ich ziehe natürlich immer eine bekannte Sprache wie Python3 anstelle von einer mir ganz unbekannten wie PHP vor. Anderseits versuche ich, möglichst flexibel zu sein, und wäre auch bereit, PHP zu lernen, falls das eine deutlich bessere Alternative ist.[/quote]

Mir ging es darum Alternativen zu einem Start mit einem Webspace aufzuzeigen. Ich sage nicht, dass Webspace schlecht ist, aber entwickeln auf dem heimischen PC erscheint mir durchaus erfolgversprechender, weil man in der Entwicklung das Hochladen von Dateien auf den Server spart. That's it.
Benutzeravatar
Goswin
User
Beiträge: 361
Registriert: Freitag 8. Dezember 2006, 11:47
Wohnort: Ulm-Böfingen

Mittwoch 22. November 2017, 23:20

pixewakb hat geschrieben:Ich sage das ungern, aber im Moment sieht es nicht danach aus, dass du Webspace schon nutzen kannst.
Wann dann? :wink:
pixewakb hat geschrieben:Die von dir anvisierten Angebote sehen kostenlos aus, was m. E. in deinem Falll sehr großen Sinn macht.
Uberspace, welches ich gerade jetzt erst kennenlerne, ist ja auch gewissermaßen kostenlos. Anderseits wäre ich durchaus bereit, 5_Euro monatlich zu zahlen. Und auf Uberspace habe ich (hoffentlich) immer noch die Wahl, entweder Python3 (und nicht etwa Python2) oder PHP zu benutzen.
pixewakb hat geschrieben:Gehst du den Umweg über einen Webspace, dann musst du erst hochladen und dein Projekt ist weltweit öffentlich und weltweit öffentlich findet auch deine Fehlersuche statt.
Wie ich beobachte, gibt es etliche Websites, wo man nur über ein Kennwort hineinkommt. Wieso ist der Inhalt dann weltweit öffentlich?
pixewakb hat geschrieben:Wenn du mich fragst, dann wirst du ein js-Framework brauchen, wenn du professionell etwas machen willst, was andere nutzen sollen.
Vielleicht hätte ich das erwähnen sollen, aber der Webort muss nicht professionell aussehen (womit du vermutlich "besonders schick" meinst), sondern er muss effizient funktionieren. Geld ist damit (meines Erachtens) sowieso nicht zu machen; die Interessensgruppe existiert bereits und wird sich kaum wesentlich vergrößern.
Benutzeravatar
pixewakb
User
Beiträge: 1085
Registriert: Sonntag 24. April 2011, 19:43

Donnerstag 23. November 2017, 08:06

Goswin hat geschrieben:Wie ich beobachte, gibt es etliche Websites, wo man nur über ein Kennwort hineinkommt. Wieso ist der Inhalt dann weltweit öffentlich?
Musst du überlegen, ob du so entwickeln willst: Entwickeln, per ftp hochladen, dann die Webseite aufrufen, Passwort eingeben und einloggen, schauen, ob etwas nicht läuft, Fehlersuche, Fehlerkorrektur und wieder von vorn anfangen. I. d. R. sind Fehler nicht so groß, sondern es finden sich viele kleine Fehler. Das ist ein mühsamer Prozess, wenn du direkt über einen Webspace arbeiten willst.

Ein produktiv einsetzbares Ergebnis hochladen, finde ich sinnvoll, aber für die Entwicklung würde ich lokal arbeiten.

Mein Eindruck ist, dass das dein erstes Webprojekt ist (dir sagt ftp z. B. nicht viel), folglich meine Empfehlung(en). Sorry.
DasIch
User
Beiträge: 2465
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Donnerstag 23. November 2017, 22:43

Goswin hat geschrieben:
pixewakb hat geschrieben:Gehst du den Umweg über einen Webspace, dann musst du erst hochladen und dein Projekt ist weltweit öffentlich und weltweit öffentlich findet auch deine Fehlersuche statt.
Wie ich beobachte, gibt es etliche Websites, wo man nur über ein Kennwort hineinkommt. Wieso ist der Inhalt dann weltweit öffentlich?
Öffentlich = Deine Webseite (und so eine Kennworteingabe gehört hinzu) ist über das Internet erreichbar.

Das ist problematisch weil es eine ganze Reihe von, für die Entwicklung einer Web Anwendungen, sehr praktischen Dingen gibt die alle unsicher sind. Beispiele sind Debugger die im Brower laufen, abschalten von Authentication, CSRF Absicherung usw.
Antworten