1. GSManager
    1. Funktionen
    2. Unterstützte Spiele
    3. Neuigkeiten
    4. Statistiken
    5. Serverliste
  2. Lexikon
  3. Filebase
  4. Entwicklung
  5. Forum
    1. Dashboard
    2. Unerledigte Themen
  6. Web-Interface
  7. Artikel
  8. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Dateien
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. GSManager
  2. Forum
  3. Erweiterungen
  4. Entwicklung

ich mach mich jetzt unbeliebt o.O

  • Lottich
  • 26. Februar 2011 um 02:45
Das Projekt GSManager (vormals ManuAdminMod) wurde am 01.01.2020 eingestellt - diese Internetpräsenz bleibt verfügbar, die Software wird aber nicht länger gepflegt. Vielen Dank für eure Unterstützung in den mehr als zehn vergangenen Jahren!
  • Lottich
    Anfänger
    Punkte
    705
    Trophäen
    1
    Beiträge
    131
    • 26. Februar 2011 um 02:45
    • #1

    Hey all, dieser Beitrag dient reinem Eigennutz und wird wahrscheinlich nicht gern gesehen, ich hoffe dennoch auf Hilfe.

    Das hier unten ist ein Auszug aus der daemon.php mit der der MAM 0.11.4 beta für CoD 6 gestartet wird.

    Code
    //test rcon connection
        $return = $rcon->rcon("version");
        if (stripos($return, "Invalid password") !== false) {
        	throw new Exception("RCON connection failed: Wrong RCON password");
        }
        elseif (stripos($return, "The server must set 'rcon_password'")) {
            throw new Exception("RCON connection failed: There is no rcon password set on the server. Please set a rcon password in your server.cfg (set rcon_password PASSWORD)");
        }
        elseif (empty($return)) {
            throw new Exception("RCON connection not valid, check wether your config (IP + port) is correct and your gameserver is running");
        }
    Alles anzeigen

    Im letzten Bereich wird geschrieben was der MAM machen soll, wenn die RConVerbindung fehlschlägt.
    Dort möchte ich einbauen, dass dann meine Server.exe mit den nötigen Parametern ausgeführt wird und der MAM
    dann 60 Sekunden mit der Prüfung wartet, damit der Server genug Zeit hat um sich aufzubauen.

    Ich weiss, dass dann der gecrashte Server evtl immernoch in der Taskliste zu finden ist, doch das ist erstmal Nebensache.
    Und das bei einer RCon Änderung es zu Konflikten kommen wird, lass ich auch erstmal ausser Acht, ich gehe davon aus, dass ich die Passwörter immer identisch halte.

    Ich bitte euch. Helft mir. Wie muss der Code lauten und eingetragen werden, damit bei einer gescheiterten Verbindung mein Server gestartet wird?
    By the way: Betriebssystem Windows...

    ACHTUNG:
    Das werden Änderungen, die NICHT zum nachmachen empfohlen werden!

  • Yenz
    Entwickler
    Reaktionen
    90
    Punkte
    10.180
    Trophäen
    5
    Beiträge
    1.988
    Einträge
    9
    • 26. Februar 2011 um 12:19
    • #2

    Also das erste wäre mal, dass dein Themen-Titel geändert werden sollte :haue:

    Zu deinem Problem.

    Ich verstehe das so: Du möchtest, dass wenn die rcon Verbindung fehlschlägt, (empty($return)), dass dann dein Server gestartet wird, 60 Sekunden gewartet wird, und dann erneut getestet wird?!

    PHP
    $rcon_success = false;
    while ($rcon_success== false) {
        //test rcon connection
        $return = $rcon->rcon("version");
        if (stripos($return, "Invalid password") !== false) {
        throw new Exception("RCON connection failed: Wrong RCON password");
        }
        elseif (stripos($return, "The server must set 'rcon_password'")) {
            throw new Exception("RCON connection failed: There is no rcon password set on the server. Please set a rcon password in your server.cfg (set rcon_password PASSWORD)");
        }
        elseif (empty($return)) {
        	exec("path/to/startscript/script.sh start"); // see: http://www.php.net/manual/de/function.exec.php
        	sleep(60); // wait a minute
        	// throw new Exception("RCON connection not valid, check wether your config (IP + port) is correct and your gameserver is running");
        }
    	else {
        	$rcon_success = true;
    	}
    }
    Alles anzeigen


    Code ist natürlich ungetestet und auch übernehme ich keine Garantie ;) Über den exec() bzw. system() -Befehl von PHP kannst du aber Systembefehle ausführen und auch die Ausgabe einlesen. So könntest du z.B. prüfen ob eine server.exe noch läuft und die dann abschießen.

    Hoffe, ich konnte helfen.

    greets

  • Jensen
    Anfänger
    Punkte
    250
    Beiträge
    44
    • 26. Februar 2011 um 12:59
    • #3

    Hi,
    wenn ich es richtig verstehe, willst du das dein aIW Server nach einem crash autom. startet ?
    Wenn das so ist, gibt es hier http://alteriw.net/viewtopic.php?f=95&t=51189&hilit=dedi+watcher den "Dedi Watcher", er ist für Windows und startet deinen aIW Server nach einen crash.....bei mir funzt das teil :)

    mfg

  • Dieses Thema enthält 7 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind.
  1. Mitarbeiter
  2. Datenschutzerklärung
  3. Nutzungsbedingungen
  4. Impressum
  5. Kontakt
Community-Software: WoltLab Suite™