|
PARTE :1
Bueno..para aquellos que sufren el hack en su server a travez de una pagina o programa (te alteran los stats o level de un pj, le ponen los items que quieren a su pj o lo convierten Muse, Blade or soul master,etc)...... hay 3 posibles soluciones(por ahora):
(Primera) Esta es la mas RAPIDA en cuanto solucion para este hack!!!!!!. Aunque te cueste y no te salga en la primera, te recomiendo que cambies los puertos del link 1, 2, 4 y 8.
Mini-Guia: Lo volteas al server vas a la carpeta link y vos tenes asi:1- D:muserverDataServer1Dataserver.exe 55960
2- D:muserverDataServer2Dataserver.exe 55962
4- D:muserverJoinServerJoinServer.exe /p55970 /ca192.189.0.1 /cp55557
8- D:muserverGameServerGameserver.exe 192.189.0.1 55970 192.189.0.1 55960 55901
El cambio quedaria algo asi (recorda poner tus propios puertos):
1- D:muserverDataServer1Dataserver.exe 52234 -->"puerto nuevo 1"
2- D:muserverDataServer2Dataserver.exe 52236 -->"puerto nuevo 2"
4- D:muserverJoinServerJoinServer.exe /p52321 /ca 192.189.0.1/cp55557
8- D:muserverGameServerGameserver.exe 192.189.0.1 52321 192.189.0.1 52234 55901
P.D: El "puerto nuevo 2" tiene que tener 2 cifras mas que "puerto nuevo 1"
______________________________________________________________________________________________________________
PARTE :2
Ingresamos a nuestro firewall de windows
Vamos a inicio=> Connfiguracion => Panel de Control => Centro de Seguridad
Luego nos desplazamos hacia abajo y hacemos click en donde dice
Firewall de Windows
Si esta desactiva , lo activamos
Vamos a la solapa del medio EXCEPCIONES
y solamente dejamos tildado al GAMASERVER Y CS
(tambien dejamos abierto el port 80 si es que tiene una web )
Los demas programas le sacamos el tilde. [ Principalmente a los dataserver y al joinServer]
En el caso que necesiten tener el port del SQL abierto para utilizar el editor
en otra pc , hacemos click sobre el nombre que le pusieron a ese port y ponen modificar y luego en cambiar ambito.
Finalmente seleccionan la opcion de lista personalizada y ponen el ip de quien ustedes consideren de confianza para que se conecte
Con esta opcion nos aseguramos que solo puedan entrar a ese puerto aquellos ip a los que nosotros le dimos autoridad.
Recuerden que una vez que ponen el ip deben poner tambien la mascara de subred
por ejemplo 201.220.12.14/255.255.255.0 y si quieren agregar dos deben separarlos por una coma ","
__________________________________________________________________________________________________________________
PARTE :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.
|
|