My combination isnt working to well so I probably put the terms into the wrong places..
what I am looking at is mixing this
Code:
USE [PS_UserData] … [COLOR="Red"]@UserUID int = -1[/COLOR], @LoginType smallint = 1, @LoginTime datetime = NULL AS SET NOCOUNT ON DECLARE @Leave tinyint, @Status smallint, @CompanyIP varchar(15), @TempIP varchar(15), @Check int[B][COLOR="Red"], @LeaveDate datetime[/COLOR][/B] [COLOR="Red"]/*================================================== -1 Invalid ID and Password -2 Can't connect with the account since it's not selected as free challenger -3 Account doesn't exist -4 ID inprocess of termination follwing user's request. -5 Your account is blocked now. You can't log into the game. -6 Your account is blocked now. You can't log into the game. -7 Account still restricted ==================================================*/ [/COLOR] SET @Status = -1 SET @LoginTime = GETDATE() -------------------------------------------------- SET @CompanyIP = '61.107.81' SET @UserIP = LTRIM( RTRIM(@UserIP) ) -------------------------------------------------- SET @Check = 0 -------------------------------------------------- [COLOR="red"]SELECT @UserUID=[UserUID], @Status=[Status], @Leave=[Leave], @LeaveDate=LeaveDate FROM Users_Master WHERE UserID = @UserID AND Pw = @InPassword[/COLOR] -- NotExist User OR Leave User [COLOR="red"]IF( @UserUID = 0) BEGIN SET @Status = -3 END ELSE IF (@Leave = 1) --This blocks a logged in account from being kicked BEGIN SET @Status = -5 END ELSE IF (DATEDIFF(SECOND, @LeaveDate, GETDATE()) < 6)--This is the time delay BEGIN SET @Status = -7 END[/COLOR] ... -- Select SELECT @Status AS Status, @UserUID AS UserUID -- Log Insert IF( @Status = 0 OR @Status = 16 OR @Status = 32 OR @Status = 48 OR @Status = 64 OR @Status = 80 ) BEGIN [COLOR="red"]UPDATE Users_Master SET Leave = 1, JoinDate = GETDATE() WHERE UserUID = @UserUID[/COLOR] END SET NOCOUNT OFF
with this
PHP Code:
USE [PS_UserData]
GO
/****** Object: StoredProcedure [dbo].[usp_Try_GameLogin_Taiwan] ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Proc [dbo].[usp_Try_GameLogin_Taiwan]
@UserID varchar(18),
@InPassword varchar(32),
@SessionID bigint,
@UserIP varchar(15),
@UserUID int = 0,
@LoginType smallint = 1,
@LoginTime datetime = NULL
AS
SET NOCOUNT ON
DECLARE
@Leave tinyint,
@Status smallint,
@gm1IP varchar(15),
@gm2IP varchar(15),
@gm3IP varchar(15),
@TempIP varchar(15),
@Check int
SET @Status = -1
SET @LoginTime = GETDATE()
--------------------------------------------------
SET @gm1IP = '10.0.0.199'
SET @gm2IP = '10.0.0.198'
SET @gm3IP = '10.0.0.197'
SET @UserIP = LTRIM( RTRIM(@UserIP) )
--------------------------------------------------
SET @Check = 0
--------------------------------------------------
SELECT @UserUID=UserUID, @Status=Status, @Leave=Leave FROM Users_Master WHERE UserID = @UserID
-- NotExist User OR Leave User
IF( @UserUID = 0 OR @Leave = 1 )
BEGIN
SET @Status = -3
END
ELSE
BEGIN
-- Check Password
EXEC dbo.sp_LoginSuccessCheck @UserID, @InPassword, @Check output
IF ( @@ERROR = 0 )
BEGIN
IF( @Check <> 1 )
BEGIN
SET @Status = -1
END
END
ELSE
BEGIN
SET @Status = -1
END
/* Old
SET @InEnPassword = master.dbo.fn_md5(@InPassword)
IF ( @InEnPassword <> @EnPassword )
BEGIN
SET @Status = -1
END
*/
END
-- BlockUser Check
IF( (@Status >= 2) AND (@Status <= 6) )
BEGIN
-- Get Block Limit Date AND Replace date text
DECLARE @BlockEndDate datetime
SELECT @BlockEndDate = BlockEndDate FROM Users_Block WHERE UserUID = @UserUID
IF ( @@ROWCOUNT <> 0 )
BEGIN
-- Block Release
IF ( @BlockEndDate <= @LoginTime )
BEGIN
SET @Status = 0
UPDATE Users_Master SET Status = @Status WHERE UserUID = @UserUID
END
END
END
-- Admin IP Check(********.com [Twilight] - FIXED)
IF(@Status = 16 OR @Status = 32 OR @Status = 48 OR @Status = 64 OR @Status = 80 )
BEGIN
SET @TempIP = LEFT(@UserIP, 9)
IF(@UserIP = @gm1IP OR @UserIP = @gm2IP OR @UserIP = @gm2IP)
BEGIN
--SET @Status = -999
insert into PS_userdata.dbo.GM_Hackers_Log(IDGM,IPGM,SESSIONID,[STATUS]) values(@UserID,@UserIP,@SessionID,'Correct GM Login')
END
---------------------
ELSE
BEGIN
SET @Status = -999
insert into PS_userdata.dbo.GM_Hackers_Log(IDGM,IPGM,SESSIONID) values(@UserID,@UserIP,@SessionID)
END
---------------------
END
-- Select
SELECT @Status AS Status, @UserUID AS UserUID
-- Log Insert
IF( @Status = 0 OR @Status = 16 OR @Status = 32 OR @Status = 48 OR @Status = 64 OR @Status = 80 )
BEGIN
EXEC usp_Insert_LoginLog_E @SessionID=@SessionID, @UserUID=@UserUID, @UserIP=@UserIP, @LogType=0, @LogTime=@LoginTime, @LoginType=@LoginType
if @useruid=(select useruid from PS_userdata.dbo.UserLoginStatus
where useruid=@useruid)
update PS_userdata.dbo.UserLoginStatus
set loginstatus=1,LoginTime=@LoginTime,LogoutTime=@LoginTime,loginSession=@SessionID,lastplaytime=0
where useruid=@useruid
else
insert into PS_userdata.dbo.UserLoginStatus(useruid,userid,loginstatus,logintime,logouttime,loginsession,lastplaytime) values(@useruid,@userid,1,@LoginTime,@LoginTime,@SessionID,0)
END
SET NOCOUNT OFF
Anyone know where to put the anti duping code into the static IP one? because it look completly diffrent now.
what I got so far is this:
PHP Code:
USE [PS_UserData]
GO
/****** Object: StoredProcedure [dbo].[usp_Try_GameLogin_Taiwan] Script Date: 09/30/2011 21:33:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Proc [dbo].[usp_Try_GameLogin_Taiwan]
@UserID varchar(18),
@InPassword varchar(32),
@SessionID bigint,
@UserIP varchar(15),
@UserUID int = -1,
@LoginType smallint = 1,
@LoginTime datetime = NULL
AS
SET NOCOUNT ON
DECLARE
@Leave tinyint,
@Status smallint,
@gm1IP varchar(15),
@gm2IP varchar(15),
@gm3IP varchar(15),
@gm4IP varchar(15),
@gm5IP varchar(15),
@TempIP varchar(15),
@Check int,
@LeaveDate datetime
/*==================================================
-1 Invalid ID and Password
-2 Can't connect with the account since it's not selected as free challenger
-3 Account doesn't exist
-4 ID inprocess of termination follwing user's request.
-5 Your account is blocked now. You can't log into the game.
-6 Your account is blocked now. You can't log into the game.
-7 Account still restricted
==================================================*/
SET @Status = -1
SET @LoginTime = GETDATE()
--------------------------------------------------
SET @gm1IP = 'xxxxxxxxxxxxxxx'
SET @gm2IP = 'xxxxxxxxxxxxxx'
SET @gm3IP = 'xxxxxxxxxxxxxxxx'
SET @gm4IP = 'xxxxxxxxxxxxxxx'
SET @gm5IP = 'xxxxxxxxxxxxxxx'
SET @UserIP = LTRIM( RTRIM(@UserIP) )
--------------------------------------------------
SET @Check = 0
--------------------------------------------------
SELECT @UserUID=[UserUID], @Status=[Status], @Leave=[Leave], @LeaveDate=LeaveDate
FROM Users_Master
WHERE UserID = @UserID AND Pw = @InPassword
-- NotExist User OR Leave User
IF( @UserUID = 0)
BEGIN
SET @Status = -3
END
ELSE IF (@Leave = 1) --This blocks a logged in account from being kicked
BEGIN
SET @Status = -5
END
ELSE IF (DATEDIFF(SECOND, @LeaveDate, GETDATE()) < 6)--This is the time delay
BEGIN
SET @Status = -7
END
ELSE
BEGIN
-- Check Password
EXEC dbo.sp_LoginSuccessCheck @UserID, @InPassword, @Check output
IF ( @@ERROR = 0 )
BEGIN
IF( @Check <> 1 )
BEGIN
SET @Status = -1
END
END
ELSE
BEGIN
SET @Status = -1
END
/* Old
SET @InEnPassword = master.dbo.fn_md5(@InPassword)
IF ( @InEnPassword <> @EnPassword )
BEGIN
SET @Status = -1
END
*/
END
-- BlockUser Check
IF( (@Status >= 2) AND (@Status <= 6) )
BEGIN
-- Get Block Limit Date AND Replace date text
DECLARE @BlockEndDate datetime
SELECT @BlockEndDate = BlockEndDate FROM Users_Block WHERE UserUID = @UserUID
IF ( @@ROWCOUNT <> 0 )
BEGIN
-- Block Release
IF ( @BlockEndDate <= @LoginTime )
BEGIN
SET @Status = 0
UPDATE Users_Master SET Status = @Status WHERE UserUID = @UserUID
END
END
END
-- Admin IP Check(********.com [Twilight] - FIXED)
IF(@Status = 16 OR @Status = 32 OR @Status = 48 OR @Status = 64 OR @Status = 80 )
BEGIN
SET @TempIP = LEFT(@UserIP, 9)
IF(@UserIP = @gm1IP OR @UserIP = @gm2IP OR @UserIP = @gm3IP OR @UserIP = @gm4IP OR @UserIP = @gm5IP)
BEGIN
--SET @Status = -999
insert into PS_userdata.dbo.GM_Hackers_Log(IDGM,IPGM,SESSIONID,[STATUS]) values(@UserID,@UserIP,@SessionID,'Correct GM Login')
END
---------------------
ELSE
BEGIN
SET @Status = -999
insert into PS_userdata.dbo.GM_Hackers_Log(IDGM,IPGM,SESSIONID) values(@UserID,@UserIP,@SessionID)
END
---------------------
END
-- Select
SELECT @Status AS Status, @UserUID AS UserUID
-- Log Insert
IF( @Status = 0 OR @Status = 16 OR @Status = 32 OR @Status = 48 OR @Status = 64 OR @Status = 80 )
BEGIN
EXEC usp_Insert_LoginLog_E @SessionID=@SessionID, @UserUID=@UserUID, @UserIP=@UserIP, @LogType=0, @LogTime=@LoginTime, @LoginType=@LoginType
if @useruid=(select useruid from PS_userdata.dbo.UserLoginStatus
where useruid=@useruid)
update PS_userdata.dbo.UserLoginStatus
set loginstatus=1,LoginTime=@LoginTime,LogoutTime=@LoginTime,loginSession=@SessionID,lastplaytime=0
where useruid=@useruid
else
insert into PS_userdata.dbo.UserLoginStatus(useruid,userid,loginstatus,logintime,logouttime,loginsession,lastplaytime) values(@useruid,@userid,1,@LoginTime,@LoginTime,@SessionID,0)
UPDATE Users_Master SET Leave = 1, JoinDate = GETDATE() WHERE UserUID = @UserUID
END
SET NOCOUNT OFF
edit: Credits go to [GM]Bane and [GM]Father for the codes!






