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. Allgemeines
  4. Fehler

Bug Sammeltread für 0.11.2

  • Frazze
  • 16. Juni 2010 um 21:09
  • Geschlossen
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!
1. offizieller Beitrag
  • Frazze
    Anfänger
    Punkte
    870
    Trophäen
    1
    Beiträge
    162
    • 16. Juni 2010 um 21:09
    • #1

    Also, da es hier scheinbar relativ wenige juckt mach ich jetzt mal einen Bug-Sammel Tread auf.
    Wo ich einen Fix weiß werde ich den auch posten, auch wenn er evtl. nicht "Traumhaft" ist.

    Ich bitte euch hier der Übersicht wegen nur Bugs zu posten, diese so ausführlich wie Möglich zu formulieren und wenn es geht auch Log's mit zu liefern!!!

    Außerdem wäre es hilfreich, wenn ihr Bugs ggfs. bestätigen/nicht bestätigen könntet, ABER bitte vorher auch absolut sicher sein (notfalls testen oder wenn nicht, dann lieber ruhig sein!)


    1. Bug:
    Tritt seit der 0.11.2 auf (kann das noch jemand bestätigen?)
    Während dem Mod-Start taucht das folgende als eine der ersten Zeilen auf...

    Code
    [16.06.10 19:50:45] PHP-Error: Notice in functions.php:141 => Undefined offset:  12


    MAM läuft dann aber scheinbar weiter, zumindest ist kein Fehlverhalten DIREKT zu finden.


    2. Bug:

    Code
    !getip


    sowie

    Code
    !help getip


    Geben die Message "Command not found" aus, allerdings funktioniert der !getip Befehl widerrum in Verbindung mit einem Nick/PID.

    Fix:
    In der Datei in "/languages/en/help/basic.lng" (bzw. für die deutsche Hilfe-Datei dann statt "en" eben "de") folgendes ans Ende einfügen:

    Code
    getip  = "getip PID|PART_OF_NICK ^2displays (and saves) the IP adress of a player"

    Verbesserungsvorschlag inkl. Umsetzung für !getip:
    Da !getip nur die IP anzeigt, sie allerdings nirgends auf dem Server in einer Textdatei speichert für eine einfachere/effizientere/spätere Verwendung um z.b. bestimmten User/Admin-gruppen zu ermöglichen die IP besonders hartnäckiger Cheater für den Gameserverbetreiber zu hinterlegen, sodass der Gameserveradmin diese IP(-Range) dann später z.B. per Firewall oder IPTables bannen kann; habe ich mir erlaubt die nun endlich eingebaute !getip Funktion etwas zu erweitern.

    Hier der Code: Er muss im "/plugins" Verzeichnis in die Datei "basiccommands.php" an das Ende der !getip-Funktion eingefügt werden (die !getip-Funktion befindet sich ganz am Ende der Datei).
    Also kopiert ihr UNTER die Zeile

    Code
    $this->players[$guid]->say($this->mod->getLngString("getIp", array("<NAME>", "<IP>"), array($this->players[$player]->getName(), $ip)));

    Folgendes:

    Code
    $playerNick = $this->players[$player]->getName();
    
    
    
    
            $day = date("d.m.Y");
            $timestamp = date("H:i:s");
    
    
    
    
            $msg = "[ $timestamp-$day ]***[ IP: $ip ]***[ GUID: $player ]***[ Nick: $playerNick ]";
            $filename = "ips.txt";
            $file = fopen($filename, 'a');
            fwrite($file, $msg);
            fwrite($file,"\n");
            fclose($file);
    Alles anzeigen

    Es wird nun im "/adminmod" Verzeichnis die Datei "ips.txt" angelegt und dort wird dann der Nick, die GUID, die IP sowie das Datum und die Uhrzeit geloggt.
    (Ein kompletter MAM neustart ist nötig nachdem Einfügen!)


    3. Bug:
    Bei folgenden Settings in der "config.cfg"

    Code
    [mapvote]
    enabled = 1
    type 2

    Funktioniert der !skip Befehl (immernoch?) nicht richtig, folgendes konnte ich bei einem (zugegebenermaßen nur relativ schnellen) Testen feststellen:

    1. Die !nextmap anzeige weißt plötzlich schreibfehler IM mapnamen auf!!! So wird aus z.B. "Apesgorod" plötzlich "aesgorod", dies trat nicht nur bei dieser einen Map auf, sondern auch bei anderen (vermutlich allen?). Ein Rechtschreibfehler in der "maps.cfg" bei der Zuweißung von "mp_apesgorod" zu "Apesgorod" kann ich ausschließen, habe das überprüft.

    2. Die Message zum skippen der nächsten Map war einfach leer, d.h. es tauchten nur "()" auf ohne Map darin.
    Wenn ich es noch richtig im Kopf habe sah der Output der Console dann etwa so aus:

    Code
    Console: Use !skip to skip the nextmap ()


    (Nicht der genaue Wortlaut, aber man versteht was ich meine, dabei waren die "()" Klammern in einer andern Farbe (glaube grün?), allerdings ohne Inhalt)
    Ein !skip zeigte danach allerdings immerhin an wie viele Spieler noch !skip eingeben müssen (also z.B. "1/10" oder so).

    Ich weiß nun nicht ob !skip überhuapt gefixt wurde, aber ich erwähne es auf jedenfall mal.


    4. Bug:
    Seit der 0.11.2 verzeichne ich wieder vermehrte MAM-Crashes, nachdem die 0.11.1 relativ stabil auch mal gut einen Monat ohne Crash überstand.

    Auszug aus einem "mod_xxxxxxx.log" vor/während des Crashes:

    Code
    564:08 [16.06.10 19:38:05] Notice: Player 'Xx3A2000xX' executed command: 'vote kick Jakob', PID: 25, GUID: 261fcc824fb73e0dd5bdf03988e1aeef
    	564:08 [16.06.10 19:38:05] PHP-Error: Notice in var/www/gameserver/cod4/adminmod/plugins/voting.php:105 => Undefined property: Voting::$votestarted
    	564:08 [16.06.10 19:38:05] Notice: Player 'KiKKo' joined, PID: 14, GUID: 80ebf552bd59b293837855af3e81984a
    	564:13 [16.06.10 19:38:06] Notice: Player 'Snipes'' executed command: 'yes', PID: 0, GUID: 3009ad62f6687917f00fcf97b11f1925
    	564:18 [16.06.10 19:38:08] Notice: Player 'pvt.Squid' executed command: 'yes', PID: 8, GUID: d4ed401f27eec8fe05762bd74680c710
    	564:23 [16.06.10 19:38:13] Notice: Player 'Xx3A2000xX' executed command: 'yes', PID: 25, GUID: 261fcc824fb73e0dd5bdf03988e1aeef
    	564:23 [16.06.10 19:38:13] Notice: Player 'Sgt Wolfie' executed command: 'yes', PID: 12, GUID: 1c19bc68ab0e41b61c6080384604d320
    	564:25 [16.06.10 19:38:15] Notice: Player 'Meny' executed command: 'online', PID: 23, GUID: fe77559314ebee83163f2ebf64e8fbdf
    	564:42 [16.06.10 19:38:32] Notice: Player 'JAKOB' quit, PID: 29, GUID: af2c88e1ab2fcce564b1be163f692071
    	564:42 [16.06.10 19:38:33] PHP-Error: Notice in var/www/gameserver/cod4/adminmod/plugins/voting.php:382 => Undefined index:  af2c88e1ab2fcce564b1be163f692071
    [16-Jun-2010 19:38:33] PHP Fatal error:  Call to a member function getName() on a non-object in /var/www/gameserver/cod4/adminmod/plugins/voting.php on line 382
    Alles anzeigen

    Anzumerken ist, dass

    Code
    PHP-Error: Notice in  var/www/gameserver/cod4/adminmod/plugins/voting.php:105 => Undefined  property: Voting::$votestarted

    seit der 0.11.2 immer wieder in den Log's auftaucht, also nicht nur gerade hier am Ende bevor der MAM dann gecrasht ist.


    Passend zu diesem Crash hier der Inhalt des "rcon.log":

    Code
    [16.06.10 19:37:35]  Input: tell 25 ^1PM: ^2^1Player ^7jacob^1 not found or more than one player match

    Einige Sekunde später dann:

    Code
    [16.06.10 19:38:05]  Input: say ^1Vote STARTED: ^2Kick ^7JAKOB? ^7(Vote by typing ^3!y^2es ^7or ^3!n^1o^7)
    [16.06.10 19:38:05] Output:
    [16.06.10 19:38:05]  Input: say ^2Welcome Player ^3KiKKo ^7. Enjoy your stay and be nice! hf & gl !
    [16.06.10 19:38:06] Output:
    [16.06.10 19:38:06]  Input: tell 0 ^1PM: ^2You voted ^2YES^7!
    [16.06.10 19:38:07] Output:
    [16.06.10 19:38:07]  Input: say ^7pvt.Squid ^1drew first blood!
    [16.06.10 19:38:08] Output:
    [16.06.10 19:38:08]  Input: tell 8 ^1PM: ^2You voted ^2YES^7!
    [16.06.10 19:38:09] Output:
    [16.06.10 19:38:13]  Input: tell 12 ^1PM: ^2You voted ^2YES^7!
    [16.06.10 19:38:14] Output:
    [16.06.10 19:38:15]  Input: tell 23 ^1PM: ^2^3Online Admins:  ^2Frosty ^1(Donator)^7, ^2Meny ^1(Admin)
    [16.06.10 19:38:15] Output:
    [16.06.10 19:38:19]  Input: say ^2Please Vote: ^2Kick ^7JAKOB? ^7(^2Yes: 4^7, ^1No: 0^7) (Vote by typing ^3!y^2es ^7or ^3!n^1o^7)
    [16.06.10 19:38:25] Output:
    [16.06.10 19:50:45] =================
    [16.06.10 19:50:45] Connection opened
    Alles anzeigen


    Wie man erkennt stürzt der MAM in der dritt-letzten Zeile ab (Zeitsprung von knapp 12 Minuten bis zum nächsten Log Eintrag).

    Meine bescheidene Analyse/Idee:
    Sehr viel Log wirr-warr, die beiden Logauszüge sind aber vom selben Zeitpunkt, das Problem scheint folgendes zu sein soweit ich das Beurteilen kann:
    Der Spieler "JAKOB" soll gevote-kickt werden, er leavt aber bevor er gevotet wird, der Vote läuft dennoch weiter.
    Nun versucht der MAM die Funktion "getName" aufzurufen (siehe Log:

    Code
    Call to a member function getName() on a non-object in  /var/www/gameserver/cod4/adminmod/plugins/voting.php on line 382

    ).
    Zuvor geschah aber dies:

    Code
    Notice: Player 'JAKOB' quit, PID: 29, GUID:  af2c88e1ab2fcce564b1be163f692071
     PHP-Error: Notice in  var/www/gameserver/cod4/adminmod/plugins/voting.php:382 => Undefined  index:  af2c88e1ab2fcce564b1be163f692071

    Und in der nächsten Sekunde schmiert der MAM dann ab :\


    Viel spass bei der Fehlersuche Manu :D

  • Frazze
    Anfänger
    Punkte
    870
    Trophäen
    1
    Beiträge
    162
    • 17. Juni 2010 um 17:22
    • #2

    Zusatz zu Bug Nr. 4:

    Hier gleich der nächste fall, wieder ähnliches Schema.
    Danach stüzt MAM ab.

    mod_xxxx.log Auszug:

    Code
    926:08 [17.06.10 17:12:45] Notice: Player 'DR3AMkiller' executed command: 'avote ban DR3AM', PID: 11, GUID: e8447639d9eeabbc9bdb0fec8f1ff37b
    926:23 [17.06.10 17:12:48] Notice: Player 'Meny' executed command: 'pass', PID: 22, GUID: fe77559314ebee83163f2ebf64e8fbdf
    926:23 [17.06.10 17:12:49] PHP-Error: Notice in var/www/gameserver/cod4/adminmod/plugins/voting.php:419 => Undefined property: Vote_Ban::$voteparameters
    926:23 [17.06.10 17:12:49] PHP-Error: Notice in var/www/gameserver/cod4/adminmod/plugins/voting.php:419 => Undefined index:
    [17-Jun-2010 17:12:49] PHP Fatal error:  Call to a member function ban() on a non-object in /var/www/gameserver/cod4/adminmod/plugins/voting.php on line 419


    Und hier der rcon.log Auszug passend dazu:

    Code
    [17.06.10 17:12:45]  Input: say ^1Vote STARTED: ^2Ban ^7DR3AMkiller? ^7(Vote by typing ^3!y^2es ^7or ^3!n^1o^7)
    [17.06.10 17:12:46] Output:
    [17.06.10 17:12:46]  Input: say ^7land1987 ^1drew first blood!
    [17.06.10 17:12:47] Output:
    [17.06.10 17:12:48]  Input: say ^2Vote PASSED: ^2Kick ^7DR3AMkiller? ^7(^2Yes: 1^7, ^1No: 0^7)
    [17.06.10 17:12:49] Output:


    Meine bescheidene Analyse diesmal:
    Der Fehler entseht etwas anderst als im vorigen Post zu Bug Nr.4.
    Der !pass Command kam als noch niemand !yes oder !no eingegebn hatte (bzw. der Mod es noch nicht registriert hat).
    Aus dem rcon.log ist aber zu entnehmen das bereits ein "!yes" vorhanden war (das dessjenigen der den Vote gestartet hat?).
    Vll. muss mindestends ein ZUSÄTZLICHES !yes oder !no kommen bevor man !pass machen sollte?
    Werde das nachher testen ob der Fehler reproduzierbar ist.

    EDIT:
    Der Bug ist reproduzierbar!
    Wenn man einen !avote ban startet (oder jemand anderes) und man danach SOFORT !pass macht (noch bevor jemand anderes !yes/!no vote kann), so tritt der Bug auf und der MAM stürtzt mit der Errormessage ab.
    Habe jetzt nicht explizit auch !avote kick getestet, aber aus meinem vorigen Post sieht man ja das ein sehr ähnlicher Fehler mit den selben Folgen (-> crash) auch bei !vote kick vorhanden ist. Es liegt also nahe das auch !avote kick dieses Verhalten aufweißt!
    Bitte fixen! Danke! :P

    4 Mal editiert, zuletzt von Frazze (17. Juni 2010 um 17:42)

  • Steffen
    Anfänger
    Punkte
    765
    Trophäen
    1
    Beiträge
    150
    • 17. Juni 2010 um 18:16
    • #3

    Hallo

    Also 1. kann ich nich bestätigen.
    2. Interessiert mich nicht weil mir das zu wenig IP´s aufzeichnet. Ich guck da immer bei pbbans oder so, auch gibts andere logs die solche Daten mitschreiben. IP Ringe können sich auch ändern, je nach Anbieter können das 2, 3 oder mehr sein. Ausserdem gibt es auch Spieler die an verschiedenen Orten spielen so das man da immer einen sehr langen Zeitraum brauch um ihn über die IP zu bannen.
    3. Ja funktioniert leider garnicht, siehe http://manuadminmod.de/forum/index.php?page=Thread&postID=10744#post10744
    4. Kann ich nicht bestätigen weil bei uns kaum Abstimmungen gemacht werden da sie immer am Rundenende abgebrochen wurden, muss sich erst rumsprechen das es jetzt geht. Werde es aber mal beobachten.

  • Dieses Thema enthält 40 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™