ok kurz und bündig
Apache 1.3.28 inkl php 4.3.3 und mysql 4.0.15 voll funktionsfähig
kopieren der serverdateien in ein extra verzeichnis funktioniert über webbrowser wenn man nen neuen user und server über wi ertsellt. rechte werden auf den user des webservergesetzt also wwwrun.
nun gibts folgendes und zwar haben wir drei dateien um den server zustarten. 1 php und 2 shell scripte
inhalt der php (serverstart.php) :
inhalt des 1. shell scripts (phpstart)
#!/bin/sh
startproc -u wwwrun -e -l /homedir/game/server.log /homedir/game/startscript
inhalt des 2. shell scripts (startscript)
#!/bin/sh
echo "`date`: server start" >> /homedir/game/server.log
/homedir/game/xxx +set dedicated 2 +set net_port 40xxx +set fs_basepath /homedir/game/xgame +set fs_game xxxx +set sv_pure 1 +map xxxx
echo "`date`: server stop" >> /homedir/game/server.log
das funktioniert soweit auch ABER nur über ssh mit "php serverstart.php"
wenn man es über webbrowser ausführt erstellt er zwar das logfile (server.log) im "/homedir/game/" startet aber das programm/spiel nicht. warum weshalb wissen wir nicht. habt ihr paar tips. vorallem wie wir das hinbekommen? ist shell_exec das falsche commando? etc wäre für jeden tip dankbar.
ps: shell_exec funktioniert uptime/ps a/cp comandos können wir als php ausführen und ausgeben
psps: der user hat als bin - /bin/false eventuell liegt da das prob das er startproc garnicht kennt. aber wo muss ich es dann hinkopieren damit ers kennt.
thnx schonmal für eure bemühungen
mfg
.... EDIT![Smilie](https://www.php-resource.de/forum/core/images/smilies/smile.gif)
läufts jetzt muahaha selbst ist der man zwar umständlich aber es läuft hehe nach 12 studnen fummeln.
für alle dies interresiert hier meine lösung ist zwar noch nicht die schönste aber der et server rennt![Smilie](https://www.php-resource.de/forum/core/images/smilies/smile.gif)
Es sind jetzt 2 phpseiten und 2 shellscripts
/pfad/zum/game zu ersetzen durch den pfad zu euren game ordner
startweb.php gehört in den webordner
startserver.php in den homedir-ordner
die zwei shellscriptsgehören auch ins homedir des spieles
Inhalt startweb.php:
Inhalt startserver.php:
Inhalt 1 shellscript phpstart
#!/bin/sh
cd /pfad/zum/game
startproc -u wwwrun -e -l /pfad/zum/game/server.log /pfad/zum/game/startscript
Inhalt 2 shellscript startscript
#!/bin/sh
echo "`date`: server start" >> /pfad/zum/game/server.log
declare -x HOME='/pfad/zum/game'
cd /pfad/zum/game
/pfad/zum/game/xxxded +set dedicated 2 +set net_port 45000 +set fs_basepath /pfad/zum/game/ +set fs_game xxxx +set sv_pure 1 +map xxxx +exec server.cfg
viel spass beim basteln mann könnte jetzt natürlich noch die pid per php in die mysql db schreiben und sie beim kill script so immer zur hand haben aber alles verraten will ich ja auch nicht![Smilie](https://www.php-resource.de/forum/core/images/smilies/smile.gif)
Apache 1.3.28 inkl php 4.3.3 und mysql 4.0.15 voll funktionsfähig
kopieren der serverdateien in ein extra verzeichnis funktioniert über webbrowser wenn man nen neuen user und server über wi ertsellt. rechte werden auf den user des webservergesetzt also wwwrun.
nun gibts folgendes und zwar haben wir drei dateien um den server zustarten. 1 php und 2 shell scripte
inhalt der php (serverstart.php) :
PHP-Code:
<?
shell_exec("sh homedir/game/phpstart");
?>
inhalt des 1. shell scripts (phpstart)
#!/bin/sh
startproc -u wwwrun -e -l /homedir/game/server.log /homedir/game/startscript
inhalt des 2. shell scripts (startscript)
#!/bin/sh
echo "`date`: server start" >> /homedir/game/server.log
/homedir/game/xxx +set dedicated 2 +set net_port 40xxx +set fs_basepath /homedir/game/xgame +set fs_game xxxx +set sv_pure 1 +map xxxx
echo "`date`: server stop" >> /homedir/game/server.log
das funktioniert soweit auch ABER nur über ssh mit "php serverstart.php"
wenn man es über webbrowser ausführt erstellt er zwar das logfile (server.log) im "/homedir/game/" startet aber das programm/spiel nicht. warum weshalb wissen wir nicht. habt ihr paar tips. vorallem wie wir das hinbekommen? ist shell_exec das falsche commando? etc wäre für jeden tip dankbar.
ps: shell_exec funktioniert uptime/ps a/cp comandos können wir als php ausführen und ausgeben
psps: der user hat als bin - /bin/false eventuell liegt da das prob das er startproc garnicht kennt. aber wo muss ich es dann hinkopieren damit ers kennt.
thnx schonmal für eure bemühungen
mfg
.... EDIT
![Smilie](https://www.php-resource.de/forum/core/images/smilies/smile.gif)
läufts jetzt muahaha selbst ist der man zwar umständlich aber es läuft hehe nach 12 studnen fummeln.
für alle dies interresiert hier meine lösung ist zwar noch nicht die schönste aber der et server rennt
![Smilie](https://www.php-resource.de/forum/core/images/smilies/smile.gif)
Es sind jetzt 2 phpseiten und 2 shellscripts
/pfad/zum/game zu ersetzen durch den pfad zu euren game ordner
startweb.php gehört in den webordner
startserver.php in den homedir-ordner
die zwei shellscriptsgehören auch ins homedir des spieles
Inhalt startweb.php:
PHP-Code:
<? shell_exec("php /pfad/zum/game/startserver.php"); ?>
PHP-Code:
<? shell_exec("sh /pfad/zum/game/phpstart");?>
#!/bin/sh
cd /pfad/zum/game
startproc -u wwwrun -e -l /pfad/zum/game/server.log /pfad/zum/game/startscript
Inhalt 2 shellscript startscript
#!/bin/sh
echo "`date`: server start" >> /pfad/zum/game/server.log
declare -x HOME='/pfad/zum/game'
cd /pfad/zum/game
/pfad/zum/game/xxxded +set dedicated 2 +set net_port 45000 +set fs_basepath /pfad/zum/game/ +set fs_game xxxx +set sv_pure 1 +map xxxx +exec server.cfg
viel spass beim basteln mann könnte jetzt natürlich noch die pid per php in die mysql db schreiben und sie beim kill script so immer zur hand haben aber alles verraten will ich ja auch nicht
![Smilie](https://www.php-resource.de/forum/core/images/smilies/smile.gif)