Hadouken 0 Zgłoś post Napisano Styczeń 30, 2010 Witam, mam taki skrypt którego zadaniem ma być restartowanie serwera hlds. Chodzi o to że ten skrypt nie do końca mi działa, a wygląda tak <?php $polaczenie = ssh2_connect("ip", "22"); ssh2_auth_password($polaczenie, "user", "haslo"); if ($polaczenie) { ssh2_exec("$polaczenie, cd ~/1"); ssh2_exec("$polaczenie, killall hlds_run"); ssh2_exec("$polaczenie, screen -A -m -d ./hlds_run -game cstrike +port 27010 +maxplayers 16 +map de_dust +exec server.cfg"); ssh2_exec("$polaczenie, logout"); echo("<font color='green'>Zresetowano</font>"); } else { echo("<font color='red'>Nie połączono</font>"); } print_r($polaczenie); var_dump($polaczenie); ?> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2"> [url="topic/22319-prosba-o-prosty-skrypt-logowania-php/"] Ja się na tym nie znam a potrzebuje tego, proszę o pomoc. Na serwerze mam Debiana 5.0 Apache 2, php 2, libssh2-1, libssh2-1-dbg, libssh2-1-de. Pożniej ktoś powiedział że polecenia mają być w 1 ssh2_exec i dał taki przykład $tmp = ssh2_exec($polaczenie, 'kill -9 `ps auxw | grep hlds_run | grep -v grep | grep -v SCREEN | awk \'{print $2}\'` screen -A -m -d -S serwer ./hlds_run -game cstrike +port 27010 +maxplayers 16 +map de_dust +exec server.cfg screen -wipe -logout'); stream_set_blocking($tmp, true); echo 'Serwer zostal uruchomiony ponownie'; ale nie wiele z tego zrozumiałem i przerobiłem skrypt tak: <?php $polaczenie = ssh2_connect("ip", "22"); ssh2_auth_password($polaczenie, "user", "password"); if ($polaczenie) { ssh2_exec($polaczenie, "cd cs | killall hlds_run | screen -A -m -d ./hlds_run -game cstrike +port 27010 +maxplayers 16 +map de_dust -dev -condebug +exec server.cfg |logout"); echo("<font color='green'>Zresetowano</font>"); } else { echo("<font color='red'>Nie połączono</font>"); } print_r($polaczenie); var_dump($polaczenie); ?> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2"> no ale to też nic nie dało. Udostępnij ten post Link to postu Udostępnij na innych stronach
xorg 693 Zgłoś post Napisano Styczeń 31, 2010 ssh2_exec("$polaczenie, cd ~/1"); ssh2_exec("$polaczenie, killall hlds_run"); ssh2_exec("$polaczenie, screen -A -m -d ./hlds_run -game cstrike +port 27010 +maxplayers 16 +map de_dust +exec server.cfg"); ssh2_exec("$polaczenie, logout"); Zerknij jak to w drugim przykładzie, gdzie postawiłeś cudzysłowy. Udostępnij ten post Link to postu Udostępnij na innych stronach
Hadouken 0 Zgłoś post Napisano Styczeń 31, 2010 No to mam coś takiego: <?php $polaczenie = ssh2_connect("ip", "22"); ssh2_auth_password($polaczenie, "user", "password"); if ($polaczenie) { ssh2_exec($polaczenie, "cd cs | killall hlds_run | screen -A -m -d ./hlds_run -game cstrike +port 27010 +maxplayers 16 +map de_dust -dev -condebug +exec server.cfg |logout"); echo("<font color='green'>Zresetowano</font>"); } else { echo("<font color='red'>Nie połączono</font>"); } print_r($polaczenie); var_dump($polaczenie); ?> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2"> ale to dalej nie restartuje mi serwera Udostępnij ten post Link to postu Udostępnij na innych stronach
blackredwhite 0 Zgłoś post Napisano Styczeń 31, 2010 <?php ##### Poł±czenie ############### $server = "127.0.0.1"; // IP $port = "22"; // Port $login = "root" // Login $password = "haslo"; // Haslo ################################# # ######### Ustawienia ############# $directory = "/home/server/"; // Folder $screen = "hlds_1": // Nazwa Screena $game = "cstrike"; // Gra $ip = "127.0.0.1"; // IP SRV $port = "27016"; // SRV PORT $lan = "1" // Server lan 1/0 $maxplayers = "10"; // Sloty $map = "de_dust2"; // Mapa ######### Command Exec ############# $command = "cd $directory; screen -A -m -d -S $screen ./hlds_run -game $game +ip $ip +port $port +sv_lan $lan -nomaster +maxplayers $maxplayers +map $map"; // Start $connection = ssh2_connect($server, $port); // Laczenie ssh2_auth_password($connection, $login, $password); // Logowanie $stream = ssh2_exec($connection, $command); // Exc ?> Może Ci w czymś pomorze ; )) Udostępnij ten post Link to postu Udostępnij na innych stronach
Hadouken 0 Zgłoś post Napisano Styczeń 31, 2010 przerabiam to sobie tak: <?php ##### Poł±czenie ############### $server = "ip serwera"; // IP $port = "22"; // Port $login = "user name" // Login $password = "password" // Haslo ################################# # ######### Ustawienia ############# $directory = "/home/username/folder z hlds/"; // Folder $screen = "hlds_1": // Nazwa Screena $game = "cstrike"; // Gra $ip = "188.116.33.41"; // IP SRV $port = "port serwera"; // SRV PORT $lan = "0" // Server lan 1/0 $maxplayers = "23"; // Sloty $map = "de_dust2"; // Mapa ######### Command Exec ############# $command = "cd $directory; screen -A -m -d ./hlds_run -game $game +ip $ip +port $port +sv_lan $lan +maxplayers $maxplayers +map $map"; // Start $connection = ssh2_connect($server, $port); // Laczenie ssh2_auth_password($connection, $login, $password); // Logowanie $stream = ssh2_exec($connection, $command); // Exc ?> No i mam błąd na 7 linii a hasełko wpisałem dobrze Udostępnij ten post Link to postu Udostępnij na innych stronach
Hekko.pl 239 Zgłoś post Napisano Styczeń 31, 2010 $login = "user name" // Login $password = "password" // Haslo Brak średników. Udostępnij ten post Link to postu Udostępnij na innych stronach
Hadouken 0 Zgłoś post Napisano Styczeń 31, 2010 No to tu pomogło, i na linii 12 był dwukropek a nie średnik i na lini 16 nie nie było średnika ale to już poprawiłem ale terazm mam tak Warning: ssh2_connect() [function.ssh2-connect]]: Error starting up SSH connection(-1): Failed sending banner in /var/www/restart.php on line 23 Warning: ssh2_connect() [function.ssh2-connect]: Unable to connect to 188.116.33.41 in /var/www/restart.php on line 23 Warning: ssh2_auth_password() expects parameter 1 to be resource, boolean given in /var/www/restart.php on line 24 Warning: ssh2_exec() expects parameter 1 to be resource, boolean given in /var/www/restart.php on line 25 exec() expects parameter 1 to be resource, boolean given in [b]/var/www/restart.php[/b] on line [b]25 i tam gdzie jest function.ssh2-connect to mam hiperłącze do www.mojastrona.pl/function.ssh2-connecti nie wiem co dalej? Udostępnij ten post Link to postu Udostępnij na innych stronach
kafi 2425 Zgłoś post Napisano Styczeń 31, 2010 Warning: ssh2_connect() [function.ssh2-connect]]: Error starting up SSH connection(-1): Failed sending banner in /var/www/restart.php on line 23 Masz po prostu dziadowskiego gotowca ;p Spójrz na to, że dublujesz zmienną $port - co w konsekwencji powoduje to, że próbujesz się łączyć protokołem SSH na port serwera gry, a nie daemona ssh. Spróbuj dać na sztywno $connection = ssh2_connect($server, 22); // Laczenie i zobacz, czy zadziała. Udostępnij ten post Link to postu Udostępnij na innych stronach
Hadouken 0 Zgłoś post Napisano Styczeń 31, 2010 Poszło:) Dzięki I mam jeszcze takie pytanie czy w tym skrypcie w miejscu gdzie mam $command = "cd $directory; screen -A -m -d ./hlds_run -game $game +ip $ip +port $port +sv_lan $lan +maxplayers $maxplayers +map $map"; to zamiast "cd $directory; screen -A -m -d ./hlds_run -game $game +ip $ip +port $port +sv_lan $lan +maxplayers $maxplayers +map $map"; moge wpisywać każdą inną komendę tak jak bym wpisywał do putty, i czy można w 1 skrypcie kilka razy użyc $command = "..."; $command = "..."; Udostępnij ten post Link to postu Udostępnij na innych stronach
blackredwhite 0 Zgłoś post Napisano Styczeń 31, 2010 Przepraszam ale nie spojrzałem czy jest to poprawiona wersja .. Najwyraźniej nie zapisałem zmian po ostatnim używaniu skryptu : ) Tak tak jak byś wpisywał do putty.. Co do $command = "..."; nie możesz użyć kilka razy ale możesz zrobić jako następstwo poprzedniej zmiennej $command .= "...";czyli kontynuacja. Udostępnij ten post Link to postu Udostępnij na innych stronach
Hadouken 0 Zgłoś post Napisano Styczeń 31, 2010 Czyli na przykładzie to jak by wyglądało ? Udostępnij ten post Link to postu Udostępnij na innych stronach
kafi 2425 Zgłoś post Napisano Styczeń 31, 2010 Możesz użyć kilka razy $command, ale w parze z ssh2_exec, czyli $command = 'ls'; $stream = ssh2_exec($connection, $command); $command = 'whoami'; $stream = ssh2_exec($connection, $command); Udostępnij ten post Link to postu Udostępnij na innych stronach