PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Skript gesucht



LordDarkmage
01.05.05, 07:41
Hi Leute,

ich poste die Suche nach einem PHP-Skript hier, weil ich damit einen GameServer über Webinterface starten und stoppen will. Bevor ich mir das aber aufhalse das ggf. selbst zu machen wollte ich mal fragen, ob jemand sowas schon gemacht hat bzw weiss wo ich sowas finde.

Thx im Voraus

Euer LordDarkmage

Fisch.666
01.05.05, 15:37
Erst mal sollte man wissen was für Server Du starten willst. Ansonsten guckst Du hier:

http://www.linuxforen.de/forums/showthread.php?t=135735

bzw. such mal mit der Suchfunktion nach "Webinterface"...

LordDarkmage
01.05.05, 16:30
Eigentlich dreht es sich nur um Starten und Stoppen.

Hab auf meinem Dedi verschiedene Gameserver installiert und möchte die nach belieben an- und ausschalten. Ich kann ja schlecht alle gleichzeitig laufen lassen, dann würd die Kiste ja in die Knie gehen. Und da auch einige Freunde von mir auch ab und zu mal ohne mich spielen können sollen wäre eine Möglichkeit per Webinterface mal prima.

LordDarkmage
01.05.05, 17:10
Jut, ok Mädels...

Es ist soooo simpel, dass es schon fast wieder schwer ist :D
Für den, den es interessiert gilt folgendes.

Man lege im hlds-Verzeichnis eine Datei an, die da beispielsweise start.php heißt.
In diese kommt dann folgendes kleines Skript.


<?php
echo ' Starte CS1.6 ';
exec ('/home/of/my/hlds/server_start.sh');
?>
<br><br>
<?php

@$fp = fsockopen("192.168.1.253",27015,&$errno,&$errstr,2);
if(!$fp)
{
echo "<font color=ff0000>[off]</font>";
}
else
{
echo "<font color=00dd00>[ok]</font>";

}
@fclose($fp);
?>
Wenn man das dann gemacht hat muss man nurnoch die notwendigen Rechte für das hlds-Verzeichnis setzen. Zum testen kann man einfach ein chmod -R 777 hlds/ machen. ZUM TESTEN BITTE!!!! Später übergibt man das dem Apache, das dürfte/könnte reichen.

Als Ergänzung, weil man den Quark ja auch wieder stoppen will, nimmt man sich das schicke Skript zum Starten und Stoppen hier aus dem Forum. Dann legt man halt 2 PHPs an und führt die wahlweise dann aus.

Sö, viel Spaß :)

Euer LordDarkmage

LordDarkmage
01.05.05, 17:56
Ok, die Rechnung geht zumindest insoweit auf, dass man den Server starten kann. Mit dem Stoppen klappt´s irgendwie nicht. :confused: :confused:

Hab da im server_stop.sh folgendes drin stehen.

kill `ps aux | grep SCREEN | grep CS16 | cut -d" " -f 2 | awk -F . '{print $1}'| awk '{print $1}'`
Dann heißt es aber "no such pid".

rudi_m
01.05.05, 22:57
Wenn man das dann gemacht hat muss man nurnoch die notwendigen Rechte für das hlds-Verzeichnis setzen. Zum testen kann man einfach ein chmod -R 777 hlds/ machen. ZUM TESTEN BITTE!!!! Später übergibt man das dem Apache, das dürfte/könnte reichen.

Dann laeuft Dein sever aber als user unter dem auch apache lauft!
Wenn jemand Deinen apache hackt kann er moeglicherweise Deinen gameserver plattmachen und umgekehrt
Besser im script "su -c" benutzen und dem apache user per "/etc/sudoers" das noetige erlauben (man su, man sudo).
oder Du benutzt das SUID bit
oder du loest das ueber wenigstens ueber eine gruppe.
Auf keinen fall wuerde ich aber die Rechte auf 777 setzen!


kill `ps aux | grep SCREEN | grep CS16 | cut -d" " -f 2 | awk -F . '{print $1}'| awk '{print $1}'`
Dann heißt es aber "no such pid"

Was gibt denn
ps aux | grep SCREEN | grep CS16 | cut -d" " -f 2 | awk -F . '{print $1}'| awk '{print $1}'
aus wenn der Server laeuft? Vielleicht musst Du das bei Dir ein bisschen anpassen.

Ich mag es eigentlich sowieso nicht per grep und co. die PID herauszufiltern.
Besser beim starten die PID merken und in einem file speichern
oder startproc/killproc verwenden