Fórum Ubuntu CZ/SK

Ostatní => Archiv => Téma založeno: l1012 21 Srpna 2007, 22:09:29

Název: Gamecontrol CS serveru
Přispěvatel: l1012 21 Srpna 2007, 22:09:29
Zdravím,
už týden se snažím rozchodit gamecontrol CS serveru na našem serveru, ale bez úspěchu. Snad mě tady nekdo pomůže.
Takže, php skript i spouštěcí skript se jmenují 123.

Citace


gamecontrol



start
 
restart

stop


if(isset($_GET["akce"])){
switch($_GET["akce"]){
case 'start':
echo "Pøíkaz proveden, systém odpovìdìl:";
system('sudo /etc/init.d/123');
break;
case 'restart':
echo "Pøíkaz proveden, systém odpovìdìl:";
system('sudo /etc/init.d/123');
break;
case 'stop':
echo "Pøíkaz proveden, systém odpovìdìl:";
system('sudo /etc/init.d/123');
break;
}
}
echo "
";
?>



V sudoers mám vloženo
 
Citace
apache ALL=(root) NOPASSWD:/etc/init.d/123
Spouštěcí skript 123
Citace
#!/bin/sh
#
#
clear

# v pripade ze uzivatel neni prihlasen jako root bude skript spoustet tento uzivatel
# nezapomente nize odkomentovat SU!!!
CS_USER="csadmin"

# neni potreba menit
PATH=/bin:/usr/bin:/sbin:/usr/sbin

# adresar kde je umiste Counter-Strike server
DIR=/hlds/public

# nemenit, jen se ujistit, ze je tento soubor nastaven na spousteni - je soucasti Counter-Strike serveru!
DAEMON=$DIR/hlds_run

# spousteci parametry serveru
# Non-Steam server:
PARAMS="-game cstrike -nomaster -insecure +sv_lan 1 +maxplayers 16 +map de_dust"
# Steam server:
#PARAMS="-game cstrike +sv_lan 0 -noipx +ip xxx.xxx.xxx.xxx +port 27015 +map de_dust2 +maxplayers 20"

# jmeno a popis sluzby
NAME=CSSERVER
DESC="CounterStrike dedicated server"

# kam se bude ukladat vystup obrazovky
echo > /hlds/public/screenlog.0
case "$1" in
 start)
   echo "Starting $DESC: $NAME"
   if [ -e $DIR ];
   then
    cd $DIR
#  pokud nespoustis skript jako root pouzij SU, odkomentuj nasledujici radek!
#    su $CS_USER - -c "screen -d -m -S $NAME $DAEMON $PARAMS"
#  pokud spoustis skript jako root odkomentuj nasledujici radek
    screen -L -d -m -S $NAME $DAEMON $PARAMS
   else echo "No such directory: $DIR!"
   fi
   ;;

 stop)
   if [[ `screen -ls |grep $NAME` ]]
   then
       echo -n "Stopping $DESC: $NAME"
       kill `screen -ls |grep $NAME |awk -F . '{print $1}'|awk '{print $1}'`
       echo " ... done."
   else
       echo "Couldn't find a running $DESC"
   fi
   ;;

 restart)
   if [[ `screen -ls |grep $NAME` ]]
   then
       echo -n "Stopping $DESC: $NAME"
       kill `screen -ls |grep $NAME |awk -F . '{print $1}'|awk '{print $1}'`
       echo " ... done."
   else
       echo "Couldn't find a running $DESC"
   fi
   
   echo -n "Starting $DESC: $NAME"
   cd $DIR
   screen -L -d -m -S $NAME $DAEMON $PARAMS
   echo " ... done."
   ;;
 
 status)
   # kontrola statu "hlds" procesu
   ps aux | grep -v grep | grep hlds_r > /dev/null
   CHECK=$?
   [ $CHECK -eq 0 ] && echo "HLDS is already running" || echo "HLDS is stopped"
   ;;
 
 *)
   echo "Usage: $0 {start|stop|status|restart}"
   exit 1
   ;;
esac

exit 0
Když otevřu stránku 123.php a kliknu na start, restart, nebo stop, tak se vypíše "Příkaz proveden, systém odpověděl:" , ale neodpoví a ani příkaz neprovede.
Pokud, ale spouštím spouštěcí skript CS serveru přes webmin, tak vše funguje jak má.
Práva na spouštěcí soubor jsou root/755, ale skoušel jsem i uživatele 123 i práva 777, výsledek byl stejný.
Distribuce Linuxu je CentOS.
Poradí někdo? :-(
Název: Gamecontrol CS serveru
Přispěvatel: boon 21 Srpna 2007, 22:29:22
distribuce Linuxu je CentOS? V tom případě pročpak to dáváš na ubuntu fórum? Možná mi něco uniklo, možná je to nějaký derivát, ale nedává mi to smysl
Název: Gamecontrol CS serveru
Přispěvatel: l1012 21 Srpna 2007, 22:40:34
Protože už nevím co s tím. Pokud je to ovšem takový problé, tak to smáznu.
Název: Gamecontrol CS serveru
Přispěvatel: Jakub Lucký 21 Srpna 2007, 22:57:57
1) Je to nehorázná prasárna, díra do systému jako prase

2) Jak podotkl boon, toto je Ubuntu fórum, CentOS je dost odlišný

3)
Kód: [Vybrat]
/hlds/publictohle je skutečná cesta? nebo k ní kus chybí? Myslím před prvním lomítkem

4)
Kód: [Vybrat]
PARAMS="-game cstrike -nomaster -insecure +sv_lan 1 +maxplayers 16 +map de_dust"tady imho chybí IP adresa a port

5) udělejte si debugging output a testujte..
Název: Gamecontrol CS serveru
Přispěvatel: l1012 21 Srpna 2007, 23:17:01
Ještě jednou se omlouvám, že vás tady s tím otravuji.
Správná cesta je /home/user1/hlds
IP tam není, pouze pro steam, port tam samozřejmě mám, toto je návrh od jedno maníka. Také mě varoval. že to bezpečností díra jako prase. Ale alespoň bych to chtěl vyzkoušet.
Pokud by někdo měl, nebo chtěl napsat takové nějaké udělátko, které bude umět spouštět, vypínat a rr serveru, tak budu vděčný. Případně se i finančně varovnám. Těch CS serverů tam bude cca 8.
Název: Gamecontrol CS serveru
Přispěvatel: boon 21 Srpna 2007, 23:28:01
mno, takhle, mě nešlo o to, že vás tu nechceme, nebo tak, ale že nebudeme schopni efektivně poradit. O tom Linuxu jsem nikdy neslyšel a ne že bych se koukal jen na Debian/Ubuntu/Mandrivu. Ale možná mi to uniklo, mno. Každopádně tenhle problém nemám, jen osobně bych herní server na Linuxu asi nezkoušel. Sám mám s hrami vcelku špatné zkušenosti a třeba linuxoví profíci by to zvládli, ale lidé, kteří si na Linux teprve zvykají, těm je pojem hraní windows her vcelku neznámý. I když jak kterých, mno
Název: Gamecontrol CS serveru
Přispěvatel: l1012 21 Srpna 2007, 23:33:59
Doma mám Ubuntu (proto znám toto forum)a na serveru CentOs a jsem spokojený.
U mě je to úplný opak, jiný než linuxový gameserver bych už nechtěl. Ale to je na dlouho. :-)
Jenom pořád nějak plácám v těch spouštěcích skriptech a PHP. (PHP sem asi taky nepatří, co? :-)))  )
Název: Gamecontrol CS serveru
Přispěvatel: Jakub Lucký 21 Srpna 2007, 23:45:21
Citace: l1012
Ještě jednou se omlouvám, že vás tady s tím otravuji.
Správná cesta je /home/user1/hlds
IP tam není, pouze pro steam, port tam samozřejmě mám, toto je návrh od jedno maníka. Také mě varoval. že to bezpečností díra jako prase. Ale alespoň bych to chtěl vyzkoušet.
Pokud by někdo měl, nebo chtěl napsat takové nějaké udělátko, které bude umět spouštět, vypínat a rr serveru, tak budu vděčný. Případně se i finančně varovnám. Těch CS serverů tam bude cca 8.
1) domnívám se, že by to šlo mnohem čistějšími metodami než dávat apachi možnost logovat se jako root...
s tím vám může smazat celý server kdekdo...
Můžu zkusit navrhnout nějaké řešení s PHPkaři od nás z firmy, jeden CS server máme...

2)Určitě tam musí být IPka... i pro nonsteam
Název: Gamecontrol CS serveru
Přispěvatel: l1012 22 Srpna 2007, 00:03:15
1. Věřím, že jsou řešení inteligentnější a bezpečnější, ale já je neznám. :-(
2. Už jsem to v sudoers smazal.
3. pokud by byli PHPkáři svolní, byl bych vám velmi zauzlován. :-)
4. S tou IP, nevím, vždycky se server spustil (ve Webminu v sekci "Bootup and Shutdown") , tak jsem to neřešil. :-/