Guten Abend,
zu meinem Problem, die Eingabe an sich funktioniert, aber nicht die Ausgabe.
Bei der Installation eines Gameserver über das Web wäre es schön wenn man die Ausgabe in "Echtzeit" erhält.
Am besten wie bei Webmin, bei der "Befehls-Shell" oder nach dem Aktualisieren der Pakete.
Ist es möglich irgendwie mittels Javascript / Ajax / Perl so etwas zu realisieren, wenn ja, wie?
Hier der aktuelle Code:
Alles anzeigen
Folgendes wird in der .sh ausgeführt:
Alles anzeigen
Die klasse ist von folgender Seite:
php-ssh2.sourceforge.net/
Hoffe es gibt da irgendeine Lösung für^^
Mit Zitat antworten
zu meinem Problem, die Eingabe an sich funktioniert, aber nicht die Ausgabe.
Bei der Installation eines Gameserver über das Web wäre es schön wenn man die Ausgabe in "Echtzeit" erhält.
Am besten wie bei Webmin, bei der "Befehls-Shell" oder nach dem Aktualisieren der Pakete.
Ist es möglich irgendwie mittels Javascript / Ajax / Perl so etwas zu realisieren, wenn ja, wie?
Hier der aktuelle Code:
Quellcode
- ...
- include "class.shell2.php";
- $ssh = new shell2; // init class
- //$ssh = new Net_SSH2($_POST['ip']);
- //$ssh->login($user,$pass,$host
- if (!$ssh->login('root', 'PASSWD','IP')) {
- $ars.='Login Failed<br/>'.$ssh->error;;
- }else{
- $kunde = $_POST['kunde'];
- $gid = $_POST['gid'];
- $ftppass =$_POST['ftppass'];
- $cmd_line = '-ip '.$_POST['ip'].' -game '.$game.' -port +map '.$_POST['map'].' -maxplayers '.$_POST['slots'];
- $ssh->exec_cmd("/verzeichniss/zu/script/ssh.sh -k getinstall -i $kunde -m $gid -g $game -w $ftppass -p $cmd_line -e $ex_daemon");
- $ars='<h3>Output</h3>
- <pre>'.$ssh->get_output().'</pre>';
- }
- ...
Folgendes wird in der .sh ausgeführt:
Quellcode
- ...
- # Get command line args
- while getopts "i:g:e:p:n:k:j:m:w:" OPTION
- do
- case $OPTION in
- i)
- GS_USER=$OPTARG
- ;;
- g)
- GAME=$OPTARG
- ;;
- e)
- DAEMON=$OPTARG
- ;;
- p)
- CMD_OPTS=$OPTARG
- ;;
- n)
- SCREEN_NM=$OPTARG
- ;;
- k)
- CHANGER=$OPTARG
- ;;
- j)
- SRV_NICK=$OPTARG
- ;;
- m)
- GS_ID=$OPTARG
- ;;
- w)
- PWD=$OPTARG
- ;;
- ?)
- usage
- exit
- ;;
- esac
- done
- ...
- getinstall() {
- # gameserver = 10013 | ARS
- # gameserver = 10004 | DSWh
- #useradd -p $PWD -u 10004 -o -s /bin/false -d /verzeichniss/zu/den/gameserver/$GS_USER$GS_ID gs$GS_USER$GS_ID
- mkdir /verzeichniss/zu/den/gameserver/$GS_USER$GS_ID
- cd /verzeichniss/zu/den/gameserver/
- ./steam -command update
- ./steam -command update -game "$GAME" -dir /verzeichniss/zu/den/gameserver/$GS_USER$GS_ID
- chown -R gs$GS_USER$GS_ID /verzeichniss/zu/den/gameserver/$GS_USER$GS_ID/*
- if [ -d /verzeichniss/zu/den/gameserver/$GS_USER$GS_ID/orangebox ]
- then
- ORANGE= orangebox
- else
- ORANGE=
- fi
- cd /verzeichniss/zu/den/gameserver/$GS_USER$GS_ID/$ORANGE
- sudo -u gs$GS_USER$GS_ID screen -dmS $GS_USER$GS_ID ./$DAEMON $CMD_OPTS
- }
- ...
Die klasse ist von folgender Seite:
php-ssh2.sourceforge.net/
Hoffe es gibt da irgendeine Lösung für^^
Mit Zitat antworten