Bônus Pontos ao Criar Acc


Qual a função deste script?
Ao se criar novos personagens em jogo, irão receber uma quantidade de resets, pontos iniciais, e zen para iniciar sua aventura no mu online.
Requisito Básico:
Coluna "Resets" criada na tabela "Character" do banco de dados, o que normalmente já é um padrão utilizado, para armazenar os resets de um personagem.
Como pré-configurar:
Você pode definir os resets iniciais, pontos de distribuição iniciais e dinheiro inicial no local em destaque do script. NÃO INSIRA valores negativos, e para não utilizar um dos atributos, basta manter o valor "0". E NÃO INSIRA mais de 2kkk em Dinheiro, para não bugar o personagem.
Como instalar o script:
Basta roda-lo uma única vez no query analyzer e pronto.
Script:
USE MuOnline
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'MUC_BONUS' AND type = 'TR')
DROP TRIGGER MUC_BONUS
GO
CREATE TRIGGER MUC_BONUS ON Dbo.Character FOR INSERT
AS
BEGIN
-- Bonus para Novos Chars -- Por Alex do Muciados 
DECLARE
@Resets INT,
@Pontos INT,
@Dinheiro INT,
@Char varchar(10)
SELECT @Char = Name FROM INSERTED
SET @Resets = 10 -- INSERIR QUANTIDADE DE RESETS
SET @Pontos = 3500 -- INSERIR QUANTIDADE DE PONTOS INICIAIS
SET @Dinheiro = 1000000 -- INSERIR QUANTIDADE DE DINHEIRO
UPDATE Dbo.Character
SET Resets = @Resets, LevelUpPoint = @Pontos, Money = @Dinheiro
WHERE Name = @Char
END
Como remover o script:
Basta rodar o script abaixo uma única vez no query analyzer e estará removida.
USE MuOnline
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'MUC_BONUS' AND type = 'TR')
DROP TRIGGER MUC_BONUS
GO

Bonus Itens ao criar acc


 Crie um char (Dark Knight) e coloque itens nele, exemplo: asa , arma , sets etc.

• Agora vá até o SQL SERVER >> Query Analyzer.

• De um clik em Object Browser ou aperte F8.

• Abra a tabela MuOnline , depois em User Tables.

• Procure a Tabela dbo.DefaultClassType, clique com o botão direito em cima dele e depois em Open, abrira uma tela aonde tem vários números.
- Entendo sobre o dbo.DefaultClassType

A tabela dbo.DefaultClassType é a responsável pelos items que um novo char ira começar mais não é somente isso, ela também tem a função de Armazena as posições e cidades que um novo char ira começar, exemplo: A sumonner ira nascer na cidade Elbland “Mapa 51” nas cordenadas X51 Y255.
Entendemos o básico sobre o dbo.DefaultClassType.
- Agora iremos fazer com que o novo char comece com items sets etc.
• Vá nas tabelas e localize dbo.Character, clique com botão direito e depois em open
• Localize a seguinte coluna Inventory. Feito isso, procure o nome do char que você criou.
• Selecione tudo que esta na coluna Inventory dando 3 cliques (rápidos) depois você da CTLR+C abre um bloco de notas e da CTLR+V e lá estará o código que você presisa pra fazer que um novo char vá com set etc.

• Volte a tabela dbo.DefaultClassType e procure o número de identificação da class do char e ache a coluna Inventory, apague o código que se encontrá lá e cole o código que você pego da coluna Inventory do dbo.Character.

• Caso você não saiba o número de identificação do char, segue os códigos abaixo.
0 = DW
16 = DK
32 = ELF
48 = MG
64 = DL
80 = Sumonner

- Observações
• Funciona em todas versões, más as colunas podem varias de versão para versão.
• Todos os chars criados terão os itens que você editar para quando eles forem criados.
• Tome bastante cuidado com os itens que você irá arrumar, pois dependendo dele os players podem se aproveitar desse "bônus".

Auto Mensagem


1° Abra seu Enterprise Manager 
2º Vá database, Muonline, Tables depois em AutoGMGG
3º Clique com o botão direito do mouse e vá em Open Tables depois Return All Arows 
4º Clique em Return All Arows 
5º Veja a foto como colocar as mensagens, o tempo e etc.
6º Apois ter colocado as msg vai em um ponto de ! (esclamação) para da o RUN
7º Agora na pasta Game Server abra o arquivo MyGSFun 
8º vai esta ServerID=0 mude para ServerID=1 
9º em AutoGmGG=0 mude para AutoGmGG=1 
10º Pronto já esta fucionando a auto mensagem

Auto Ban


• Vá em Iniciar >>Todos os Programas >> Microsoft SQL Server >> Query Analyzer

• Será aberto um recorrente que diz conectar ao SQL Server, em seguida entre com seu Loguim e Senha do SQL.

• Após entrar no Query analyzer irá abrir um grande espaço para inserir um texto, neste espaço cole o seguinte código:

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 

• Presione F5 e depois Ctrl+N.

• Irá abrir outra tela, nesta outra tela cole o seguinte código:
select * from AllItemsLog
select * from CopyLog
• Dê F5 e Ctrl+N novamente e mais uma vez irá abrir outra tela, cole o código abaixo:
select * from CopyLog
• Pressione F5 e está pronto, em seguida feche todas as janelas abertas salvando os "logs" aonde desejar. 

Obs: O Sistema funciona apenas com os players Online. 

Anti Hacker


Iº Configuração : Usando Firewall do Windowns 
1º Entre no Painel de controle e logo depois entre em firewall do windows


2º Verifique se a opção Ativado(recomendado) esteja selecionada e click em 
Exceções logo acima

 

3º Vai ter uma lista, clike em Adicionar Porta



4º Em nome, coloque o número da porta ,em Número da porta coloque a porta que 
você quer abrir (lista a baixo) e click em TCP e de OK e novamente click em adicionar 
porta em nome coloque a mesma porta que você colocou e em número também e 
marque UDP e de OK (faça isso com todas as portas) 



Lista de portas necessarias libera no firewall:
44405 - Porta de conexão dos playes para entra no server 
55901 - Porta do gameserver 
8090 - Porta do site 
1433 - Porta do sq
5º Faça isso com todas as portas 
6º Selecione todas as portas que você abriu, e de OK na janela do firewall

 

7º Ligue o server normalmente, Ai cada link que abrir vai aparecer um aviso do 
Firewall perguntando se quer desbloquear ou manter bloqueado certo?
No data server 1 e 2 ( links 1 e 2 ) coloque MANTER BLOQUEADO e no resto dos
links coloque desbloquear. Quando terminar de liga o server, vai no firewall do windows 
novamente e click em exceções, só deixe selecionada as portas necessárias para 
o server, ou seja as portas 44405 e 8090 e o resto deixe tudo DESCELECIONADAS!


 

*********************************************************************
IIº Configuração : Usando SygateFirewall
Primeiramente baixe o Firewall : Kerio Personal Firewall ou SygateFirewall .

1º Instale o Sygate e Reenicie o Computador
2º Ligue o Servidor e o Sygate.
3º Abra o Sygate.
4º Bloquei "SQL Server WindowsNT", "Data Server 1" e "Data Server 2".

*********************************************************************
IIIº Configuração : Usando PortBlock
Primeiramente baixe o : Port Block.

1º Instale-o
2º Depois de você ligar teu server , abra, e ele aparecerá perto do relogiodo win.
3º Apos abri-lo click nele e aperte em mapping e de add.
4º Adicione as ports que são usadas para hackear :

55960
55961
55962
55963
55970

5º Sempre Uma de Cada Veiz e deixando a OPCAO TCP marcada.

6º De ok e done e dexe aberto seu server estara livre de hacks.

Obs. : Caso você tenha que desligar os LINKS do server tire o programa 
se não ele ira blokear a conexão das Data Base e o Server não ira Ligar.

*********************************************************************
IVº Configuração : Trocando as Portas do Servidor

1º Abra as propriedades dos links 1, 2 e 8.
Por padrão devem estar da forma do exemplo, modifique elas. Exemplo:?:\Muserver\DataServer1\Dataserver.exe                55960
Mude Para:?:\Muserver\DataServer1\Dataserver.exe 55980
?:\Muserver\DataServer1\Dataserver.exe 5596Mude Para:
?:\Muserver\DataServer1\Dataserver.exe 55980 
?:\muserver\GameServer\GameServer.exe 127.0.0.1 55970 127.0.0.1 55960 55901

Mude Para:
?:\muserver\GameServer\GameServer.exe 127.0.0.1 55940 127.0.0.1 55980 55921


2° Mude a porta de Conexão do seu server, issu fara com que parem alguns hacks. 

Baixe o CSPORTCHANGER

Modifique a porta do connectserver de 44405 para qualquer outro entre 1 e 60000
*********************************************************************
Vº Configuração : Colocando Ant Sql Inject no Site PHP
Anti SQL Inject

Na pasta de seu site, tem o config.php, abra-o, após abri-lo você terá que 
adicionar esse codigo após o < ?php(uma linha abaixo):

$xa = getenv('REMOTE_ADDR');
$badwords = array(";","'","\"","*","union","del","DEL","insert","update",
" =","drop","sele","$");

foreach($_POST as $value)
foreach($badwords as $word)
if(substr_count($value, $word) > 0)
die("Security Warning!<br />Forbidden simbols are included, 
please remove them and try again -> $xa");

Assim ele bloqeará os codigos usados para hackear usando o sql injection.
*********************************************************************
VIº Configuração : Bloqueando Bau de Duppers
Execute esse código no SQL Query Analizer uma vez na semana por garantia.

Selecione a DB MuOnline
copie e cole o codigo:
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
aperte F5
issu bloqueara os duppers.
*********************************************************************

Level do Iten - Aprenda como colocar itens +15


• Abra o Game Server Unpacked com seu Hexeditor.
- Procure por 83fa0b7e0966c78578ff e substitua por 83fa0f7e0966c78578ff
- Procure por 83fa0b7e0966c7855cff e substitua por 83fa0f7e0966c7855cff

Agora quando editar os Itens para +15 após relogar eles não voltam pra +0.

OBS: Irá funcionar somente pra itens Excelentes

Adicionando itens no Mu Maker


Para adicionar itens no MuMaker vamos precisar do Microsoft Access e o Item.kor do seu servidor.

 
Abra o Arquivo MuMaker.mdb (este arquivo é responsavel pelos Itens em Geral), ele segue as linhas iguais do item.kor official, então quem tem a versão 12 do mumaker tem até a liberação de Option Soccker.
• Clique no BD Items, conforme monstra a imagem.

• Ao abrir o BD itens, uma lista será monstrada com todos os itens existentes no seu Mumaker e segue as mesmas linhas correspondente ao itemkor.txt começando pelas Swords.
- No caso vamos copiar a linha 31.
• Clique no inicio da coluna para selecionar.
• Clique com o botão da direita para copiar.
• Clique em " novo registro " ele vai monstrar uma linha branca.
- Agora vamos colar a linha 31.
• Clique no inicio para selecionar a linha inteira.
• Clique botão da direta e clique em colar.
OBS: Quando você clica em colar fica igual a linha 31 do sword.
• Agora teremos que usar a linha 32 do itemkor, não pode ficar igual a linha 31, pois gera duplicidade, então mude a linha conforme mostra na seguinte imagen.
 Mude também o ID e o NOME conforme a imagen.
• O seu Primeiro item está adicionado, para adicionar mais Swords, copie a linha que você acabou de editar e cole na linha vazia embaixo seguindo as informações do seu itemkor.txt (alterando Numero, ID e Nome).
Adicionando Sets (Helm).
• Seguindo a mesma linha de raciocínio acima (como adicionar swords) vamos agora adicionar Helms, aprendendo o mesmo todos os itens seguem na mesma sequência.
• No caso vamos adicionar aqui as 2 ultimas linhas do Helm, um com opcional Socket e outra sem. Vamos utilizar a que não tem Option Soccker.
• Copie a linha 53, clique em novo (como foi mostrado anteriormente), após isso
cole a linha.
OBS: Lembrado que você terá que alterar o início para o número do set correspondido.
• Na figura acima monstra onde alterar os números e nome, conforme o seu Itemkor.
OBS: Lembrando para aqueles itens que não contém Helm, você pode pular ou adicionar a linha e colocar, exemplo: SetVCM Sem Helm.