Beiträge von wepper

    Hallo,


    ich hoffe mal, das ist das richtige Unterforum ...


    Ich habe mich vor kurzem mal durch die MySQL Tabellen bei mir auf dem Server gekämpft und bin dabei auf verschiedene Arten von Tabellen gestoßen.
    InnoDB und MyISAM.


    Was genau bedeutet transaktionssicher und nicht-transaktionssicher?
    Ich werd aus den entprechenden Manuals und Hilfe seiten im I-Net net schlau, außer dass MyISAM schneller sein soll wie InnoDB.


    Was ist für einen SA:MP Server besser?
    transaktionssichere Tabellen oder sollte ich eher die schnelleren nicht-transaktionssicheren Tabellen verwenden?


    MfG
    Wepper

    Wäre es nicht ein wenig Resourcen freundlicher, den Namen der Person erst zu speichern, wenn man ihn kicken will?
    Also

    if(ping ...)
    {
    GetPlayerName(...);
    format(....);
    }

    Oder macht das da keinen Unterschied?

    Mach die Abfrage mal in folgendes Public:


    public IsPlayerAdminCall(playerid)


    Also so zum Beispiel:
    public IsPlayerAdminCall(playerid)
    {
    if(PlayerInfo[playerid][pTut] == 1) return 1;
    if(PlayerInfo{playerid][pAdmin] > 0) return 1;
    return 0;
    }


    Und schau dann mal, ob der Spieler immer noch gekickt wird

    Hallo,


    ich hab, mal wieder, ein Problem ...


    Auf meinem Server läuft ein Filterscript, welches 3 Bots benötigt.
    Beim laden werden die Bots auch erstellt, und dann sofort wieder von Junkbuster gekickt.


    Das Filterscript ist mit der JunkBuster Include compilt worden, und die entsprechenden Dateien im npc Ordner sind auch alle da.


    Vielleicht hat jemand ne Idee, warum der einfach die unschuldigen Bots kickt ... .


    MfG
    Wepper

    Ich kenn mich mit crashdetect nicht sonderlich gut aus, aber aufgrund des Fehler würde ich davon ausgehen, dass du einem Array oder einer Variable unter OnGameModeInit einen ungültigen oder zu hohen Wert gibts.
    Gibt Warnings beim compilern des Scripts?

    Ich würde den Rechner zu nem Techniker geben. Der kann sicherlich mehr helfen als wir hier. Schließlich können wir, im Gegensatz zu nem Techniker den Rechner nicht sehen ;)

    @weeper:
    Wenn der pc aus ist geht das tool ja nicht xD


    Ok, aber man weis ja nie, was man so versucht ;)


    Hat der Rechner gestern irgendein komisches Geräusch gemacht? Hat er gequalmt oder gestunken? Wenn nein, prüf mal alle Kabelverbindungen, auch die am Motherboard (Nur wenn du dich da auskennst, bzw die Garantie schon abgelaufen ist und du sicher bist, nichts kaputt zu machen ..., davor natürlich Netzkabel entfernen!)


    Gabs in der Vergangenheit öfters Bluescreens oder sonstige Fehlermeldungen?

    Du versuchst deinen Rechner mit dem Startknopf zu starten und nicht mit der Tastatur oder dem Tool?
    Steck mal das Netzkabel aus, warte ein-zwei Minuten und steck es wieder ein. Versuch dann nochmal den Rechner zu starten

    Hey
    Danke für deinen Vorschlag.
    Die Function mysql_retrieve_row wird von dem Plugin, welches ich nutze, nicht unterstütz und auf der Plugin Seite im Wiki seh ich keine Alternative Function.


    Wegen dem mysql_free_result: Das hatte ich am ende, hab ich aber beim kopieren vergessen ...


    Und was mich stutzig macht: Wenn der Server startet, wie auch immer, dann lädt er die Daten ja ... .
    Aber halt nur, wenn er startet und nicht wegen dem segemtation fault abbricht.

    Hallo,


    ich habe seit ein paar Stunden folgendes Problem:
    Beim starten des Server über Putty kommt ein Segmentation fault.


    Den Fehler konnte ich auf folgende Funktion eingrenzen:



    Function()
    {
    new result[100];
    for(new h=0; h<sizeof Array; h++)
    {
    format(mysql_string, sizeof mysql_string, "SELECT * FROM table WHERE id LIKE '%d'", h+1);
    mysql_fix_query(mysql_string, sql);
    mysql_store_result(sql);
    if(mysql_num_rows(sql) == 1)
    {
    mysql_fetch_field_row(result,"owner", sql);
    format(Array[h][hoOwner], MAX_PLAYER_NAME, "%s", result);
    mysql_fetch_field_row(result,"name", sql);
    format(Array[h][hoName], 52, "%s", result);
    mysql_fetch_field_row(result,"hx", sql); Array[h][hoX] = floatstr( result );
    mysql_fetch_field_row(result,"hy", sql); Array[h][hoY] = floatstr( result );
    mysql_fetch_field_row(result,"hz", sql); Array[h][hoZ] = floatstr( result );
    mysql_fetch_field_row(result,"owned", sql); Array[h][hoOwned] = strval( result );
    }
    return 1;
    }



    Die Zeile mysql_fetch_field_row(result,"owner", sql); verursacht meiner Meinung nach den Error.
    Es laufen die Plugins mysql.so (Von Strickenkid), sscanf2.so, streamer.so (Von Inkognito) und whirpool.so


    Das Serverlog ist ohne Auffälligkeiten.


    Das komische:
    Wenn ich den Server mit dem Plugin crashdetect.so startet, dann startet der Server. Ohne startet er garnicht.
    Das ist aber erst, seit ich obrige Function eingebaut habe.


    Ich hab aus lauter Verzweiflung den ganzen Server mit strace überprüft.
    Die ausgabe hab ich mal angehängt, aber ich finde dabei keinen schwerwiegenden Fehler, der auf einen Segmentation fault hinweist.


    Als Server läuft Debian Squeeze 64 Bit mit 32 Bit Libary, MySQL 5.1.66 per ATP installiert.
    Server wird als eigener Benutzer ohne Admin Rechte ausgeführt, was bislang auch ohne Probleme geklappt hat.


    Falls weiter Infos benötigt werden bitte melden.


    MfG
    Wepper


    //Edit
    So, endlich hinbekommen. Der Server startet jetzt überhaupt nicht mehr :cursing: .
    Crashdetect spuckt folgendes aus:


    Die Function, die hier Probleme macht, ist die obrige.


    //Edit 2:
    Wenn ich den Server mit strace starte, stürzt er nicht ab, zumindest ist er jetzt grad 3 mal ohne Probleme hochgefahren.
    Aber dass ist doch nicht die Lösung?!

    Ich schätze mal, du hast die Include von einem anderen Plugin wie das, das du auf dem Server hast ;)


    MySQL plugin by StrickenKid -> Das ist vermutlich dein Plugin, welches du im Server lädst.
    MySQL plugin by BlueG -> Und daher hast du wahrscheinlich die Include.


    Lad dir ein Plugin neu runter, kopiere alle Dateien und dann versuch es nochmal


    Zitat

    gibt es bei dir im Script diesen stock mysql_init ??


    Das ist beim Strickenkid Plugin eine Nativ