interface

Gameserver und Clan-Zubehör
Post Reply
Swordfish1986
Posts: 11
Joined: 2011-08-19 06:51
 

interface

Post by Swordfish1986 »

hallo

ich habe mal wider eine kurze frage

ich möchte gerne eine art server steuer seite erstellen start stop und restart scripte habe ich schon drin die ich aber nur über putty ansteuern kann

könnte mir jemand bitte erklären wie ich einen knopf auf meiner homepage dazu bringen kann diese scripte auszuführen

vielen dank im voraus
User avatar
rudelgurke
Posts: 409
Joined: 2008-03-12 05:36
 

Re: interface

Post by rudelgurke »

Per PHP mit exec()

Eine andere Alternative, wenn es nur um start / stop / restart geht wäre vielleicht Monit - bringt genau dass mit was benötigt wird und noch etwas mehr.
Last edited by rudelgurke on 2011-09-25 17:46, edited 1 time in total.
Swordfish1986
Posts: 11
Joined: 2011-08-19 06:51
 

Re: interface

Post by Swordfish1986 »

habs mir jetzt mal bisl angeschaut und getestst so nicht schlecht aber ich möchte etwas eigennes haben

weis jemand wie eine php oder ähnliches aussehen muss um über meine hp die start stop befehle auf dem rootserver zu steuern
ddm3ve
Moderator
Moderator
Posts: 1237
Joined: 2011-07-04 10:56
 

Re: interface

Post by ddm3ve »

Mmmmmh, also ganz ehrlich, wenn der code nicht 100% sauber und sicher geschrieben ist, dann nutzt ein gewiefter Angreifer gezielt Deine php Seite mit eingebundenem exec um das zu machen, was er will aber nicht du.

Ergo, lass es und nutze etwas, was sich etabliert hat.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
Swordfish1986
Posts: 11
Joined: 2011-08-19 06:51
 

Re: interface

Post by Swordfish1986 »

ich habe jetzt auf meinen root server 4 minecraft server laufen ich möchte aber nicht für jeden immer nur ausführen ich habe noch mein eigenes leben :D wie kann ich dafür sorgen das die ihren server selbst starten und stoppen können ohne mich zu belästigen?

habt ihr da eine idee

die großen server anbieter machendoch nix anders die startenund stoppen auchüber eine hp was ist dort anders?
User avatar
rudelgurke
Posts: 409
Joined: 2008-03-12 05:36
 

Re: interface

Post by rudelgurke »

Entweder per PHP Systemcalls zulassen - vielleicht keine gute Idee - oder als Alternative vielleicht ein schlankes Monitoring-System aufsetzen.
Monit vielleicht - 4 Instanzen die jeweils nur die Minecraft Server überwachen.
Gibt vielleicht noch andere Lösungen die in eine ähnliche Richtung gehen.
ddm3ve
Moderator
Moderator
Posts: 1237
Joined: 2011-07-04 10:56
 

Re: interface

Post by ddm3ve »

Kleines Interface.
Z.B. das Script darf lediglich per http Request eine Steuer / Flagdatei anlegen z.B.

/var/www/meindedomain/restart.srv1

Ein Cronjob prüft im Minutentakt ob eine entsprechende Datei existiert und startet den Server neu.
Damit lässt sich ein potentieller schaden recht schnell eingrenzen.

Übrigens machen es die meisten anderen Anwendungen so ähnlich.
Sie nutzen eine Datenbank, schreien dort die Änderungen rein und dieses wird durch einen eigenen cronjobund Scripte in die Dateien etc. übernommen.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
User avatar
tas2580
Posts: 7
Joined: 2005-07-04 15:40
Location: Stuttgart
Contact:
 

Re: interface

Post by tas2580 »

Ich hatte das gleiche Problem auch und habe am Anfang auch mit exec von PHP aus gearbeitet. Das hat aber neben dem Sicherheitstechnischen Nachteil (PHP Safe Mode aus) auch den Nachteil das Webserver und Gameserver die gleiche Maschine sein müssen.

Also habe ich das ganze umgebaut, auf dem Gameserver läuft jetzt ein kleines Perl-Script das auf einem Port horcht, das Webinterface öffnet auf dem Port dann einen Socket und sendet seine Befehle.
Den groben Code habe ich hier veröffentlicht. Ich habe das ganze dann noch mit Passwortabfrage erweitert und lasse nur die IP des Webservers zu damit nicht jeder der den Port kennt den Server starten oder stoppen kann.

Da sämtliche Befehle im Perl-Script hardcoded sind gibt es jetzt keine Sicherheitsprobleme mehr, selbst wenn jemand das Passwort errät bringt das nichts da er die IP des Webservers braucht um überhaupt was zu erreichen und wenn jemand den Webserver hackt kann er maximal den Gameserver starten und stoppen. Befehle ausführen wie bei der PHP exec Lösung ist so nicht möglich.

Gruß Tobi
Post Reply