Vim aqui para ajudar vcs e logo de cara estarei postando um anti gm hacker e explicar a função do mesmo....
Então vamos Lá:
Como instalar:
1: Abra sua Query Analyzer.
2: Cole este Cod, mas não execute ainda.
Código:
USE master
CREATE DATABASE ban_info ON PRIMARY
(
NAME = banin****ta,
FILENAME = 'C:\DATABASES\banin****ta.mdf',
SIZE = 20MB,
MAXSIZE = UNLIMITED
)
LOG ON
(
NAME = baninfolog,
FILENAME = 'C:\DATABASES\baninfolog.ldf',
SIZE = 5MB,
MAXSIZE = UNLIMITED
)
GO
CREATE TABLE ban_info.dbo.ban_log
(
IP varchar(50) NOT NULL,
ip2long varchar(50),
Reason varchar(50),
ReasonInfo varchar(50),
DateBanned varchar(50),
Action_taken varchar(50),
PRIMARY KEY (IP)
)
GO
USE ban_info;
GO
/*
Name: Anti-GM-Hack
Version: V2.1
Description
1: Deletes all GM characters not stated in this procedure.
2: Automaticly bans their accounts and IPs.
3: Logs each ban.
Author: Zombe
*/
CREATE PROCEDURE AntiGmHack
AS
DECLARE @user_ip_addr varbinary(4);
DECLARE @DecimalIP varchar(20);
DECLARE @character_name varchar(40);
DECLARE @user_no varchar(50);
DECLARE @user_id varchar(50);
DECLARE @reason varchar(50);
SELECT
@character_name = character_name,
@user_ip_addr = user_ip_addr,
@user_no = user_no
FROM character.dbo.user_character
WHERE
character_name LIKE '_DEV_%'
AND user_no <> '19999999999991'
OR character_name LIKE '_DEKARON_%'
OR character_name LIKE '_GM_%'
AND character_name <> '[GM]Zombe'
AND character_name <> '[GM]YourName'
AND character_name <> '[GM]Etcetera'
;
if (@character_name IS NOT NULL)
BEGIN
SET @DecimalIP =
(Cast(Cast(SubString(@user_ip_addr, 1, 1) AS Int) As Varchar(3)) + '.' +
Cast(Cast(SubString(@user_ip_addr, 2, 1) AS Int) As Varchar(3)) + '.' +
Cast(Cast(SubString(@user_ip_addr, 3, 1) AS Int) As Varchar(3)) + '.' +
Cast(Cast(SubString(@user_ip_addr, 4, 1) AS Int) As Varchar(3)));
DELETE FROM character.dbo.user_character
WHERE character_name = @character_name;
SELECT @user_id = user_id
FROM account.dbo.Tbl_user
WHERE
user_no = @user_no;
SET @reason =
'Acc: ' +
@user_id +
' for creating a character' +
@character_name;
INSERT INTO ban_info.dbo.ban_log
(
IP,
ip2long,
Reason,
ReasonInfo,
DateBanned,
Action_taken
)
VALUES
(
@DecimalIP,
'Auto-Ban',
'GM hack',
@reason,
GetDate(),
'Banned IP and account, deleted hacked character'
);
INSERT INTO account.dbo.C_IP_BAN
(
start_ip,
end_ip,
ipt_time
)
VALUES
(
@user_ip_addr,
@user_ip_addr,
GetDate()
);
UPDATE account.dbo.USER_PROFILE
SET
login_tag = 'N'
WHERE
user_no = @user_no OR
user_ip_addr = @user_ip_addr
;
END;
3: Encontre estas linhas no codigo:
AND character_name <> '[GM]Zombe'
AND character_name <> '[GM]YourName'
AND character_name <> '[GM]Etcetera'
OBS: Essa função é para vc colocar seu GM/DEV para q ele nao seja deletado, ou seja nestas linhas você pode add ou retirar gms, basta copiar a linha para adicionar mais gms/dvs!
Se vc criar um gm e nao add aqui ele sera deletado automaticamente....
4: Vá ate o começo do Script e encontre:
FILENAME = 'C:\DATABASES\banin****ta.mdf'
E
FILENAME = 'C:\DATABASES\baninfolog.ldf'
OBS: Substitua o diretório (C:\DATABASES\) para onde você guarda seus arquivos de banco de dados. Verifique se o diretório existe!
5: Depois de ter feito isso, execute a query.
6: Ligue o SQL Server Agent a partir do gerenciador de serviços do SQL.
7: Vá para o Enterprise Manager,
Management --> SQL Server Agent --> Jobs.
8: Crie uma nova JOB, Com o Nome de AntiGMHacker
9: Vá para STEPS, Aperte em New, Coloque o Nome de "Execute stored procedure", selecione a database ban_info, e coloque o seguinte comando:
de OK e Pronto..
10: Crie Um Novo Step - NA MESMA JOB - com o nome de "Wait", selecione a database Ban_info, e coloque o seguinte Codigo:
Código:
WAITFOR DELAY '000:00:02';
Vá para ABA advanced, em "On Success / failure flow", mude sucess e Failure para
"Goto step [1] Execute Stored Procedure" e de ok. Abra Novamente o Step 1 (Execute stored procedure), vá para ABA advanced, em "On Success / failure flow", mude sucess e Failure para "Goto step [2] Wait"
11. Pressione OK no trabalho, clique em SIM quando perguntar.
12. Start JOB e PRonto Anti Gm Hacker instalado....
Para editar a lista de Gms (Adcionar ou Remover):
1: Abra o Enterprise manager --> Databases --> ban_info --> Stored Procedures --> Doubleclick AntiGmHack
2:Ache
AND character_name <> 'Your 1st gm'
AND character_name <> 'Your 2nd GM'
etc
Adcione ou remova a linha do GM/DEV, Lembrando vc deve adicionar o Nome do GM primeiro nesta lista, ou ele sera deletado automaticamente...
3: Precione OK.
Sua lista de Gms Foi modificada.
Fix 1.0 :
Sigua as Estruções abaixo, logo apos explicarei oque foi alterado:
1º Abra o Sql Server --> DataBases --> Character --> Stored Produceres --> SP_CHAR_CREAT, e localize o seguinte cod mostrado na imagem abaixo:

2º agora altere esse Cod Por Esse:
COMMIT TRANSACTION
EXEC ban_info.dbo.SP_AntiGMHack
SET @sp_rtn = 0
RETURN
END
GO

3º Aplique e de ok...
OBS: o erro era o seguinte, o script deleteva o gm hack mais nao desconectava o mesmo, assim o gm hack podia ainda dar uma brincada no SV^^, mais agora altere esse Cod q vc Nao terá mais dor de cabeça...
ATENÇÃO: Só modifique essa stored depois q vc ja estiver instalado o antigmhack...
Muito Obrigado Pela Atenção e qualquer duvida Post...
Creditos:
Zombe Pelo Script