Screen Problem unter Debian-50-lenny-64-LAMP

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Andi1234
Beiträge: 1
Registriert: 06.12.2009 01:57:14

Screen Problem unter Debian-50-lenny-64-LAMP

Beitrag von Andi1234 » 06.12.2009 02:10:29

Hi,
ich möchte einen Gameserver per PHP mit hilfe von Sudo und Screen starten.

Irgendwie hab ich aber ein Problem mit Screen, es wird kein Prozess geöffnet.
Über die Shell funktioniert mein Script.

Die cod4_Inxded wird ausgeführt. Aber irgendwie startet cod4 nicht

Auf meinen Ubuntu Heimserver läuft das Script ohne Probleme.

Andere Scripte funktionieren auch mit meinen PHP Code.

Ich schlage mich seit 3 Tagen mit dem Problem herum.
Hat vll noch jemand mit meiner Linux Version ein Problem mit Screen?

Code: Alles auswählen

shell_exec("sudo -u ".$user." ./".$file." start");

Code: Alles auswählen

#!/bin/bash

# Include #

# Aus "Config.ini" #
PFAD=$(grep -e "serverpfad=" config.ini | cut -d= -f2)
IP=$(grep -e "ip=" config.ini | cut -d= -f2)
PORT=$(grep -e "port=" config.ini | cut -d= -f2)
SLOTS=$(grep -e "slots=" config.ini | cut -d= -f2)
SCREENNAME=$(grep -e "screen=" config.ini | cut -d= -f2)
USER=$(grep -e "user=" config.ini | cut -d= -f2)
DESC=$(grep -e "beschreibung=" config.ini | cut -d= -f2)

# Aus "Mod.ini" #
MOD=$(grep -e "mod=" mod1.ini | cut -d= -f2)

# Aus pb.ini
PB=$(grep -e "punkbuster=" pb1.ini | cut -d= -f2)

# Aus cfg.ini #
CFG=$(grep -e "config=" cfg1.ini | cut -d= -f2)

# Aus parameter.ini #
PARAMETER=$(grep -e "parameter=" parameter1.ini | cut -d= -f2)

# Aus rcon.ini #
RCON=$(grep -e "rcon=" rcon.ini | cut -d= -f2)

# Variablen #
SCRIPT=cod4_lnxded

case "$1" in
  start)
        screen -ls | grep $SCREENNAME >/dev/null 2>&1
        if [ "$?" = "0" ]
        then
           echo "$DESC läuft bereits!"
        else
           echo "Starte $DESC"
           cd $PFAD
           screen -dms $SCREENNAME $PFAD/$SCRIPT $IP +set net_port $PORT +set sv_punkbuster $PB $SLOTS $RCON $PARAMETER +set fs_homepath $PFAD +map_rotate     
	 fi
        ;;

  stop)
        # Stoppe Server #
        echo "Stoppe $DESC"
        cd $PFAD
        screen -S $SCREENNAME -X quit
        ;;

  restart)  
        $0 stop
        $0 start
	 ;;

  status)
        echo "Checking for $DESC: "

        screen -ls | grep $SCREENNAME >/dev/null 2>&1
        if [ "$?" = "0" ]
        then
           echo "läuft"
        else
           echo "gestoppt"
        fi
	 ;;

  *)
        echo "Benutze: $0 {start|stop|restart|status}"
        exit 1
        ;;
esac

exit 0

falstaff
Beiträge: 3
Registriert: 17.12.2009 10:14:08

Re: Screen Problem unter Debian-50-lenny-64-LAMP

Beitrag von falstaff » 17.12.2009 10:29:33

Hi,

Bist du sicher dass dein Skript richtig gestartet wird (mit Parameterübergabe...)? Erzeuge doch ein Bash Skript und rufe dieses ohne Parameter auf (um sicher zu gehen):

Code: Alles auswählen

#!/bin/bash
./path_to_the file start

Code: Alles auswählen

chmod +x mybashfile.sh
shell_exec("sudo -u ".$user." ./mybashfile.sh");

Gruss
falstaff

Benutzeravatar
Jens
Beiträge: 404
Registriert: 31.03.2004 07:51:08
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Re: Screen Problem unter Debian-50-lenny-64-LAMP

Beitrag von Jens » 18.12.2009 11:56:58

Hallo,

vieleicht ist sudo in deiner PHP Shell Umgebung nicht im Pfad und kann deshalb nicht gestartet werden? Nur so eine Idee.

Gruß Jens

Antworten