Selamlar Alıntı 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 )













Kod:

CREATE PROCEDURE ACCOUNT_LOGIs



@AccountID varchar(21),

@Password varchar(13),

@nRet smallint OUTPUT



AS



select @nRet = count(straccountid) from tb_user where straccountid = @AccountID



if @nRet = 0

begin

insert into tb_user (straccountid, strpasswd, strSocNo, idays) values (@AccountID, @password, 1, '6')

end



--CurrentUserdan Silelim

delete from currentuser where straccountid = @AccountID



declare @ban int , @ban1 int, @ban2 int

select @nRet = count(straccountid) from currentuser

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 strcharid1 is not null )

select @ban2 = authority from userdata where struserid = (select strcharid3 from account_char where straccountid = @AccountID and strcharid1 is not null )



if @ban = 255 or @ban1 = 255 or @ban2 = 255

begin

Set @nRet = 4

RETURN

end



DECLARE @Nation tinyint

SET @Nation = 0

-- tid login method by samma 2004.02.24

DECLARE @pwd varchar(13)



SET @pwd = null



SELECT @pwd = strPasswd FROM TB_USER WHERE strAccountID = @AccountID

IF @pwd IS null

BEGIN

SET @nRet = 0

RETURN

END



ELSE IF @pwd @Password

BEGIN

SET @nRet = 0

RETURN

END

delete from premium_service Where nDays = '0'

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

IF @@ROWCOUNT = 0

BEGIN

SET @nRet = 1

RETURN

END

BEGIN

SET @nRet = 1

RETURN

END

BEGIN

SET @nRet = @Nation+1

RETURN

END

GO


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











Not : İp Ucu Veriyorum Uyanın Bu Bana Aittir



















Ö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 Umarım Çakmışınızdır







Kaynak:
Servertanitim.NeT