Ubuntu 10.10 falls du das meinst.
SAMP Server per PHP starten/beenden
- SteveDee
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
-
Also shh2 wird jetzt endlich erkannt
Doch schon tauchen neue Fehler auf:
Die Seite lädt unendlich
Hier das Script
Teile davon hab ich auf php.net gefunden.
Weis nicht ob das alles so richtig ist:PHP
Alles anzeigen<?php { echo "Server gestartet!"; function my_ssh_disconnect($reason, $message, $language) { printf("Server disconnected with reason code [%d] and message: %s\n", $reason, $message); } $methods = array( 'kex' => 'diffie-hellman-group1-sha1', 'client_to_server' => array( 'crypt' => '3des-cbc', 'comp' => 'none'), 'server_to_client' => array( 'crypt' => 'aes256-cbc,aes192-cbc,aes128-cbc', 'comp' => 'none')); $callbacks = array('disconnect' => 'my_ssh_disconnect'); $connection = ssh2_connect('127.0.0.1',22, $methods, $callbacks); if(!$connection) die('Connection Fehler!'); $connect = ssh2_exec($connection,'cd /var/www/CP/SAMP/ && screen -dmS ./samp03svr'); echo $connect; } ?>
Vielleicht findet ihr ja einen Fehler
Mit freundlichen Grüßen
Steph12 -
Starte Deinen SA-MP Server doch ganz einfach und unkompliziert mit shell Commands.
Wenn Du die Rechte Deines Ordners sowieso angepasst, kannst Du auch ruhig diese
Commands benutzen und ich hätte da sofort eine Variante, per PHP Klasse, die ich in
meinem Control Panel, dass ich momentan scripte, auch fehlerfrei verwende:PHP
Alles anzeigen$SvrControl = new SvrControl(); class SvrControl { function RunCommand($cmd, $mode = '') { if($mode == 'FG') { exec($command, $output); } elseif($mode == 'proc') { @ob_clean; proc_close(proc_open($cmd, array(), $unused)); $output = @ob_get_contents(); } else { exec($cmd); $output = ""; } return $output; } function Start($pfad, $cmd) { $this->RunCommand("cd " . $pfad . " ; nohup ./" . $cmd . " &", "proc"); } }
Ausführen kannst Du die Klasse dann folgender Maßen: -
Also das funktioniert jetzt so wie es aussieht.
samp03svr steht in der Prozessliste.
Vielen Dank )
Kannst du mir jetzt vielleicht noch sagen wie ich ihn stoppe?
Restart ist ja nicht das Problem einfach an ausMit freundlichen Grüßen
Steph12Edit: Habe statt nohup mal kill versucht aber so einfach ist es doch nicht
-
Zitat
Kannst du mir jetzt vielleicht noch sagen wie ich ihn stoppe?
Restart ist ja nicht das Problem einfach an aus
Wenn Du nur einen SA-MP Server hast, den Du mit dem selben Namen,
also der Name der auszuführenden Datei, in Deinem Falle 'samp03svr' betreibst,
fügst Du einfach ein Objekt in der Klasse ein, z.B. Stop.PHP
Alles anzeigen$SvrControl = new SvrControl(); class SvrControl { function RunCommand($cmd, $mode = '') { if($mode == 'FG') { exec($command, $output); } elseif($mode == 'proc') { @ob_clean; proc_close(proc_open($cmd, array(), $unused)); $output = @ob_get_contents(); } else { exec($cmd); $output = ""; } return $output; } function Start($pfad, $cmd) { $this->RunCommand("cd " . $pfad . " ; nohup ./" . $cmd . " &", "proc"); } function Stop($cmd) { $this->RunCommand("killall " . $cmd, "proc"); } }
Diese fürhst Du dann wieder folgender Maßen aus:Ich hoffe ich konnte Dir helfen! - Freundliche Grüße | 4#Future Fake
-
Vielen Dank
Du hast mir sehrrrrrr weitergeholfen.
Endlich kann ich das Control Panel fertigstellen
Danke :):):)Mit freundlichen Grüßen
Steph12 -
breadfish.de
Hat das Thema geschlossen.