-=Guia Tu Server Mu Online=-
  Seguridad 3
 
 Seguridad 3

Este codigo es para que las personas que dupean en sus server, sean baneadas automaticamente despues de desconectarse del servidor, asi seran castigados todos los jugadores ilegales del server.
Aquí estan los pasos

1- Vas a inicio/programas/microsof sql server/analizador de consultas
2- Se abrira un recuado que dice conectar a sql server, ahi tiene que salir tine que salir el nombre dle servidor, sino sale lo agregas, colocas aceptar
3-Copias este texto

use muonline 
if exists(select * from dbo.sysobjects where type='p' and name='WZ_GetItemSerial') 
drop procedure WZ_GetItemSerial 
go 
CREATE procedure WZ_GetItemSerial 
as 
BEGIN 
DECLARE @ItemSerial int 
set nocount on 
begin transaction 
update GameServerInfo set @ItemSerial = ItemCount = (case when ItemCount < 0x7effffff then ItemCount+1 
else 1 
end ) 
if(@@error <> 0) 
begin 
rollback transaction 
select-1 
end 
else 
begin 
commit transaction 
select @ItemSerial 
end 
END 

GO 
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[trg_CheckSameID]') and OBJECTPROPERTY(id, N'IsTrigger') = 1) 
drop trigger [dbo].[trg_CheckSameID] 
GO 

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[AllItemsLog]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) 
drop table [dbo].[AllItemsLog] 
GO 

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[CopyLog]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) 
drop table [dbo].[CopyLog] 
GO 

CREATE TABLE [dbo].[AllItemsLog] ( 
[items_id] [int] IDENTITY (1, 1) NOT NULL , 
[items_type] [binary] (1) NOT NULL , 
[items_serial] [binary] (4) NOT NULL , 
[items_acid] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL 
) ON [PRIMARY] 
GO 

CREATE TABLE [dbo].[CopyLog] ( 
[copy_id] [int] IDENTITY (1, 1) NOT NULL , 
[copy_acid] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL , 
[copy_whdata] [binary] (1200) NOT NULL , 
[copy_date] [datetime] NOT NULL 
) ON [PRIMARY] 
GO 

ALTER TABLE [dbo].[AllItemsLog] ADD 
CONSTRAINT [DF_CT_ITEM_item] DEFAULT (0) FOR [items_type], 
CONSTRAINT [DF_CT_ITEM_itemid] DEFAULT (0) FOR [items_serial], 
CONSTRAINT [DF_CT_ITEM_itemrole] DEFAULT ('') FOR [items_acid] 
GO 

CREATE INDEX [IX_CT_ITEM] ON [dbo].[AllItemsLog]([items_type], [items_serial]) ON [PRIMARY] 
GO 

ALTER TABLE [dbo].[CopyLog] ADD 
CONSTRAINT [DF_CopyLog_copy_date] DEFAULT (getdate()) FOR [copy_date] 
GO 


SET QUOTED_IDENTIFIER ON 
GO 
SET ANSI_NULLS ON 
GO 

CREATE TRIGGER [dbo].[trg_CheckSameID] ON [dbo].[character] 
FOR UPDATE 
AS 
BEGIN 
IF UPDATE(inventory) 
BEGIN 
SET NOCOUNT ON 
DECLARE 
@wh_acid varchar(10), 
@wh_data binary(1200), 
@wh_type binary(1), 
@wh_serial binary(4), 

@cr_user varchar(10), 
@cr_acid varchar(10), 
@cr_data binary(760), 
@cr_type binary(1), 
@cr_serial binary(4), 

@al_acid varchar(10), 
@j int, 
@k int, 
@find bit 

SELECT @cr_acid=i.accountid, 
@cr_data=i.inventory 
FROM inserted i 

SET @j=0 
SET @find=0 

WHILE @j<76 AND @cr_data IS NOT NULL 
BEGIN 
SET @cr_type=SUBSTRING(@cr_data,@j*10+1,1) 
SET @cr_serial=SUBSTRING(@cr_data,@j*10+4,4) 
IF @cr_type<>0xFF AND @cr_serial<>0x00000000 
BEGIN 
SELECT @al_acid=items_acid FROM allitemslog WHERE items_type=@cr_type AND items_serial=@cr_serial 


IF @al_acid IS NULL 
INSERT INTO allitemslog (items_type,items_serial,items_acid) VALUES (@cr_type,@cr_serial,@cr_acid) 
ELSE 
BEGIN 
UPDATE allitemslog SET items_acid=@cr_acid WHERE items_type=@cr_type AND items_serial=@cr_serial 


SELECT @wh_data=items FROM warehouse WHERE accountid=@al_acid 

SET @k=0 
WHILE @k<120 AND @wh_data IS NOT NULL 
BEGIN 
SET @wh_type=SUBSTRING(@wh_data,@k*10+1,1) 
SET @wh_serial=SUBSTRING(@wh_data,@k*10+4,4) 
IF @wh_type=@cr_type AND @wh_serial=@cr_serial 
SET @find=1 
SET @k=@k+1 
END 
END 
END 
SET @j=@j+1 
END 
IF @find=1 
BEGIN 
INSERT INTO copylog (copy_whdata,copy_acid,copy_date) VALUES (@wh_data,@al_acid,getdate()) 
-- this is wer u can add more punishment like ban or lock characters 
UPDATE Character SET CtlCode=1 WHERE accountid=@al_acid 
END 
SET NOCOUNT OFF 
END 
END 
GO 
SET QUOTED_IDENTIFIER OFF 
GO 
SET ANSI_NULLS ON 
GO 
DECLARE @al_acid char(50) 
set @al_acid = 'ASUS' 
UPDATE Character SET CtlCode=1 WHERE accountid=@al_acid 
go 
select * from AllItemsLog 
select * from CopyLog 

4- Precionas F5 y ctrl N
5- Se abrira otro recuadro, en este recuadro copias esto otro:

use MuOnline 
select * from AllItemsLog 
select * from CopyLog 

6- Presionas F5 y crtl N
7- Se abrira otro recuadro y copias esto otro:

use MuOnline 
select * from CopyLog 

8- Presionas F5 y estas listo, luego cierra las ventatas y guarda los cambios, te guardara unos block de notas, guardalos en donde tu quieras.
 

 
  Hoy habia 26 visitantes (40 clics a subpáginas) ¡Aqui en esta página!  
 
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis