CritYouDown |
06-01-2017 09:20 PM |
رد: JGuard [FREE] Packet filter
اقتباس:
المشاركة الأصلية كتبت بواسطة keshk2007
(المشاركة 5292566)
ممكن حضرتك ال DB لـ SQl 2008
|
اعمل Database اسمها JGuard
و اعمل دول
كود:
USE [JGuard]
GO
/****** Object: Table [dbo].[_CurrentOnline] Script Date: 1/6/2017 8:12:11 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[_CurrentOnline](
[Num] [int] IDENTITY(1,1) NOT NULL,
[Charname] [varchar](max) NULL,
[StrUserID] [varchar](64) NOT NULL,
[JID] [int] NULL,
[IP] [varchar](64) NULL,
[Onlinefrom] [datetime] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
كود:
USE [JGuard]
GO
/****** Object: Table [dbo].[_FortressReward] Script Date: 1/6/2017 8:13:01 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[_FortressReward](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Machine] [varchar](max) NULL,
[CharName] [varchar](20) NOT NULL,
[Guildname] [varchar](max) NULL,
[time] [datetime] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
كود:
USE [JGuard]
GO
/****** Object: Table [dbo].[_HWID] Script Date: 1/6/2017 8:13:19 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[_HWID](
[StrUserID] [varchar](64) NULL,
[HWID] [varchar](64) NULL,
[last_seen] [datetime] NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
كود:
USE [JGuard]
GO
/****** Object: Table [dbo].[_HWID_BANS] Script Date: 1/6/2017 8:13:35 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[_HWID_BANS](
[id] [int] IDENTITY(1,1) NOT NULL,
[HWID] [varchar](64) NOT NULL,
[last_seen] [datetime] NOT NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
كود:
USE [JGuard]
GO
/****** Object: Table [dbo].[_HWID_LOG] Script Date: 1/6/2017 8:13:50 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[_HWID_LOG](
[ID] [int] IDENTITY(1,1) NOT NULL,
[StrUserID] [varchar](64) NULL,
[HWID] [varchar](64) NULL,
[log_time] [datetime] NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
كود:
USE [JGuard]
GO
/****** Object: Table [dbo].[_ItemName] Script Date: 1/6/2017 8:14:03 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[_ItemName](
[CodeName128] [varchar](50) NOT NULL,
[Name] [varchar](500) NOT NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
كود:
USE [JGuard]
GO
/****** Object: Table [dbo].[_JobSys] Script Date: 1/6/2017 8:14:21 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[_JobSys](
[No] [int] IDENTITY(1,1) NOT NULL,
[Charname] [varchar](max) NULL,
[Type] [varchar](max) NULL,
[Machine] [varchar](max) NULL,
CONSTRAINT [PK__JobSys] PRIMARY KEY CLUSTERED
(
[No] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
كود:
USE [JGuard]
GO
/****** Object: Table [dbo].[_LOG_CHAT_ALL] Script Date: 1/6/2017 8:14:36 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[_LOG_CHAT_ALL](
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[CharName] [varchar](255) NULL,
[Message] [varchar](255) NULL,
[Time] [datetime] NULL,
CONSTRAINT [PK_AllChat] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
كود:
USE [JGuard]
GO
/****** Object: Table [dbo].[_LOG_CHAT_GLOBAL] Script Date: 1/6/2017 8:15:17 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[_LOG_CHAT_GLOBAL](
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[CharName] [varchar](255) NULL,
[Message] [varchar](255) NULL,
[Time] [datetime] NULL,
CONSTRAINT [PK_GlobalChat] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
كود:
USE [JGuard]
GO
/****** Object: Table [dbo].[_LOG_CHAT_PRIVATE] Script Date: 1/6/2017 8:15:33 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[_LOG_CHAT_PRIVATE](
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[Sender] [varchar](255) NULL,
[Receiver] [varchar](255) NULL,
[Message] [varchar](255) NULL,
[Time] [datetime] NULL,
CONSTRAINT [PK_PrivateChat] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
كود:
USE [JGuard]
GO
/****** Object: Table [dbo].[_LOG_UNIQUE] Script Date: 1/6/2017 8:15:45 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[_LOG_UNIQUE](
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[CharID] [int] NULL,
[CharName] [varchar](255) NULL,
[MonsterCodeName] [varchar](255) NULL,
[MonsterID] [int] NULL,
[Time] [datetime] NULL,
CONSTRAINT [PK_UniqueKills] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
كود:
USE [JGuard]
GO
/****** Object: StoredProcedure [dbo].[_HWIDCHECK] Script Date: 1/6/2017 8:16:01 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[_HWIDCHECK]
@StrUserID VARCHAR(50),
@HWID VARCHAR(64)
AS
--- DECLARE
DECLARE @Value int = 0;
/* Check if @StrUserID AND @IP is not empty */
IF (LEN(@StrUserID) > 0 AND LEN(@HWID) > 0)
BEGIN
--- LOGGING
INSERT INTO [JGuard].[dbo].[_HWID_LOG] (StrUserID, HWID, log_time) VALUES(@StrUserID, @HWID, GETDATE());
--- Banned HWIDS? :D
IF EXISTS(SELECT HWID FROM [JGuard].[dbo].[_HWID_BANS] WHERE HWID like @HWID)
BEGIN
SET @Value = 0;
-- UPDATE last_seen on bans.
UPDATE [JGuard].[dbo].[_HWID_BANS] SET last_seen = GETDATE() WHERE HWID like @HWID;
-- Ban new account if HWID banned?
IF(NOT EXISTS(SELECT UserID FROM SRO_VT_ACCOUNT.[dbo].[_BlockedUser] WHERE UserID = @StrUserID AND SerialNo = 1))
BEGIN
INSERT INTO SRO_VT_ACCOUNT.[dbo].[_BlockedUser] (UserJID, UserID, [Type], SerialNo, timeBegin, timeEnd) VALUES((SELECT JID FROM SRO_VT_ACCOUNT.[dbo].[TB_User] WHERE StrUserID = @StrUserID), @StrUserID, 1, 1, GETDATE(), '2116-02-23 03:29:26.000');
INSERT INTO SRO_VT_ACCOUNT.[dbo].[_Punishment] (UserJID, [Type], Executor, Shard, CharName, CharInfo, PosInfo, Guide, [Description], RaiseTime, BlockStartTime, BlockEndTime, PunishTime, [Status])
VALUES((SELECT JID FROM SRO_VT_ACCOUNT.[dbo].[TB_User] WHERE StrUserID = @StrUserID), 1, 1, 64, '', '', '', 'You have been banned from this server', 'You have been banned from this server', GETDATE(), GETDATE(), '2116-02-23 03:29:26.000', GETDATE(), 0);
END
END
ELSE
BEGIN
--- First time connected? good!
IF NOT EXISTS(SELECT StrUserID FROM [JGuard].[dbo].[_HWID] WHERE StrUserID = @StrUserID)
BEGIN
INSERT INTO [JGuard].[dbo].[_HWID] (StrUserID, HWID, last_seen) VALUES(@StrUserID, @HWID, GETDATE());
SET @Value = 1;
END
-- UPDATE THEIR HWID.
ELSE IF EXISTS(SELECT StrUserID from [JGuard].[dbo].[_HWID] WHERE StrUserID = @StrUserID and HWID is null)
BEGIN
UPDATE [JGuard].[dbo].[_HWID] SET HWID = @HWID WHERE StrUserID = @StrUserID;
SET @Value = 0;
END
--- HWID exists, UPDATE Last seen!
ELSE IF EXISTS(SELECT StrUserID FROM [JGuard].[dbo].[_HWID] WHERE StrUserID = @StrUserID and HWID like @HWID)
BEGIN
UPDATE [JGuard].[dbo].[_HWID] SET last_seen = GETDATE() WHERE StrUserID = @StrUserID;
SET @Value = 1;
END
--- HWID OLD, NOT UPDATED!
ELSE IF EXISTS(SELECT StrUserID FROM [JGuard].[dbo].[_HWID] WHERE StrUserID = @StrUserID and last_seen < DATEADD(HOUR, -5, GETDATE()))
/* EXAMPLES ^
MINUTE, -4 // MINUTES HERE
HOUR, -4 // HOURS HERE
DAY, -4 // DAYS HERE
WEEK, -1 // WEEKS HERE
*/
BEGIN
UPDATE [JGuard].[dbo].[_HWID] SET HWID = @HWID, last_seen = GETDATE() WHERE StrUserID = @StrUserID;
SET @Value = 1;
END
--- Trying to bypass, fuck off.
ELSE IF NOT EXISTS(SELECT StrUserID FROM [JGuard].[dbo].[_HWID] WHERE StrUserID = @StrUserID and HWID like @HWID)
BEGIN
SET @Value = 0;
END
END
--- Final countdown <3
SELECT @Value;
END
ELSE
BEGIN
SELECT @Value;
END
كود:
USE [JGuard]
GO
/****** Object: StoredProcedure [dbo].[_STALLFILTER] Script Date: 1/6/2017 8:16:44 PM ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER PROCEDURE [dbo].[_STALLFILTER]
@CharName VARCHAR(64),
@Slot TINYINT = 0
AS
/* Variable declarations */
DECLARE @CharID INT, @ItemID BIGINT = 0, @RefItemID BIGINT = 0, @Value INT = 0;
/*
* Get shits
*/
SELECT DISTINCT @CharID = a.CharID, @ItemID = b.ItemID, @RefItemID = c.RefItemID
FROM SRO_VT_SHARD.[dbo].[_Char] a WITH (NOLOCK)
JOIN SRO_VT_SHARD.[dbo].[_Inventory] b ON a.CharID = b.CharID
JOIN SRO_VT_SHARD.[dbo].[_Items] c ON b.ItemID = c.ID64
WHERE LTRIM(RTRIM(a.CharName16)) LIKE LTRIM(RTRIM(@CharName)) AND b.Slot = @Slot
/* Example query for blocking (Stall, Exchange, Consigment) on RefItemID from _RefObjCommon aka ID.
IF(@RefItemID > 0)
BEGIN
IF(@RefItemID in (1,2,3,4,5))
BEGIN
SET @Value = 1;
-- Value 1, means you can't do shit with these items.
END
END
*/
--- Check if item has advanced.
IF EXISTS(SELECT nSlot FROM SRO_VT_SHARD.[dbo].[_BindingOptionWithItem] WHERE nItemDBID = @ItemID)
BEGIN
-- Check ItemID's
IF(@RefItemID in (4109))
BEGIN
-- Return true if ItemID in ^ and has adv.
SET @Value = 1;
END
END
SELECT @Value;
كود:
USE [JGuard]
GO
/****** Object: StoredProcedure [dbo].[_UnionLimit] Script Date: 1/6/2017 8:17:03 PM ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER PROCEDURE [dbo].[_UnionLimit]
@CharName VARCHAR(64)
AS
/* Variable declarations */
DECLARE @CharID INT, @Value int, @GuildID INT, @UnionID INT = 0, @GuildCount INT = 0, @UnionCount INT = 0;
SELECT DISTINCT @CharID = a.CharID, @GuildID = a.GuildID , @UnionID = e.Alliance
FROM [SRO_VT_SHARD].[dbo].[_Char] a WITH (NOLOCK)
INNER JOIN [SRO_VT_SHARD].[dbo].[_User] b ON a.CharID = b.CharID
JOIN [SRO_VT_SHARD].[dbo].[_Guild] e ON e.ID = a.GuildID
WHERE LTRIM(RTRIM(a.CharName16)) LIKE LTRIM(RTRIM(@CharName))
--- Count union guilds ---
IF (@GuildID is not null AND @GuildID > 0)
BEGIN
--- Mike coding
DECLARE @Ally2 int = 0, @Ally3 int = 0, @Ally4 int = 0, @Ally5 int = 0, @Ally6 int = 0, @Ally7 int = 0, @Ally8 int = 0;
-- Selection of doom
SELECT DISTINCT @Ally2 = a.Ally2, @Ally3 = a.Ally3, @Ally4 = a.Ally4,
@Ally5 = a.Ally5, @Ally6 = a.Ally6, @Ally7 = a.Ally7, @Ally8 = a.Ally8
FROM [SRO_VT_SHARD].[dbo].[_AlliedClans] a WITH (NOLOCK)
WHERE ID = @UnionID;
--- OWNER GUILD
if(@Ally2 > 0)
SET @UnionCount = @UnionCount + 1;
if(@Ally3 > 0)
SET @UnionCount = @UnionCount + 1;
if(@Ally4 > 0)
SET @UnionCount = @UnionCount + 1;
if(@Ally5 > 0)
SET @UnionCount = @UnionCount + 1;
if(@Ally6 > 0)
SET @UnionCount = @UnionCount + 1;
if(@Ally7 > 0)
SET @UnionCount = @UnionCount + 1;
if(@Ally8 > 0)
SET @UnionCount = @UnionCount + 1;
END
SELECT @UnionCount
|