server.cfg | Einzelne Elemente auslesen oder bearbeiten

  • Hallo!


    Ich arbeite momentan an meinem Hosting Panel. Jetzt bin ich auf folgendes Problem gestoßen.
    Ich möchte gerne teile der server.cfg auslesen lassen, z. B. den Servernamen oder den Gamemode. Diese Sachen möchte ich auch verändern lassen, also das man das bearbeiten kann.
    Nun weiß ich nicht so recht wie ich das angehen soll, ich hab schon etwas mit fopen usw. ausprobiert, geklappt hat das aber nicht.
    Ich würde mich freuen, wenn ich neue Ansätze bekäme denen ich nachgehen könnte, denn momentan weiß ich nicht so recht wie ich das ganze angehen soll.


    mfg :thumbup:

  • Geh die Config zeilenweise durch und speicher jede Zeile in einem Array oder vergleichbarem. Du könntest direkt beim Einlesen schon die Zeile nach Key und Wert teilen, indem du den String beim ersten Leerzeichen teilst. Dann könntest du auch direkt eine Map oder Key Storage verwenden, wäre etwas angenehmer als ein Array.


    Wurden die Werte geändert und du möchtest die neue Config speichern, schreibst du einfach den gesamten Inhalt des Arrays, der Map bzw. der Key Storage zeilenweise in die Datei und überschreibst den alten Inhalt.


  • Ich wüsste jetzt nicht was sich da Widersprechen sollte. Ich bin noch am lernen.
    Das mit dem zweiten Link funktioniert nicht so richtig, ich hab folgendes probiert.


    PHP
    $datei=fopen("server.cfg","r+"); 
    	while(!feof($datei)) 
    	{ 
    	$zeile = fgets($datei,1000); 
    	echo $zeile."<br>"; 
    	} 
    	fclose($datei);


    Bei diesem Code lädt sich die Seite zum Tode, also es geht nichts voran.


    mfg :thumbup:

  • Laden:

    PHP
    $arr = explode("\n", file_get_contents('server.cfg'));
    $settings = array();
    foreach($arr as $el) {
    	$el = explode(' ', $el, 2);
    	$settings[trim($el[0])] = trim($el[1]);
    }
    print_r($settings);


    Speichern:

    PHP
    $str = ''
    foreach($settings as $x0 => $x1) {
    	$str .= $x0 .' '. $x1 ."\n";
    }
    file_put_contents('server.cfg', trim($str));
  • Beitrag von Kasakow ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Ich habe das ganze nun anderes geregelt, ich lasse die Konfiguration per MySQL Datenbank erfolgen!


    http://pastebin.com/kTDvejkR


    Die Server.cfg wird richtig einstellt, nur der Server übernimmt diese nicht richtig!


    mfg :thumbup:


    //ANHANG
    Es Funktioniert nach mehrfacher Bearbeitung auch nicht wirklich besser.

    Das verwunder mich jetzt wirklich...


    Server.cfg


    MySQL DB:


    mfg :thumbup:

  • [quote]
    ----------
    Loaded log file: "server_log.txt".
    ----------


    SA-MP Dedicated Server
    ----------------------
    v0.3z-R4, (C)2005-2014 SA-MP Team


    [11:35:03] filterscripts = "" (string)
    [11:35:03] maxnpc = 0 (int)
    [11:35:03]
    [11:35:03] Server Plugins
    [11:35:03] --------------
    [11:35:03] Loaded 0 plugins.


    [11:35:03]
    [11:35:03] Filterscripts
    [11:35:03] ---------------
    [11:35:03] Loaded 0 filterscripts.


    [11:35:03] Loaded 3 vehicles from: vehicles/trains.txt
    [11:35:03] Loaded 3 vehicles from: vehicles/pilots.txt
    [11:35:03] Loaded 15 vehicles from: vehicles/lv_law.txt
    [11:35:03] Loaded 39 vehicles from: vehicles/lv_airport.txt
    [11:35:03] Loaded 255 vehicles from: vehicles/lv_gen.txt
    [11:35:03] Loaded 38 vehicles from: vehicles/sf_law.txt
    [11:35:03] Loaded 35 vehicles from: vehicles/sf_airport.txt
    [11:35:03] Loaded 353 vehicles from: vehicles/sf_gen.txt
    [11:35:03] Loaded 24 vehicles from: vehicles/ls_law.txt
    [11:35:03] Loaded 37 vehicles from: vehicles/ls_airport.txt
    [11:35:03] Loaded 98 vehicles from: vehicles/ls_gen_inner.txt
    [11:35:03] Loaded 389 vehicles from: vehicles/ls_gen_outer.txt
    [11:35:03] Loaded 71 vehicles from: vehicles/whetstone.txt
    [11:35:03] Loaded 168 vehicles from: vehicles/bone.txt
    [11:35:03] Loaded 61 vehicles from: vehicles/flint.txt
    [11:35:03] Loaded 96 vehicles from: vehicles/tierra.txt
    [11:35:03] Loaded 96 vehicles from: vehicles/red_county.txt
    [11:35:03] Total vehicles from files: 1781
    [11:35:03]
    ---------------------------------------
    [11:35:03] Running Grand Larceny - by the SA-MP team


    [11:35:03] ---------------------------------------


    [11:35:03] Number of vehicle models: 173


    seegras


    Das komische ist, der Server hat einen Ping und ich kann drauf connecten...


    Screen zum Spielgeschehen:


    mfg :thumbup:


  • Ich habe Query auf 0 gestellt, ist das Wichtig ?


    mfg :thumbup:


    //EDIT
    Habe den Fehler gefunden, "queryx" war in der Datenbank Strucktur ein "Text", ich habe es nun auf einen Integer gewechselt und diesen auf 1 gestellt.
    Nun Funktioniert das ganze wunderbar!
    Vielen Dank, für die ganzen Tipps.


    mfg :thumbup: