Beiträge von XonarZ

    Moin,


    Ich hab da mal ein paar fragen^^


    Erste Frage:


    Warum schreibt man für die Verbindungsversuche "_:handle" ... reicht nicht einfach nur "handle" ?



    Zweite Frage:


    Ich versteh nicht ganz wie der Syntax von


    cache_get_value_name_int(0, "id", PlayerInfo[playerid][pID]);


    Also klar, das was in der Datenbank steht als ID soll als pID gespeichert werden, aber warum die 0? wofür braucht man das und was ist wenn ich eine 1 eintragen würde?


    Dritte Frage:


    Wenn ich als Beispiel nur folgenden Query ausführe:


    mysql_format(handle, query, sizeof(query), "SELECT * FROM user WHERE name = '%e'", NAME);
    usw...


    Wie kann ich dann nur den Content von einer Spalte Prüfen ? Ich meine klar in diesem Beispiel ist es sinnvoller einfach beides zu prüfen und wenn es inkorrekt ist, kann es nur das Passwort sein^^ aber für die Zukunft? Welche Funktion vom cache ist da besser?


    Mit freundlichen Grüßen
    XonarZ

    printf("%s",query);

    Danke...


    Ich hab den Fehler gefunden. Also ansich wurde der Query ausgeführt ... Ich idiot hab aber bei meiner Tabelle in phpmyadmin vergessen das "s" hinten ran zu hängen... Meine Tabelle heißt user und nicht users *facepalm*


    Oh man so ein Schussel Fehler X/ Ist ja schon peinlich X/


    Mit freundlichen Grüßen
    XonarZ

    Lass dir mal per printf den Query ausgeben. Sofern nämlich Query seitige Fehler aufkommen, wird nichts aufgerufen, sofern das OnQueryError(?) Callback nicht existiert.


    Führe ihn dann mal manuell per phpmyadmin o.ä. aus

    Danke erstmal für die schnelle Antwort. Sei mir nicht böse, aber wie genau printe Ich den Query printen ?


    Mit freundlichen Grüßen
    XonarZ

    Sehr geehrte Community,


    ich habe jetzt mal angefangen Scripten zu lernen (Habe irgendwie lust dazu bekommen) :D ... Weil ich ja absolut keine Ahnung habe, habe ich mir das Tutorial von Jeffry angeschaut: [jTuT] MySQL R41-4 (Installation, XAMPP, Verwendung, Bedienung & Registrations-System)


    Nun habe ich das Problem, dass er mein OnUserCheck nicht aufruft. Ich habe extra mit Prints gearbeitet, komme allerdings nur bis "TEST3"...



    #include <a_samp>
    #include <a_mysql>


    //MySQL
    #define DBHOST "127.0.0.1"
    #define DBUSER ""
    #define DBPW ""
    #define DBDB ""
    new MySQL:handle;


    //DEFINES
    #define PROJEKTNAME "Lala"


    //FORWARDS
    forward OnUserCheck(playerid);


    //DIALOGE
    #define DIALOG_REGISTER 1
    #define DIALOG_LOGIN 2


    //Globale Variablen
    new string[256];
    new query[256];


    //ENUMS
    enum pData{
    p_id,
    bool:pLoggedIn,
    pName[MAX_PLAYER_NAME],
    pLevel,
    pMoney,
    pKills,
    pDeaths
    }
    new PlayerInfo[MAX_PLAYERS][pData];


    main()
    {
    print("\n----------------------------------");
    printf(" %s Selfmade Script", PROJEKTNAME);
    print("----------------------------------\n");
    }


    public OnGameModeInit()
    {
    MySQL_ConnectSetup();
    SetGameModeText("German Reallife");
    return 1;
    }


    public OnGameModeExit()
    {
    return 1;
    }


    public OnPlayerRequestClass(playerid, classid)
    {
    print("TEST1");
    if(!PlayerInfo[playerid][pLoggedIn])
    {
    print("TEST2");
    mysql_format(handle, query, sizeof(query), "SELECT id FROM users WHERE name = '%e'", PlayerInfo[playerid][pName]);
    mysql_pquery(handle, query, "OnUserCheck", "d", playerid);
    }
    print("TEST3");
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    ResetPlayerStats(playerid);
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    return 1;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    return 1;
    }


    public OnVehicleSpawn(vehicleid)
    {
    return 1;
    }


    public OnVehicleDeath(vehicleid, killerid)
    {
    return 1;
    }


    public OnPlayerText(playerid, text[])
    {
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/mycommand", cmdtext, true, 10) == 0)
    {
    // Do something here
    return 1;
    }
    return 0;
    }


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    return 1;
    }


    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    return 1;
    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    return 1;
    }


    public OnPlayerEnterCheckpoint(playerid)
    {
    return 1;
    }


    public OnPlayerLeaveCheckpoint(playerid)
    {
    return 1;
    }


    public OnPlayerEnterRaceCheckpoint(playerid)
    {
    return 1;
    }


    public OnPlayerLeaveRaceCheckpoint(playerid)
    {
    return 1;
    }


    public OnRconCommand(cmd[])
    {
    return 1;
    }


    public OnPlayerRequestSpawn(playerid)
    {
    return 0;
    }


    public OnObjectMoved(objectid)
    {
    return 1;
    }


    public OnPlayerObjectMoved(playerid, objectid)
    {
    return 1;
    }


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    return 1;
    }


    public OnVehicleMod(playerid, vehicleid, componentid)
    {
    return 1;
    }


    public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
    {
    return 1;
    }


    public OnVehicleRespray(playerid, vehicleid, color1, color2)
    {
    return 1;
    }


    public OnPlayerSelectedMenuRow(playerid, row)
    {
    return 1;
    }


    public OnPlayerExitedMenu(playerid)
    {
    return 1;
    }


    public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
    {
    return 1;
    }


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    return 1;
    }


    public OnRconLoginAttempt(ip[], password[], success)
    {
    return 1;
    }


    public OnPlayerUpdate(playerid)
    {
    return 1;
    }


    public OnPlayerStreamIn(playerid, forplayerid)
    {
    return 1;
    }


    public OnPlayerStreamOut(playerid, forplayerid)
    {
    return 1;
    }


    public OnVehicleStreamIn(vehicleid, forplayerid)
    {
    return 1;
    }


    public OnVehicleStreamOut(vehicleid, forplayerid)
    {
    return 1;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {

    return 1;
    }


    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    return 1;
    }


    public OnUserCheck(playerid){
    print("TEST 4");

    return 1;
    }


    stock ResetPlayerStats(playerid){
    PlayerInfo[playerid][p_id] = 0;
    PlayerInfo[playerid][pLoggedIn] = false;
    PlayerInfo[playerid][pLevel] = 0;
    PlayerInfo[playerid][pMoney] = 0;
    PlayerInfo[playerid][pKills] = 0;
    PlayerInfo[playerid][pDeaths] = 0;
    GetPlayerName(playerid, PlayerInfo[playerid][pName], MAX_PLAYER_NAME);
    format(string, sizeof(string), "{00D7FF}[SERVER BEITRITT] {FFFFFF}%s hat den Server betreten", SpielerName(playerid));
    SendClientMessageToAll(0xFFFFFFFF, string);
    return 1;
    }


    stock MySQL_ConnectSetup(ttl = 3){
    print("[MYSQL] Verbindungsaufbau...");
    mysql_log();

    handle = mysql_connect(DBHOST, DBUSER, DBPW, DBDB);

    if(mysql_errno(handle) != 0){
    if(ttl > 1){
    print("[MYSQL] Verbindung Fehlgeschlagen...");
    printf("[MYSQL] Versuche erneute Verbindung. Verbindungsversuch: %d", ttl-1);
    return MySQL_ConnectSetup(ttl-1);
    }else{
    print("[MYSQL] Es konnte keine Verbindung zur Datenbank Hergestellt werden.");
    print("[MYSQL] Bitte prüfen Sie die Verbindungsdaten.");
    print("[MYSQL] Server wird heruntergefahren.");
    return SendRconCommand("exit");
    }
    }
    printf("[MYSQL] Verbindung Erfolgreich! Verbindungsversuche: %d", _:handle);
    return 1;
    }


    stock SpielerName(playerid){
    new tmpName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, tmpName, sizeof(tmpName));
    return tmpName;
    }


    Ich habe mit absicht die MySQL Daten rausgelassen.


    //EDIT Ich benutze Version 0.3DL und MySQL halt R41-4 | Das ganze läuft auf meinem PC (Windows 10) :D


    Mit freundlichen Grüßen
    XonarZ

    Haha ich weiß noch, ich hatte mit 11 Jahren durch ein "Habbo" Projekt SA:MP erst kennen gelernt haha da hatte der Besitzer Werbung gemacht für RPG-City.


    also habe ich auf RPG City gespielt bis Level 7 (als neuling und im alter von 12 wusste ich nicht was Sobeit ist :D ) wurde demnach leider gebannt weil ich zu neugierig war, anschließend nach 1 jahr oder so Pause weil es mich schon aufgeregt hatte, bei RPG auf Level 7 ist zumal nicht so einfach gewesen xD ... Hab ich dann auf MrM Angefangen und ich hatte doch richtig viel Spaß als "NetterJunge" haha <3 R.I.P Favourite Server :/

    Vorstellung 2/10 - Formatierungen & Aufbau eine Katastrophe
    Server/Script - 1/10 Das ist doch einfach nur das MrM Script oder?


    Sehe keinen Bedarf das Projekt anzuschauen :/

    DANKE wenigstens einer der es noch so sieht ... Dachte schon ich wäre der einzige und habe mich erst nicht getraut es zu schreiben ...


    Stutzig wurde ich bei der Fraktion: "Carbon Crew", bei dem Tacho und bei dem Tollem Autoimporteur... Dann die Totzeit in Abhängigkeit zum Onlinestatus der medics und wo der Spawn ist ^^


    //EDIT ich werde mir den Server dennoch mal anschauen. Immerhin sind ein paar neue Maps enthalten

    Bin leider nur am Handy, sonst würde ich dir alle nötigen Links schicken. Laravel hat ein User System, welches du mit Artisan nachinstallieren kannst. Suche dazu in der Doku von Laravel nach Authentication o.ä.


    Ansonsten ist die Doku von Laravel ausreichend gefüllt und gut erklärt.

    würde ich persönlich nicht machen, da ich persönlich einer bin, der gerne alles selbst entwickelt. Ich selbst nutze auch laravel und habe mir aber ein eigenes User System aufgebaut. Ich meine klar gibt es eine doku aber ich möchte das was ich benutze auch gerne ausführlich kennen bzw. Halt selbst schreiben.


    Nur als meine Meinung zu einem fertigem system.


    B2T: Wenn du dich auch für eine eigene Entwicklung interessierst kann ich dir gerne zeigen wie ich das gemacht habe, wie du es dann umsetzt ob nun genauso oder vielleicht besser wirst du ja dann sehen :)


    Mit freundlichen Grüßen
    XonarZ
    Über Handy

    @Pytroxis


    Ich habe zwar nicht viel Erfahrung mit Froxlor (bei mir ging halt alles) aber ich bin dann zu I-MSCP gewechselt (Nein ich bekomme kein Geld dafür xD) ... Vielleicht wäre I-MSCP ja besser für dich ? Ich arbeite mit I-MSCP schon ziemlich lange also könnte ich dir ggf. auch bei der Einrichtung helfen.


    Ansonsten hast du auch den richtigen Port angegeben ? Passwort richtig ? Mal geschaut ob der Prozess ProFTPD bzw. VSFTPD läuft?



    Mit freundlichen Grüßen
    XonarZ

    Deiner Fehlerbeschreibung nach, würde ich eher mal vermuten, dass du bei denen auf der Blacklist stehst.
    Im Normalfall gibt es da zwar auch ne Bounce-Message, die für eine Fehlermeldung in der mail.log sorgt, aber man kann ja nie
    wissen, was die größeren Unternehmen, wie Google und Microsoft daran rumpfuschen.


    Hiermit kannst du schonmal einen großteil der Blacklists abarbeiten.
    Falls dadurch nichts zu finden ist, würde ich dir empfehlen mal folgender Anleitung nachzugehen - reckaid - How to Remove Your IP from Gmail Blacklist

    Danke für die Links. Beim Blacklist Lookup sowohl von mxtools als auch von dem Multi gedöns bei der Anleitung steht nirgends, dass ich irgendwo auf der Blacklist bin.


    Hättest du noch andere ideen ?


    Mit freundlichen Grüßen
    XonarZ

    Sollte dies der Fall sein, was ich nicht vermute, dann wüsstest du wie man die Mail.log liest und wie man dort ebenfalls Sachen finde

    Wie dem auch sei.



    Dieser wird auch nicht zwingend benötigt Sollte man nur verwenden, dann ist die Wahrscheinlichkeit geringer das deine Mail in den Spam Ordner kommt oder abgelehnt wird

    Nein mittlerweile ist eine DKIM Signierung eine Bedingung für große Mailprovider, weil die eben Spam vermeiden wollen ;)


    Das bezweifle ich, sonst wäre doch die Mail da oder?, würdest du die passende Stelle mail hier zeigen?

    Laut Mail.log ist die Mail Abgeschickt zur gmail adresse -> Apr 5 16:33:17 vs01 postfix/smtp[3039]: A0EA740477: to=<NAMEENTFERNT@gmail.com[/email]>, relay=gmail-smtp-in.l.google.com[173.194.76.26]:25, delay=0.99, delays=0.23/0.02/0.33/0.42, dsn=2.0.0, status=sent (250 2.0.0 OK 1522938797 e1si5457449wri.363 - gsmtp)
    Apr 5 16:33:17 vs01 postfix/qmgr[1161]: A0EA740477: removed


    Da wo die mail ankommt, ist eine @outlook Adresse. Und wenn ich den Eintrag mit dem von der @hotmail.de adresse vergleiche, ist da kein Unterschied.



    Zitat von Cyberghost

    Hast du nur eine IPv4 oder auch eine IPv6?
    Und hast du das ganze mal per Telnet getestet

    Ich hab auch eine IPv6.
    Was hat denn bitte Telnet mit Mail zu tun ? Telnet läuft bei I-MSCP auf Port 23 (nicht mal das weil Läuft ja nicht laut dem Status) und 23 ist FTP (genauso wie 21)


    Mit freundlichen Grüßen
    XonarZ

    Dann solltest du bitte finger von einem Server lassen und dich damit erstmal vertraut machen und besser einen Webspace nehmen


    Das die Mails über PHP Mail nicht ankommen kann gut sein, und auch Absicht. Da sehr sehr viele Provider immer mehr diese Funktion blockieren, da einfach zu viel Spam dadrüber geschickt wird. Da empfiehlt es sich immer SMTP zu nutzen.
    Bei SMTP trägt man natürlich die Server IP bzw. Domain Namen ein, den Benutzernamen der für das Postfach festgelegt wurde sowie das Passwort ein.
    Nicht vergessen zwischen SSL oder Starttls zu unterscheiden, erstens im Port und zweitens in der Verschlüsselung. Die meisten System nutzen Starttls und daher den Port 587.


    Ach und in der Mail.log kannst du erstens nach bestimmten Sachen suchen, per Nano etc. da drinnen sollte alles gespeichert werden, wie z.b. welche Mail-Adresse von wem welche Uhrzeit etc.

    Du hast mich falsch verstanden^^ Ich kenne mich mit Servern gut aus. Ich hatte schon mal das Problem mit der gleichen Domain gelöst undzwar so wie ich es jetzt auch habe (da brauchte man auch keinen _DMARC oder DKIM Eintrag). Da hatte es auch so funktioniert. Nein ich werde nicht auf nen Webspace wechseln, dafür arbeite ich schon zu lange mit I-MSCP und hatte eigentlich sonst keine Probleme mit der mail(); funktion.


    Naja laut Mail.log ist der Status "OK" sprich Mail wird gesendet kommt aber bei Gmail nicht an und bei Microsoft kommt die Mail nur bei einem einzigen outlook Konto von mir an, nur bei den anderen nicht obwohl der gleiche Text (bis auf die E-Mail) in der mail.log steht^^


    Ja es gibt eine I-MSCP Benutzer Doku in der beschrieben wird wie man den SMTP Server nutzt, hab das auch befolgt. Nur leider kann der (über dieses PHPMailer gedöns) keine Verbindung aufbauen weil irgendwas falsch ist obwohl alles Richtig^^


    Mit freundlichen Grüßen
    XonarZ

    Sicher, dass die Firewall die Ports nicht blockiert?

    Welche Firewall ? Meine oder die von GMAIL, Microsoft usw. ?

    Schon mal im Mail Log geguckt warum diese abgelehnt werden?
    Oder im Spam Ordner von Gmail, Outlook und co.?
    Und wie versendest du die E-Mails, per SMTP oder per PHP Mail?

    1. Ich kann leider mit dem ganzem in der Mail.log nicht wirklich was anfangen.
    2. Nein Leider auch nicht.
    3. über die mail(); funktion von PHP ... da ich keine Ahnung habe wie ich die SMTP Version von I-MSCP über den PHPMailer benutzen soll. Was ich auch probiert habe ist, über Rainloop/Roundcube die E-Mails zu verschicken... kommen auch nicht an.