Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Azasel

unregistriert

1

01.07.2017, 16:16

Einen Server einrichten in Linux

Guten Tag,

ich möchte auf meinem mit Linux Mint ausgestatteten Computer einen Server laufen lassen.
Leider habe ich absolut noch keine Erfahrungen in diesem Bereich.
Auf der Suche nach nützlichen Quellen über Server habe ich bisher nur meine Zeit verschwendet, liegt wahrscheinlich daran, dass ich zu Inkompetent bin, um das Richtige zu finden.
Ich hoffe hier auf einen Erfahrenen Netzwerkspeziallisten oder Serveradministrator zu stoßen, der mich bei dieser Angelegenheit etwas Aufklären kann.

Ich schildere einfach mal, was ich mit einem Server überhaupt anstellen möchte.

Zitat

- Ein kleines Online Browser-Spiel in Form eines HTML 5 Dokuments hosten( nennt man das so ?( )
- Eingaben vom Benutzer empfangen und daraufhin auf meinem Rechner verarbeiten.
- Dem Benutzer in sehr kurzen Intervallen (ca. 100ms) Spieldaten senden (Ihr wisst hoffentlich was damit gemeint ist).


Falls irgend etwas unklar ist, fragt bitte.

Ich möchte mir nicht von mehreren Serverprogrammen einen aussuchen, nein, ich möchte genau erörtert haben, welcher für mein Vorhaben der Richtige ist, gerne auch über Links.
Muss ich mich hierfür mit Php oder Nodejs auseinander setzten?
Brauche ich eine Datenbank?

Danke schonmal ^^

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

01.07.2017, 19:09

Muss ich mich hierfür mit Php oder Nodejs auseinander setzten?
Um Daten zu verarbeite oder in regelmäßigen Abständen zu senden, wäre das wohl notwendig.

Brauche ich eine Datenbank?
Wenn du Daten speichern willst, wäre das zu empfehlen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Azasel

unregistriert

3

01.07.2017, 22:40

Ein Webserver ist erstmal nur zur für HTTP Requests zuständig, also bei Linux ist das der Apache/Apache2/httpd, eine version davon ist bei MINT schon dabei.
Starten kannst du den mit z.B.

sudo service apache2 start

Dann kannst du auf dem standard Port (80) also einfach schon einmal statischen HTML Content ausliefern, indem du über die IP auf den Server gehst.
Der Ordner für den ausgelieferten Content findest du normalerweise unter "/var/www/"

Habe ich gemacht, aber ich kann die Seite (z.B. mit meinem Smartphone) nur aufrufen, wenn ich mit dem selben Router vebunden bin.
Ich möchte aber, dass auch andere Personen, die nicht bei mir wohnen, darauf zugreifen können.
Bei "Canyouseeme.org" habe ich meine Router IP erfahren, aber das nützt mir irgendwie auch nichts.
Wie kann ich das Regeln (natürlich erstmal Kostenlos) ?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

01.07.2017, 23:53

Wenn der Server bei dir zuhause steht und er von außen erreichbar sein soll, dann musst du in deinem Router einen Port (üblicherweise den HTTP-Port (80)) auf den Server forwarden. Such mal in der Benutzeroberfläche deines Routers nach Port Forwarding oder Port-Weiterleitung. Anschließend können Leute von außen über http://deine.aktuelle.ip.adresse den Server erreichen. Beachte, dass sich die IP-Adresse je nach Provider mehr oder weniger häufig ändert. Wenn du trotzdem immer über dieselbe Adresse erreichbar sein willst, dann solltest du einen (kostenlosen) Dynamic DNS einrichten, dafür gibt es viele verschiedene Anbieter. Viele Router unterstützen das ebenfalls und sagen dem Anbieter jedes Mal Bescheid, wenn sich die IP-Adresse geändert hat.

Azasel

unregistriert

5

02.07.2017, 11:21

Beachte, dass sich die IP-Adresse je nach Provider mehr oder weniger häufig ändert.
Meine IP von gestern ist heute immer noch die selbe, dachte die wechselt jede 24 Stunden um 0 Uhr?

Such mal in der Benutzeroberfläche deines Routers nach Port Forwarding oder Port-Weiterleitung. Anschließend können Leute von außen über http://deine.aktuelle.ip.adresse den Server erreichen.
Das hat gut funktioniert (Ich nutze den Telekom Speedport), aber wie sicher ist das ganze?

Zitat

Hinweis: Beachten Sie, dass der Datenverkehr über freigeschaltete Ports nicht von der Router-Firewall kontrolliert wird. Nutzen Sie eine Software-Firewall auf den entsprechenden Computern.
Muss ich mir da Sorgen machen oder kann mein Computer später einmal dadurch gehackt werden?
Was muss ich machen um auf der sicheren Seite zu sein?

Das zur Umleitung,
Zitat von »Azasel«

Zitat

Brauche ich eine Datenbank?


Wenn du Daten speichern willst, wäre das zu empfehlen.
Ich möchte nun ein Highscoore Feature in meine HTML Seite einbauen, die Seite soll dann aus meinem Server vor dem aufrufen die Highscoore Daten mitnehmen, ich glaube nicht, das Javascript bzw. HTML so etwas unterstützt. Brauche ich für dieses kleine Vorhaben unbedingt eine MySQL Datenbank?
Ich stelle mir das ganze so vor, dass ich eine .txt Datei auf meinem Server liegen habe und der Apache Server die Daten aus der Textdatei einliest und in die HTML Datei einbindet.
Umgekehrt sendet die geladene HTML Seite auf dem Client die Scoore Daten nach beenden des Spiels an meinem Server und der Server packt diese Zeichenkette in die Textdatei von meinem Server. Aber ich schätze mal, so einfach ist das nicht, also wie oder bzw. mit was stelle ich das an?
(Vermutlich geht das nur mit einer Datenbank wie MySQL und Php?)

H5::

Treue Seele

Beiträge: 368

Wohnort: Kiel

  • Private Nachricht senden

6

02.07.2017, 12:08

Muss ich mir da Sorgen machen oder kann mein Computer später einmal dadurch gehackt werden?
Was muss ich machen um auf der sicheren Seite zu sein?
Jeder von außen erreichbare Port kann ein Sicherheitsrisiko darstellen. Du solltest aufpassen was an diesem Port für ein Service läuft und welche Funktionen dieser bietet. Ich würde dir raten so etwas nicht zu tun, solltest du fehler machen könnte so wirklich jemand auf dein System Zugriff bekommen. Wenn überhaupt würde ich dir empfehlen nur einen Port in eine VM oder ein separates System zu öffnen. Dies wäre jetzt aber etwas viel für dich am Anfang. Solltest du wirklich diesen offenen Port brachen, würde ich ihn danach sofort wieder schließen.

(Vermutlich geht das nur mit einer Datenbank wie MySQL und Php?)
Für so etwas benötigst du keine Datenbank, php wie auch node können normale Dateioperationen ausführen. Ich will keinen Sprachenkrieg auslösen, ich rate dir aber zu node, da musst du dich nicht mit apache befassen und auch keine neue Sprache wie php lernen. Du kannst dich dann erst einmal nur auf js konzentrieren.
:love: := Go;

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

7

02.07.2017, 12:11

Wenn du den Webserver nicht richtig absicherst, kann er natürlich gehackt werden. Und von dort aus könnte theoretisch auch dein PC bzw. alle anderen Geräte im lokalen Netzwerk gehackt werden.
Solange du nur den Port 80 weiterleitest, den Server mit aktueller Software betreibst, regelmäßig Sicherheitsupdates einspielst und dein Spiel auf dem Server frei von Sicherheitslücken hältst, solltest du einigermaßen sicher sein. Aber man weiß nie ...

Nimelrian

Alter Hase

Beiträge: 1 216

Beruf: Softwareentwickler (aktuell Web/Node); Freiberuflicher Google Proxy

  • Private Nachricht senden

8

02.07.2017, 12:19

Da sein Heimrechner ja mit Mint läuft würde ich dazu raten, den Apache einfach in einem Docker Container laufen zu lassen. Ist einfach und schafft schonmal eine erste Schutzhülle.
Ich bin kein UserSideGoogleProxy. Und nein, dieses Forum ist kein UserSideGoogleProxyAbstractFactorySingleton.

Azasel

unregistriert

9

02.07.2017, 12:29

und dein Spiel auf dem Server frei von Sicherheitslücken hältst
Kannst du mir dafür bitte ein Beispiel nennen, denn ich kann mir nicht im geringsten Vorstellen, wie das gehen soll, oder entsteht das Problem erst, wenn ich PHP mit einbinde? Dann erklärt sich das.

Und von dort aus könnte theoretisch auch dein PC bzw. alle anderen Geräte im lokalen Netzwerk gehackt werden.
Kann das auch passieren, wenn ich den Webserver auf einer VM laufen lasse?


Aber so wie ich die Informationen hier aufgenommen habe, lasse ich besser erst mal keinen Webserver auf meinem Rechner laufen.

Wenn ich mir eine Lektüre über PHP (oder nodejs) besorge, wird dann auf das alles eingegangen?
Ich möchte nämlich bald loslegen (Mit einem Webserver) und brauche dazu noch eine Menge Stoff, was die Funktionsweise und die Sicherheit angeht.

Nimelrian

Alter Hase

Beiträge: 1 216

Beruf: Softwareentwickler (aktuell Web/Node); Freiberuflicher Google Proxy

  • Private Nachricht senden

10

02.07.2017, 12:41

Wenn ich mir eine Lektüre über PHP (oder nodejs) besorge, wird dann auf das alles eingegangen?

Zum Absichern des Codes, ja (hoffentlich), aber nicht unbedingt zum Absichern des Servers.
Ich bin kein UserSideGoogleProxy. Und nein, dieses Forum ist kein UserSideGoogleProxyAbstractFactorySingleton.

Werbeanzeige