Tüm Oyuncu Verilerini Temizlemek

Whistle

Ruhsuz Filozof
Kurucu
Kurumsal Üye
Geliştirici
Yardımsever Üye
Mesaj
11.494
Çözümler
546
Beğeni
12.044
Puan
5.864
Merhaba arkadaşlar,
Bu konumuzda query komutlarını kullanarak serverden oyuncu verilerini nasıl silebileceğimizi göstereceğim. Elle tek tek işlemleri gerçekleştirmek sıkıcı olabiliyor. Bu konuyu Yardım - Sunucu Taşıma ve Yedek Kurma Problemi yardım konusunu açan @viquality için yardımcı olması bakımından oluşturuyorum.

Aşağıda vereceğim query komutları oyundaki tüm oyuncu verilerini sıfırlayacak ve tablolardaki increment değerleri sıfırlanacaktır.
Eğer ne yaptığınızı bilmiyorsanız kesinlikle yedek alın. Hangi tabloların ne işe yaradığını daha önce açtığım şu Metin2 Veritabanı Yapısı konuda anlatmıştım.

Uyarı: Bu komutlar tüm oyuncu ve lonca verilerini temizleyecektir ve bir kere çalıştırıldığında geri alamazsınız. Bu yüzden kesinlikle yedek alın. Komutları çalıştırmadan önce oyunu kapatmayı unutmayınız. Açık bir serverde bu komutları çalıştırırsanız oyunun hafızasında bulunan veriler tekrar kayıt edeceği için temizlik işlemi tam olarak yapılmayacaktır.

account veritabanındaki tabloların temizlenmesi için;
SQL:
TRUNCATE TABLE account.account;

common veritabanındaki tabloların temizlenmesi için;
SQL:
TRUNCATE TABLE common.gmhost;
TRUNCATE TABLE common.gmlist;

log veritabanındaki tabloların temizlenmesi için;
SQL:
TRUNCATE TABLE log.bootlog;
TRUNCATE TABLE log.change_name;
TRUNCATE TABLE log.command_log;
TRUNCATE TABLE log.cube;
TRUNCATE TABLE log.dragon_slay_log;
TRUNCATE TABLE log.exo_bank_log;
TRUNCATE TABLE log.fish_log;
TRUNCATE TABLE log.goldlog;
TRUNCATE TABLE log.hack_crc_log;
TRUNCATE TABLE log.hack_log;
TRUNCATE TABLE log.hackshield_log;
TRUNCATE TABLE log.ingame_ban_log;
TRUNCATE TABLE log.levellog;
TRUNCATE TABLE log.log;
TRUNCATE TABLE log.loginlog;
TRUNCATE TABLE log.loginlog2;
TRUNCATE TABLE log.money_log;
TRUNCATE TABLE log.quest_reward_log;
TRUNCATE TABLE log.refinelog;
TRUNCATE TABLE log.shout_log;
TRUNCATE TABLE log.speed_hack;
-- Whistle | MMOTutkunlari.com

player veritabanındaki tabloların temizlenmesi için (tüm oyuncu ve lonca verilerini temizleyecek);
SQL:
TRUNCATE TABLE player.affect;
TRUNCATE TABLE player.dragonsoul_items;
TRUNCATE TABLE player.guild;
TRUNCATE TABLE player.guild_comment;
TRUNCATE TABLE player.guild_grade;
TRUNCATE TABLE player.guild_member;
TRUNCATE TABLE player.guild_tournement;
TRUNCATE TABLE player.guild_war;
TRUNCATE TABLE player.guild_war_bet;
TRUNCATE TABLE player.guild_war_reservation;
TRUNCATE TABLE player.horse_name;
TRUNCATE TABLE player.item;
TRUNCATE TABLE player.item_award;
UPDATE player.land SET guild_id = 0; -- Alinmis olan lonca arazilerini temizler. -Wh
TRUNCATE TABLE player.marriage;
TRUNCATE TABLE player.messenger_list;
TRUNCATE TABLE player.myshop_pricelist;
TRUNCATE TABLE player.object;
TRUNCATE TABLE player.player;
TRUNCATE TABLE player.player_deleted;
TRUNCATE TABLE player.player_index;
DELETE FROM player.quest WHERE dwPID != 0; -- Oyuncuların quest kayitlarini temizler. -Wh
TRUNCATE TABLE player.safebox;
-- Whistle | MMOTutkunlari.com
 
Paylaşım için teşekkürler. Çok fazla soran oluyordu :D
 
Bende sürekli el ile temizlemekten yorulmuştum. Yardım konusunu görünce en iyisini query komutunu oluşturum dedim. Sadece tek yapılması gereken kopyalamak ve query'i çalıştırmak.

Konudaki yazılar fazla olduğu için gözden kaçıranlar olabilir. Yine tekrar edelim. :)
Yedek almadan kesinlikle bu işlemleri yapmasınlar. Bu komutları çalıştırmak içinde oyunlarını kapatmaları gerekiyor.
 
Tabloların yapısını bozmadan içeriğindeki tüm verileri siler. increment bilgilerini de sıfırlar
 
Navicat programı kullanıyorsanız query bölümünden
 
Geri
Üst