Strona 1 z 1

Skrypt na stronie www - start/stop serwera gry

: 10 listopada 2008, 18:21
autor: 4fmariusz
Witam
Chcę zrobić panel administracyjny serwera do gry call of duty.
Posiadam Skrypt do uruchomienia serwera lecz nie działa. Nie wiem co jest nie tak?
serwer.php

Kod: Zaznacz cały

<?
//KONFIGURACJA

//KONFIGURACJA Serwera
$apname="cod"; //nazwa serwera np cs
$sciezka="/home/cod/"; //Sciezka do serwera
$konfig="start.sh"; //nazwa pliku konfiguracyjnego

?>
<html>
<head>
<title>Panel</title>
</head>
<body>

[url=?co=wlacza]WLACZ Serwer[/url] <|> [url=?co=wylacza]WYLACZ serwer[/url]

<?

if ($co=='wylacza')
{
system('kill -9 $(ps auxwww | grep -v grep |grep '.$konfig.'  | grep '.$apname.' | awk \'{print $2}\')');
}
if ($co=='wlacza')
{
$adres=$sciezka.$apname.' '.$sciezka.$konfig.' &';
system($adres);
}
?>
</body>
</html>
Start.sh

Kod: Zaznacz cały

./coduo_lnxded +set dedicated 2 +exec default_mp.cfg +map_rotate& 

: 11 listopada 2008, 11:12
autor: lessmian2
Cześć
Po pierwsze - jeśli odpalasz skrypt PHP z serwera WWW, to odpalasz go z prawami właściciela serwera, jeśli jest to Apache to najprawdopodobniej jest to www-data. Podejrzewam że po prostu ten użytkownik nie może wystartować serwera gry. Jeśli chcesz odpalić ten skrypt jako root na serwerze polecam zainteresować się

Kod: Zaznacz cały

sudo
Jeśli go nie masz to zainstaluj, a potem z roota:

Kod: Zaznacz cały

visudo
Na końcu otworzonego pliku dodaj linię:

Kod: Zaznacz cały

www-data   ALL= (root) NOPASSWD:/sciezka/do/start.sh
No i w skrypcie zamiast

Kod: Zaznacz cały

system($adres); 
wywołuj

Kod: Zaznacz cały

system(sudo $adres); 
Dzięki temu skrypt będzie uruchamiany z prawami root'a. Jeśli by coś nie działało to pisz.

: 12 listopada 2008, 15:16
autor: fenix23
A co w przypadku jak użytkownik 4fmariusz musi odpalić to jako daemon, którego właścicielem jest 4fmariusz?

Jak nie ma uprawnień roota?
Ja mam pytanie dlaczego nie działa? Czy polecenia, które wykonuje skrypt działają w bashu? Może to kwestia łapek :] nie 'tylko` :]

: 28 lutego 2009, 11:02
autor: bandrzal
Witam. Chciałbym napisać prosty skrypt do panelu administracyjnego serwera gry na stronie, który by startował i stopował serwer. Ma ktoś jakiś pomysł?