المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : Banned IP system By Yui


Yui
25-11-2013, 02:37 AM
Hello Silkroad4arab

Today i will add New Banned system for silkroad server
with this system can get IP by Charname & Charname by IP
also can Banned any IP you want


USE SRO_VT_SHARDLOG

CREATE TABLE _IPLogs (

[No.] int IDENTITY(1,1) PRIMARY KEY,
[CharID] int,
[Charname] varchar(max),
[IP] varchar(max),
[Date] datetime
);



USE SRO_VT_SHARDLOG
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


ALTER procedure [dbo].[_AddLogChar]
@CharID int,
@EventID tinyint,
@Data1 int,
@Data2 int,
@strPos varchar(64),
@Desc varchar(128)
as

IF(@EventID = 4 OR @EventID = 6)
BEGIN

declare @len_pos int
declare @len_desc int
set @len_pos = len(@strPos)
set @len_desc = len(@Desc)
if (@len_pos > 0 and @len_desc > 0)
begin
insert _LogEventChar values(@CharID, GetDate(), @EventID, @Data1, @Data2, @strPos, @Desc)
end
else if (@len_pos > 0 and @len_desc = 0)
begin
insert _LogEventChar (CharID, EventTime, EventID, Data1, Data2, EventPos) values(@CharID, GetDate(), @EventID, @Data1, @Data2, @strPos)
end
else if (@len_pos = 0 and @len_desc > 0)
begin
insert _LogEventChar (CharID, EventTime, EventID, Data1, Data2, strDesc) values(@CharID, GetDate(), @EventID, @Data1, @Data2, @Desc)
end
else
begin
insert _LogEventChar (CharID, EventTime, EventID, Data1, Data2) values(@CharID, GetDate(), @EventID, @Data1, @Data2)
end

--For the new IPLog table
Declare @DynIP varchar(max);
exec @DynIP = SRO_VT_ACCOUNT.dbo.split_ip @Data2
INSERT INTO _IPLogs (CharID,Charname,IP,[Date]) VALUES (@CharID, (SELECT CharName16 FROM SRO_VT_SHARD_INIT.dbo._Char WHERE CharID = @CharID),@DynIP,GETDATE())
-- END

END

------------------------------------------------------------------------------------------------

use SRO_VT_SHARDLOG
CREATE TABLE _BannedIPs (
[No.] int PRIMARY KEY IDENTITY (1,1),
[IP] varchar(max) NOT NULL
);



USE [SRO_VT_ACCOUNT]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[_BannPlayerSP]

@CharName varchar(max),
@Reason varchar(max)

as
--------------------------------
DECLARE @ChrID INT;
DECLARE @AccJID INT;
---------------------------------

SET @ChrID=(SELECT CharID FROM SRO_VT_SHARD_INIT.dbo._Char WHERE CharName16=@CharName)
SET @AccJID=(SELECT UserJID FROM SRO_VT_SHARD_INIT.dbo._User WHERE CharID=@ChrID)

----------------------

DECLARE
@ID VARCHAR(64) = (Select STRuserID FROM TB_User Where JID = @AccJID),
@Begin DATETIME = GETDATE()-1,
@End DATETIME = GETDATE()+3650


INSERT [dbo].[_Punishment]
(
[UserJID],
[Type],
[Executor],
[Shard],
[CharName],
[CharInfo],
[PosInfo] ,
[Guide],
[Description],
[RaiseTime],
[BlockStartTime],
[BlockEndTime],
[PunishTime],
[Status]
)
VALUES
(
@AccJID,
1,
1,
0,
@CharName,
1,
1,
@Reason,
@Reason,
@Begin,
@Begin,
@End,
@End,
0);
----------------------------------------------------------
DECLARE @ReasonID INT
SET @ReasonID =
(Select SerialNo FROM _Punishment Where UserJID = @AccJID)
----------------------------------------------------------
INSERT [dbo].[_BlockedUser]
(
[UserJID],
[UserID],
[Type],
[SerialNo],
[TimeBegin],
[TimeEnd])
VALUES
(
@AccJID,
@ID,
1,
@ReasonID,
@Begin,
@End);

-----------------------------------------------------------------
SELECT StrUserID FROM TB_User WHERE JID = @AccJID
---------------------------------------------------------------



USE [Log_DB]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


ALTER procedure [dbo].[_AddLogChar]
@CharID int,
@EventID tinyint,
@Data1 int,
@Data2 int,
@strPos varchar(64),
@Desc varchar(128)
as

IF(@EventID = 4 OR @EventID = 6)
BEGIN

declare @len_pos int
declare @len_desc int
set @len_pos = len(@strPos)
set @len_desc = len(@Desc)
if (@len_pos > 0 and @len_desc > 0)
begin
insert _LogEventChar values(@CharID, GetDate(), @EventID, @Data1, @Data2, @strPos, @Desc)
end
else if (@len_pos > 0 and @len_desc = 0)
begin
insert _LogEventChar (CharID, EventTime, EventID, Data1, Data2, EventPos) values(@CharID, GetDate(), @EventID, @Data1, @Data2, @strPos)
end
else if (@len_pos = 0 and @len_desc > 0)
begin
insert _LogEventChar (CharID, EventTime, EventID, Data1, Data2, strDesc) values(@CharID, GetDate(), @EventID, @Data1, @Data2, @Desc)
end
else
begin
insert _LogEventChar (CharID, EventTime, EventID, Data1, Data2) values(@CharID, GetDate(), @EventID, @Data1, @Data2)
end

--For the new IPLog table
Declare @DynIP varchar(max);
exec @DynIP = SRO_VT_ACCOUNT.dbo.split_ip @Data2
INSERT INTO _IPLogs (CharID,Charname,IP,[Date]) VALUES (@CharID, (SELECT CharName16 FROM SRO_VT_SHARD_INIT.dbo._Char WHERE CharID = @CharID),@DynIP,GETDATE())
-- END
-- Banned IP stuff
IF exists (SELECT IP FROM _BannedIPs WHERE IP like @DynIP)
BEGIN
Declare @Charname varchar(max) = (SELECT CharName16 FROM SRO_VT_SHARD_INIT.dbo._Char WHERE CharID = @CharID)

exec SRO_VT_ACCOUNT.dbo._BannPlayerSP @Charname,'usage of a banned IP'
-- END banned IP stuff
END

END
---------------------------------------------------------------
Have Fun
This V.1.1.0
Coming soon with tools V.2.1.0

http://im35.gulfup.com/Sg94k.png

●♥ Marwan1337 ♥●
25-11-2013, 08:48 PM
تمــت المـوافقــة..

.a7la-smile.
25-11-2013, 10:11 PM
الله ينور عليك

فنان ولله

aaaaa200123
25-11-2013, 10:17 PM
انا جبت جوان فى هولندا

https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRupz2fovBnpP6XGHwAKsZsrXbqVhs80 lHlHMzlXuzWURbmW0bJJA

Alrayk
25-11-2013, 10:38 PM
رائع

hossam sayed
26-11-2013, 02:58 AM
:thumb_yello:

Yousef Ayyoub
26-11-2013, 02:12 PM
انا اسف علي الحقولو بس ....
الحور ده حينفاع مع الناس المش فلدول العربيه
عشان فلدول العربيه عندنا Dynamic IP ياعني كل مره ب Restart الروتر ال IP بيتغير فا مش لي فيده عند العرب
ياعني لو تعملو بي ال Mac address يبقه 100/100
لكن ال IP مش نافع

ارجو يكون كلامي غلط ^_^

و علي فكره الموضوع جامد جدا
ياعني مش مشكله لو استخدمنه بس حنعمل Ban للغرب بس :mushy:

Hamza FiGo
27-11-2013, 10:53 AM
شكرا الموضوع دة كنت بدور علية من زمان ^_^
بس معلش حضرتك انا مش فاهم . انا لما اجي اعمل Ban IP لحد هدخل كل الـ Querys دي ولا Query معين ؟

Yousef Ayyoub
27-11-2013, 01:59 PM
شكرا الموضوع دة كنت بدور علية من زمان ^_^
بس معلش حضرتك انا مش فاهم . انا لما اجي اعمل Ban IP لحد هدخل كل الـ Querys دي ولا Query معين ؟
يا باشا ال querys دي بتعملك ال table بتاع ال ban عايز بقا تعميل بان لحد ممكن تضيفو manually او اعمل انتا query يعمل بان by char name

Tigger
13-05-2014, 10:44 AM
اللة ينور