İnvalid Password Hatası Çözümü

Krauss

Asteğmen
Katılım
15 May 2026
Mesajlar
14
Tepkime puanı
3
Selamlar DeltaSoft Üyeleri

Öncelikle Arkadaşlar Uygulamayı Dikkatlice Yaparsanız İşi Çözersiniz Buyrun Başlıyalım

Fakat Kesinlikle Sorunsuzdur Arkadaşlar Başıma Gelene Kadar Başlıyoruz


Nedir ? : Oyuna Girişte ne yazarsanız yazın invalid password hatası alırsınız.
Neden Olur ? : Version Managerinizin ( Login Serverınızın ) dbden okuduğu prosedür her gönderiye invalid password olarak cevap veriyordur..
Çözümü : Login Serverınızın Okuduğu bu prosedürü düzeltmek..
Valentine Login Server gibi Version Managerler ACCOUNT_LOGIs den okur.. ( Kendi Login Serverınıza Göre Değiştirin )
Genelde Prosedür adları ;

ACCOUNT_LOGIN
ACCOUNT_LOGIs
MAIN_LOGIN
My_LOGIN
myst_login
MGAME_LOGIN
Düzgün Login prosedürü ; ( Oto Üyelik )

SQL:
CREATE PROCEDURE ACCOUNT_LOGIs
(
    @AccountID varchar(21),
    @Password varchar(13),
    @nRet smallint OUTPUT
)
AS
BEGIN

    -- Auto Register
    SELECT @nRet = COUNT(*)
    FROM TB_USER
    WHERE strAccountID = @AccountID

    IF @nRet = 0
    BEGIN
        INSERT INTO TB_USER
        (
            strAccountID,
            strPasswd,
            strSocNo,
            iDays
        )
        VALUES
        (
            @AccountID,
            @Password,
            1,
            6
        )
    END

    -- Remove from CURRENTUSER
    DELETE FROM CURRENTUSER
    WHERE strAccountID = @AccountID

    DECLARE @ban int
    DECLARE @ban1 int
    DECLARE @ban2 int

    -- Character authority checks
    SELECT @ban = authority
    FROM USERDATA
    WHERE strUserID =
    (
        SELECT strCharID1
        FROM ACCOUNT_CHAR
        WHERE strAccountID = @AccountID
        AND strCharID1 IS NOT NULL
    )

    SELECT @ban1 = authority
    FROM USERDATA
    WHERE strUserID =
    (
        SELECT strCharID2
        FROM ACCOUNT_CHAR
        WHERE strAccountID = @AccountID
        AND strCharID2 IS NOT NULL
    )

    SELECT @ban2 = authority
    FROM USERDATA
    WHERE strUserID =
    (
        SELECT strCharID3
        FROM ACCOUNT_CHAR
        WHERE strAccountID = @AccountID
        AND strCharID3 IS NOT NULL
    )

    -- Ban control
    IF @ban = 255 OR @ban1 = 255 OR @ban2 = 255
    BEGIN
        SET @nRet = 4
        RETURN
    END

    DECLARE @Nation tinyint
    DECLARE @pwd varchar(13)

    SET @Nation = 0
    SET @pwd = NULL

    -- Password check
    SELECT @pwd = strPasswd
    FROM TB_USER
    WHERE strAccountID = @AccountID

    IF @pwd IS NULL
    BEGIN
        SET @nRet = 0
        RETURN
    END

    IF @pwd <> @Password
    BEGIN
        SET @nRet = 0
        RETURN
    END

    -- Delete expired premium
    DELETE FROM PREMIUM_SERVICE
    WHERE nDays = 0

    -- Nation info
    SELECT @Nation = bNation
    FROM ACCOUNT_CHAR
    WHERE strAccountID = @AccountID

    IF @@ROWCOUNT = 0
    BEGIN
        SET @nRet = 1
        RETURN
    END

    -- Success
    SET @nRet = @Nation + 1
    RETURN

END
GO



Örnek Bu Hatayı Alıyorsunuz LoginServer
Girin Ve Orda'ki Dosyalarda, Login.log
Dosyası Olcak İçindeki İsime Bakarak Hangi Yolda Çalıştığını Anlayabilirsiniz Mesela Örnek Verelim Benim Başıma Şöyle Geldi


Login.log İçinde Baktım MAIN_LOGIN Tarafından Okunuyor Sizde Mesela Üstteki Kod'da

Not : Mavi Kısmı kendi prosedürünüze göre değiştirin.

Kısmını Ayarlayın
 
Son düzenleme:

Konuyu Görüntüleyen Kullanıcılar (Toplam:1)