ConfigChanger

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Es gibt Neuigkeiten! Ab sofort könnt ihr dem Donators Club auf Lebenszeit beitreten.
    Weitere Infos im Thema Donator's Club ab heute wieder verfügbar!

    • ConfigChanger

      ConfigChanger
      server.cfg auslesen und bearbeiten


      Beschreibung:
      Mit diesem vom mir geschriebenem Plugin Names ConfigChanger ist es Möglich auf server.cfg Datei mit dem Server zuzugreifen und diese dann auszulesen und bearbeiten.
      Somit hat man die Möglichkeit den Server gut an z.B. zeitliche Anforderungen anzupassen. Das ist nützlich bei dynamischen Systemen, oder einfach um kein Panel bedienen zu müssen.
      Auch lassen sich somit maßgeschneiderte Spieler-Schleifen erstellen. Genau angepasst an die Limits des Servers.
      Ein weiterer kleiner Nebeneffekt dieses Plugins ist, dass man sich so aus den Fesseln der Limits von den meisten Gameserververmietungen lösen kann. Ein Gameserver, der z.B. über ein Panel konfiguriert wird, und maximal 50 Slots mit 3 NPC´s zulässt, lässt sich mit diesem Plugin in wenigen Minuten auf 500 Slots mit 10 NPC´s hochschrauben. Wer dies macht, haftet selbst dafür, da dies nicht der eigentliche Sinn des Plugins ist.

      Funktionen:
      Das Plugin bietet derzeit nur 3 Funktionen. Diese sind:
      • native InitializeConfigChange();
      • native GetServerConfigData(data);
      • native SetServerConfigData(data,const value[]);

      Diese Defines lassen sich als nutzen:
      • LANMODE
      • INCARRATE
      • PASSWORD
      • STREAMRATE
      • PORT
      • ANNOUNCE
      • WEAPONRATE
      • ONFOOTRATE
      • RCONPASSWORD
      • QUERY
      • WEBURL
      • MAXPLAYERS
      • MAXNPC

      Benutzung:
      Bevor die Funktionen genutzt werden können, muss das Plugin Initialisiert werden!

      PAWN-Quellcode

      1. // CC Plugin by Hauke
      2. native InitializeConfigChange();
      3. /*
      4. returns 0 if Plugin could not be initialized
      5. returns 1 if Plugin had been initialized
      6. returns -1 if Plugin is already initialized
      7. */
      8. native GetServerConfigData(data);
      9. /*
      10. returns Value of Server Config file
      11. returns -1 if internal File Error
      12. returns -2 if Parameters are incorrect
      13. returns -3 if Plugin is not initialized
      14. */
      15. native SetServerConfigData(data,const value[]);
      16. /*
      17. returns 1 if Change was successfull
      18. returns -1 if internal File Error
      19. returns -2 if Parameters are incorrect
      20. returns -3 if Plugins is not initialized
      21. */
      Alles anzeigen

      PAWN-Quellcode

      1. #include <a_samp>
      2. #include <h_cc>
      3. main()
      4. {
      5. print("\n----------------------------------");
      6. print(" CC Examplescript by Hauke");
      7. print("----------------------------------\n");
      8. }
      9. public OnGameModeInit()
      10. {
      11. SetGameModeText("CC Examplescript");
      12. return 1;
      13. }
      14. public OnPlayerCommandText(playerid, cmdtext[])
      15. {
      16. if (!strcmp("/sendwarningtoallplayers", cmdtext))
      17. {
      18. for(new i=0;i<GetServerConfigData(MAXPLAYERS);i++) SendClientMessage(i,0xC2A2DAAA,"WARNING: This is an uncreative example text!");
      19. return 1;
      20. }
      21. if (!strcmp("/changemaxplayers", cmdtext))
      22. {
      23. if(SetServerConfigData(MAXPLAYERS,"500")==1) return SendClientMessage(playerid,0xC2A2DAAA,"Maxplayers was successfully set to 500!");
      24. return 1;
      25. }
      26. if (!strcmp("/changemaxnpc", cmdtext))
      27. {
      28. if(SetServerConfigData(MAXNPC,"10")==1) return SendClientMessage(playerid,0xC2A2DAAA,"Maxnpc was successfully set to 10!");
      29. return 1;
      30. }
      31. return 0;
      32. }
      Alles anzeigen

      Hier habe ich noch ein schnell gemachtes Video, was euch zeigen soll, wie einfach und schnell es funktioniert.
      [video='ConfigChanger Tutorial',center]http://www.youtube.com/watch?v=RfYG2pu0nI4[/video]
      Für diejenigen, bei denen das Video nicht geht:
      Geht auf solgenden Link: Klick mich Dort gebt ihr die URL des Videos ein: youtube.com/watch?v=RfYG2pu0nI4
      Oder benutzt den direkten Link: Klick mich


      Download: Klick mich
      Sourcecode liegt der Datei bei.


      Viel Spaß mit diesem Plugin. Feedback, Bugreports und Ideen für andere Plugins sind erwünscht. :)

      Gruß Hauke


      Edit 1+2: Layout..
      Edit3: Ich habe vergesssen zu erwähnen, dass das Plugin im moment noch nur als DLL vorhanden ist.
      Edit4: Videolink.
      PAWNit gratis nutzen?
      Geschenkcode: 2017VQXPKB8V3KA
      Hier könnte Ihre Werbung stehen.

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von |-|auke ()

    • Ein Gameserver, der z.B. über ein Panel konfiguriert wird, und maximal 50 Slots mit 3 NPC´s zulässt, lässt sich mit diesem Plugin in wenigen Minuten auf 500 Slots mit 10 NPC´s hochschrauben. Wer dies macht, haftet selbst dafür, da dies nicht der eigentliche Sinn des Plugins ist.
      Genau aus diesem Grund sperren manche/viele Hoster das Benützen von eigenen Plugins. ^^


      Nebenbei wirkt sich das nicht negativ auf den Server aus, wenn man mittendrin die Slotanzahl erhöht/niedriger setzt? Also was würde Beispielsweise geschehen, wenn 50 Spieler oben sind und man danach die Slot auf 40 stellt.


      Abgesehen von der regulären MAX_PLAYERS Definition im Script, da wenn die Slotanzahl niedriger als MAX_PLAYERS ist, zu diesen Array-Fehlern kommen, die den restlichen Code nichtmehr ausführen :P .
      Mfg Templer

      >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
      >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
      Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
      Voraussetzung:
      Thema älter als 1 Tag und im Breadfish Forum gespostet!
    • Templer schrieb:

      Ein Gameserver, der z.B. über ein Panel konfiguriert wird, und maximal 50 Slots mit 3 NPC´s zulässt, lässt sich mit diesem Plugin in wenigen Minuten auf 500 Slots mit 10 NPC´s hochschrauben. Wer dies macht, haftet selbst dafür, da dies nicht der eigentliche Sinn des Plugins ist.
      Genau aus diesem Grund sperren manche/viele Hoster das Benützen von eigenen Plugins. ^^

      Nebenbei wirkt sich das nicht negativ auf den Server aus, wenn man mittendrin die Slotanzahl erhöht/niedriger setzt? Also was würde Beispielsweise geschehen, wenn 50 Spieler oben sind und man danach die Slot auf 40 stellt..
      Wenn der Anbieter ein vernünftiges System einsetzt, kann man diesem Plugin ganz einfach entgegenwirken.
      Bei GTA-Servers ist sowas zum Beispiel nicht möglich, obwohl man dort eigene Plugins hochladen kann.

      Die Änderungen werden erst nach einem Neustart aktiv und nicht direkt live, da sowas für SA-MP zu viel wäre ^^
      Pine 64 - DACH - Ein Mini-PC mit 1,2 GHz Quad Core ARM CPU und bis zu 2 GB RAM.

      ready4.hosting - Rootserver ab 5 € monatlich!


      Mein Desktop-System
    • Die Änderungen werden erst nach einem Neustart aktiv und nicht direkt live, da sowas für SA-MP zu viel wäre ^^
      Genau aus diesem Grunde finde ich es selber unbrauchbar. Ansonsten hätte man damit Beispielsweise auch gute SAMP Behebungen machen können, wie dass man Bots auf Slots setzen könnte, worauf der Spieler kein Zugriff hat.


      Maximale Slotanzahl: 30
      Bot bekommen ID´s nach 30 ^^


      //EDIT: was ich geschrieben hab, ist schmafu... Das unterstützt ja schon SAMP Intern mit den Bots ^^
      Mfg Templer

      >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
      >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
      Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
      Voraussetzung:
      Thema älter als 1 Tag und im Breadfish Forum gespostet!

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Templer ()

    • die Idee finde ich nicht so schlecht , weil nicht jeder ein CP haben will wo er einfach die ServerCFG bearbeiten kann , aber warum ein Plugin ? Ist ja total unnütz , das kann ich auch alles mit dem normalen "filesystem" machen , da brauch ich kein Plugin machen .... die Idee ist "gut" , aber dafür ein Plugin zu machen ist totaler Blödsinn
    • Wenn man dieses Plugin mit einem GUI in Verbindung bringt, kann dies für "faule" Admins schon nützlich sein.
      Andernfalls kann man damit lediglich die vorgegebenen Limits des Serveranbieters überschreiten, sofern sich dieser nicht dagegen "schützt".
      Pine 64 - DACH - Ein Mini-PC mit 1,2 GHz Quad Core ARM CPU und bis zu 2 GB RAM.

      ready4.hosting - Rootserver ab 5 € monatlich!


      Mein Desktop-System

    • zabus schrieb:

      dafür braucht man auch kein Plugin kann man dann schön per ftp usw. lösen ..... und das in jeder Sprache sehr einfach

      Mit einem anderem FTP Programm kannst du allerdings mit dem Server die Informationen auslesen. Wie auch Julian schon sagte, könnte man mit dem Plugin ein Menü bauen, über das sich die server.cfg bearbeiten ließe.

      Zum Video: Geht auf solgenden Link: Klick mich Dort gebt ihr die URL des Videos ein: youtube.com/watch?v=RfYG2pu0nI4

      Danke euch für das Feedback.
      PAWNit gratis nutzen?
      Geschenkcode: 2017VQXPKB8V3KA
      Hier könnte Ihre Werbung stehen.
    • Finde ich toll, ist das nicht bei deinem Sponsoring zu sehen irgendwie oder täusche ich mich da blos?
      Jedenfalls nützlich, aber nicht dringend ein Muss finde ich..

      Dass man damit das Limit bei Sponsoren übergehen kann ist bisschen naja, frech..
      Man kann den Sponsor ja auch fragen wie es ausschaut ob man mehr Slots bekommt, aber das ist ein anderes Thema.

      Weiter so ;)
    • Ok,dann will ich auch mal.

      |-|auke schrieb:


      Auch lassen sich somit maßgeschneiderte Spieler-Schleifen erstellen. Genau angepasst an die Limits des Servers.

      Wo ist da der Unterschied zu:

      PAWN-Quellcode

      1. GetMaxPlayers();

      oder

      PAWN-Quellcode

      1. GetServerVarAsInt("maxplayers");

      Gibt nämlich keinen :). Die Funktionen gibt es schon sehr lange, sollte man also auch nutzen.

      wiki.sa-mp.com/wiki/GetServerVarAsString
      wiki.sa-mp.com/wiki/GetServerVarAsInt
      wiki.sa-mp.com/wiki/GetServerVarAsBool

      Mit deinen GET Funktionen kann man nur Int auslesen, daher funktioniert folgendes auch nicht:

      PAWN-Quellcode

      1. #define WEBURL 4096


      Dann noch eine Frage zu den Defines:

      PAWN-Quellcode

      1. #define ANNOUNCE 64
      2. #define WEAPONRATE 128
      3. // Wieso hast denn hier 256 weg gelassen :-0 ?
      4. #define ONFOOTRATE 512
      5. #define RCONPASSWORD 1024
      6. #define QUERY 2048

      Hat das einen besonderen Grund ? Hab im Source nur GetNameOfData , weiss aber nicht wie diese funktioniert.

      PAWN-Quellcode

      1. enum ( <<= 1 ) {
      2. LANMODE = 2,
      3. INCARRATE, // 4
      4. PASSWORD, // 8
      5. STREAMRATE, //16
      6. PORT, //32
      7. ANNOUNCE, //64
      8. WEAPONRATE, //128
      9. ONFOOTRATE, //256
      10. RCONPASSWORD, //512
      11. QUERY, //1024
      12. WEBURL, //2048
      13. MAXPLAYERS, //4096
      14. MAXNPC //8192
      15. }
      Alles anzeigen


      Wie auch immer.Die GET-Methode halte Ich für relativ unnötig ( Kannst mir ja Grund nennen, wieso sie es nicht sein sollte :) ).
      Bin mir auch nicht sicher,was die SET-Methode wirklich macht. Die CONFIG-Daten kann man auch über die Console bearbeiten, wird dann aber nicht in der CONFIG-Datei geändert.Sonst kann man auch einfach in die Console schreiben:

      PAWN-Quellcode

      1. <varname> wert

      Klappt nicht bei allen ( gibt teilweise read-only Daten ) , bei Einigen aber schon möglich.

      PAWN-Quellcode

      1. stream_distance
      2. // Ausgabe aktueller stream_distance - Wert
      3. stream_distance 300.0
      4. stream_distance
      5. // Ausgabe aktueller stream_distance - Wert
    • Goldkiller schrieb:

      Ok,dann will ich auch mal.

      Oha.. :D

      Goldkiller schrieb:


      Wo ist da der Unterschied zu:

      PAWN-Quellcode

      1. GetMaxPlayers();

      oder

      PAWN-Quellcode

      1. GetServerVarAsInt("maxplayers");

      Gibt nämlich keinen :). Die Funktionen gibt es schon sehr lange, sollte man also auch nutzen.

      wiki.sa-mp.com/wiki/GetServerVarAsString
      wiki.sa-mp.com/wiki/GetServerVarAsInt
      wiki.sa-mp.com/wiki/GetServerVarAsBool

      Na hätte ich vorher gewusst, dass es diese Funktionen gibt, hätte ich es mir ja sparen können. :rolleyes:

      Goldkiller schrieb:


      Mit deinen GET Funktionen kann man nur Int auslesen, daher funktioniert folgendes auch nicht:

      PAWN-Quellcode

      1. #define WEBURL 4096


      Das stimmt wohl, das kommt noch von meinen Tests, wo ich einige wirklich sehr nutzlose Sachen rausgenommen habe.

      Goldkiller schrieb:


      Wie auch immer.Die GET-Methode halte Ich für relativ unnötig ( Kannst mir ja Grund nennen, wieso sie es nicht sein sollte :) ).

      Ints sind weniger Daten zum übergeben. Und die Ints habe ich, damit es schöner und besser aussieht immer verdoppelt. Die, die fehlen habe ich bei Tests rausgenommen.

      Goldkiller schrieb:


      Bin mir auch nicht sicher,was die SET-Methode wirklich macht. Die CONFIG-Daten kann man auch über die Console bearbeiten, wird dann aber nicht in der CONFIG-Datei geändert.Sonst kann man auch einfach in die Console schreiben:

      Die SetServerConfigData macht genau das, was ich beschrieben und im Video zeige. Sie ändert die server.cfg auch während der Server läuft.
      PAWNit gratis nutzen?
      Geschenkcode: 2017VQXPKB8V3KA
      Hier könnte Ihre Werbung stehen.
    • |-|auke schrieb:

      Die SetServerConfigData macht genau das, was ich beschrieben und im Video zeige. Sie ändert die server.cfg auch während der Server läuft.
      Jedoch werden die neuen Daten nicht "live" auf den Server übernommen,
      weshalb man den Server erst neustarten, bzw. einen GMX durchführen muss :rolleyes:
      Pine 64 - DACH - Ein Mini-PC mit 1,2 GHz Quad Core ARM CPU und bis zu 2 GB RAM.

      ready4.hosting - Rootserver ab 5 € monatlich!


      Mein Desktop-System
    • Hab mir das Video nicht angesehen, weil Ich über HIDEMYASS nicht vorspulen kann :/.

      Julian schrieb:

      |-|auke schrieb:

      Die SetServerConfigData macht genau das, was ich beschrieben und im Video zeige. Sie ändert die server.cfg auch während der Server läuft.
      Jedoch werden die neuen Daten nicht "live" auf den Server übernommen,
      weshalb man den Server erst neustarten, bzw. einen GMX durchführen muss :rolleyes:

      Ändert also nur den CFG - Wert. Über die Console kann man teilweise live Änderungen vornehmen, zwar nicht alle aber bei ein paar Wenigen.
      Vielleicht könnte man das irgendwie kombinieren und einen Hinweis ausgeben, ob es live-Änderungen gab oder erst nach einem restart die Änderung eingespielt werden. Müsstest dann aber durchtesten, wo eine live-Änderung möglich ist.