18 de August de 2026
Como Limpar o Servidor no SQL Server: Zerar Itens, Baú, Guilds, Resets e Level sem Apagar as Contas e Personagens (Wipe Beta)
Guia prático em SQL para realizar a limpeza (wipe) do servidor após a fase Beta: zere inventários, baús, guilds, pontos, resets e status dos personagens mantendo as contas e nomes intactos.
Atenção: Este é um script de exemplo base. Você precisa ajustar e validar os nomes das colunas e tabelas (especialmente contadores de resets e master resets) de acordo com a versão e a estrutura do seu servidor.
Como Limpar o Servidor no SQL Server: Zerar Itens, Baú, Guilds, Resets e Level sem Apagar as Contas e Personagens
Ao finalizar uma fase de testes (Beta) ou preparar uma nova temporada (Season/Inauguração), o administrador muitas vezes precisa realizar um Wipe Parcial. A meta é zerar o progresso econômico e de evolução dos jogadores (itens, baús, guilds, resets e atributos), mas preservar os cadastros, logins e nomes dos personagens já criados.
Neste tutorial prático, você confere o passo a passo com os comandos SQL necessários para limpar o servidor com segurança.
1. Passo Crítico: Faça Backup Antes de Qualquer Limpeza
Antes de rodar qualquer rotina de exclusão ou alteração estrutural em massa, encerre os serviços do servidor (GameServer, ConnectServer, JoinServer) e gere uma cópia de segurança completa do banco:
USE [master];
GO
BACKUP DATABASE [MuOnline]
TO DISK = 'C:\Backups\MuOnline_Backup_Pre_Wipe.bak'
WITH FORMAT, INIT, COMPRESSION;
GO
2. Script Completo de Limpeza e Reset (Wipe Limpo)
Abra uma nova janela de consulta (New Query) no SQL Server Management Studio (SSMS), selecione o banco MuOnline e execute o script em blocos:
USE [MuOnline];
GO
-- =========================================================================
-- 1. ZERAR INVENTÁRIOS, EQUIPAMENTOS E HABILIDADES (MAGIC LIST)
-- =========================================================================
-- Limpa todo o inventário e equipamentos do personagem
UPDATE Character
SET Inventory = CONVERT(VARBINARY(MAX), REPLICATE(CHAR(255), DATALENGTH(Inventory)));
-- Limpa a lista de magias aprendidas pelos personagens
UPDATE Character
SET MagicList = CONVERT(VARBINARY(MAX), REPLICATE(CHAR(255), DATALENGTH(MagicList)));
-- Caso use Season com sistema de Quest/Gens em binário (opcional)
-- UPDATE Character SET Quest = CONVERT(VARBINARY(MAX), REPLICATE(CHAR(255), DATALENGTH(Quest)));
-- =========================================================================
-- 2. ZERAR BAÚS (WAREHOUSE) E LOJAS PESSOAIS
-- =========================================================================
-- Limpa todos os itens do baú e zera o zen guardado
UPDATE warehouse
SET Items = CONVERT(VARBINARY(MAX), REPLICATE(CHAR(255), DATALENGTH(Items))),
Money = 0;
-- Se o seu servidor possui tabela de Baús Extras (ExtWarehouse), zere também:
IF OBJECT_ID('ExtWarehouse', 'U') IS NOT NULL
BEGIN
UPDATE ExtWarehouse
SET Items = CONVERT(VARBINARY(MAX), REPLICATE(CHAR(255), DATALENGTH(Items)));
END
-- =========================================================================
-- 3. ZERAR LEVEL, RESETS, PONTOS E ATRIBUTOS DOS PERSONAGENS
-- =========================================================================
UPDATE Character
SET
cLevel = 1,
Experience = 0,
LevelUpPoint = 0,
Money = 0,
Strength = 25,
Dexterity = 25,
Vitality = 25,
Energy = 25,
Leadership = 0,
PkCount = 0,
PkLevel = 3,
PkTime = 0,
MapNumber = 0,
MapPosX = 125,
MapPosY = 125,
MapDir = 0,
Life = 100,
MaxLife = 100,
Mana = 100,
MaxMana = 100;
-- Zera contadores de resets (ajuste os nomes das colunas conforme seu servidor/web)
UPDATE Character
SET
Resets = 0,
resetsDay = 0,
resetsWeek = 0,
resetsMonth = 0,
MResets = 0;
-- =========================================================================
-- 4. EXCLUIR TODAS AS GUILDS E MEMBROS
-- =========================================================================
-- Desvincula os personagens de quaisquer guildas
UPDATE Character SET GuildNumber = 0, GuildName = NULL;
-- Limpa a lista de membros e a tabela principal de Guildas
DELETE FROM GuildMember;
DELETE FROM Guild;
-- =========================================================================
-- 5. LIMPAR LOJAS TEMPORÁRIAS, EVENTOS E HISTÓRICOS (SE APLICÁVEL)
-- =========================================================================
-- Zera tabelas de rankings temporários se existirem
IF OBJECT_ID('RankingDevilSquare', 'U') IS NOT NULL DELETE FROM RankingDevilSquare;
IF OBJECT_ID('RankingBloodCastle', 'U') IS NOT NULL DELETE FROM RankingBloodCastle;
IF OBJECT_ID('RankingChaosCastle', 'U') IS NOT NULL DELETE FROM RankingChaosCastle;
GO
3. O que este procedimento garante?
- Preserva as Contas: A tabela
MEMB_INFOnão é alterada; todos os logins, senhas, e-mails e dados de cadastro continuam funcionando normalmente. - Preserva os Personagens: Nenhum personagem é deletado da tabela
Characternem daAccountCharacter, evitando que os jogadores percam os nomes reservados no Beta. - Economia Zerada: Todos os itens equipados, guardados no inventário ou no baú são limpos em formato hexadecimal compatível com o GS (
0xFF), eliminando o risco de itens fantasmas ou corrupção de slot. - Todos no Level 1: Todos os status retornam ao padrão inicial de classe, com 0 resets, 0 pontos acumulados e posicionados no mapa padrão (Lorencia).