Jump to content
  • Announcements

    • Xmat

      Pravidlo pro postování v TTT

      Do sekce Tipy, triky, tutoriály nepatří žádné dotazy.   Postujte sem vaše návody, tipy a různé další věci jež uznáte za vhodné sdělit zdejšímu osazenstvu, ale veškeré dotazy směřujte do sekce Všeobecná diskuse.
    • Replik

      Seznam návodů a důležitých témat v této sekci

      Pro lepší přehlednost jsem vytvořil tento seznam, který vás, méně zkušené, lépe provede touto sekcí. Věřím, že zde najdete, co hledáte. Vypsané jsou návody, které jsou oficiálně uznané jako návody. Běžné diskuze, které neposkytují postupy a rady zvěřejněny nejsou.   Instalace vlastního MaNGOS Serveru Díky těmto návodům budete (měli by jste být) schopni vytvořit a následně spustit váš vlastní server. Nastavení je pro verze s i bez datadisku.   Instalace MaNGOS Serveru (bez datadisku TBC) - Autor Benny Instalace MaNGOS Serveru (s datadiskem TBC) - Autor Malfik Instalace MaNGOS Serveru v prostředí Linux - Autor charlie Instalace MaNGOS Serveru v prostředí Linux - Autor kupkoid   Chyby a jejich řešení při přihlašování k serveru - Autor Cybe   Zálohování uživatelských dat   Dávkový soubor (BAT soubor) pro vytvoření SQL záloh - Autor Replik   Kompilování - tvoření vlastních release (revizí)   Tvorba kompilací pro Win32 (MangoScript) - Autor bLuma   Ostatní - těžko zařaditelné, ale neznamená to, že nejsou dobré   VIP Systém - Autor charlie Tvorba Webových stránek pro MaNGOS - Autor zahuba Tvorba teleportačních NPC (MangoScript) - Autor Replik Registrační web (původně předělaná SPORA) Funkční pro Antrix i MaNGOS - Autor Replik Nastavení a spuštění Minimanager pro MaNGOS - Autor BlackMartin Nastavení MaNGOS Website - Autor Artorius   Samozřejmě jsou zde i jiné návody, ale tyto jsou nejvíce používané, proto věřím, že vám budou nápomocné. Tuto sekci budeme upravovat podle potřeby. Pokud by jste něco nenašli nebo si nevěděli rady, hledejte na fóru a teprve potom založte vlastní topik. Pokud nějaký autor vytvoří kvalitní návod a chtěl by ho zveřejnit i v tomto seznamu, doporučuji, aby mi napsal zprávu skrze PM.   Díky a přeji hezký den na WoWResource   Replik
    • Aristo

      Příspěvky tam, kde nemají co dělat

      Dodržujte zákaz přispívání do topiků s repaky pokud si to zakladatelé nepřejí!! Opakované psaní příspěvků bude trestáno warnem.
    • Aristo

      Používání spoilerů

      Poslední dobou má většina uživatelů fora zvláštní nutkání postovat extrémně dlouhé texty nebo kódy, které zabírají v nejedenom případu i 80% obsahu celé stránky a hodně tak zvedají nepřehlednost v topiku. Chtěl bych všechny uživatele požádat, aby při postování citací, jakýchkoliv kódů, errorů, atp... delších než 30 řádků používali funkci spoileru.   Funkci vyvoláte příkazem [spoiler] text [/spoiler]   Ukázka:  
Replik

[MaNGOS] Prográmek na zálohování accountů a charakterů

Recommended Posts

Ahoj lidi,

 

už se mi stalo, že se mi poškodila data hráčů a tím se stratilo docela dost herního času, hledal jsem proto nějaké řešení a jediné, které mě napadlo bylo mít něco, co provede záloho herních dat - samozřejmě je možnost, dělat to ručně, ale jak se znám, jednou bych na to mohl klidně zapomenout a už bych se k tomu nevrátil.

 

Upravil jsem proto jeden bat soubor, který provede zálohu (vydumpování) herních tabulek do určité složky. Přesněji, to vytvoří složku která nese jméno ve formátu např. ne-19-11-2006 a obsahuje dva soubory: mangos-zaloha_Čas.sql a realmd-zaloha_Čas.sql. V jediné složce může být vydumpován každou minut nový pár sql souborů. Takže je jen na vás, kolikrát deně to budete pouštět

 

Potom například stačí vytvořit "naplánovanou úlohu" aby tento prográmek spouštěla každý den např v 00:01 a ve složce kde ten program máte (např. Záloha) vám budou každý den přibývat složky daného data obsahující zálohu. Výhodu to má, že v případě potřeby je možné načíst data stará např. tři dny nebo týden a nestane se, že by se vám dobré zálohy přepsaly chynými.

 

Postup tvorby programu:

 

1) Otevřete si obyčejný txt editor

2) Vložte tam toto:

@echo off
set datum=%date%
set datum1=%date: =-%
set datum2=%datum1:.=-%

@echo off
for /F "tokens=1-4 delims=:., " %%a in ('time/T') do set Time=%%ah-%%bmin

@echo off
color 18
title Zalohovani accountu a postav pro Mangos /by Replik

set mysqlbin=C:\Program Files\MySQL\MySQL Server 5.0\bin\
set zaloha=%datum2%
REM --------------------------------
REM -------Zacatek nastaveni--------
REM --------------------------------
set uzivatel=root
set heslo=root
set rdb=realmd
set mdb=mangos
REM --------------------------------
REM --------Konec nasteveni---------
REM --------------------------------
set mangosdb=mangos-zaloha_%Time%.sql
set realmddb=realmd-zaloha_%Time%.sql

set bu1="account realmcharacters realmlist ip_banned"
set bu2="auctionhouse corpse guild petition petition_sign guild_member guild_rank character character_action character_aura character_gifts character_homebind character_instance character_inventory character_kill character_pet character_queststatus character_reputation character_social character_spell character_spell_cooldown character_ticket character_tutorial instance item_instance mail"

if not exist "%mysqlbin%mysqldump.exe" goto ERROR1
if not exist "%zaloha%" mkdir %datum2%

"%mysqlbin%mysqldump" --user=%uzivatel% --password=%heslo% --add-drop-table %rdb% "%bu1%" > "%zaloha%"\"%realmddb%"
"%mysqlbin%mysqldump" --user=%uzivatel% --password=%heslo% --add-drop-table %mdb% "%bu2%" > "%zaloha%"\"%mangosdb%"

cls
color 1A
@echo Zaloha uspesne vytvorena !
@echo Edited by Replik
@echo Thanks Benny
set uzivatel=
set heslo=
set rdb=
set mdb=
set mangosdb=
set realmddb=
set bu1=
set bu2=
goto EXIT

:ERROR1
cls
color 1C
echo ***************************** ERROR *********************************
echo Nemohu najit %mysqlbin%mysqldump.exe
echo Mate nainstalovany MySQL? Ujistete se, ze neni poskozen.
echo Popripade jej nainstalujte.
echo *********************************************************************
set uzivatel=
set heslo=
set rdb=
set mdb=
set mangosdb=
set realmddb=
set bu1=
set bu2=
pause
exit

:EXIT
color 07
exit

3) V případě potřeby změňte tyto hodnoty, můžete to mít jinak než já:

mysqlbin= cesta k bin složce MySQL (defaultně C:\Program Files\MySQL\MySQL Server 5.0\bin\)
uzivatel=xxxx (defaultně root)
heslo=xxxx (heslo k mysql)
rdb=realmd (název databáze kde jsou tabulky account, realmlist atd.)
mdb=mangos (název databáze kde jsou herní data)

4) Uložte jako Zaloha.bat (jako Všechny soubory, nesmí tam být TXT !)

5) Nakopírujte do složky Záloha nebo do složky kde chcete zálohy mít.

6) Spusťte program.

 

Měla by se vytvořit nová složka v které budou zálohovaná data. Pokud to chcete mít automaticky, stačí přidat naplánovanou úlohu, což je velice jednoduché a dělá se to přes nabídku start -> programy -> příslušenství -> systémové nástroje

 

Doufám, že vám tento jednoduchý prográmek pomůže.

 

:P Replik

Edited by Replik
  • Upvote 2

Share this post


Link to post
Share on other sites

Diky za programek, funguje bezchybne ale mel bych dotaz. Kdyz spustim program, provede se zaloha, ale pak ceka na stisknuti klavesy. Jde nejak udelat, aby se ten program po zalohovani sam ukoncil?

Edited by koshik

Share this post


Link to post
Share on other sites

Diky za programek, funguje bezchybne ale mel bych dotaz. Kdyz spustim program, provede se zaloha, ale pak ceka na stisknuti klavesy. Jde nejak udelat, aby se ten program po zalohovani sam ukoncil?

 

Zkus umazat to pause u exitu :) (s bat teda neumím ani ň, ale zdá se to býti vcelku logické)

Share this post


Link to post
Share on other sites

jj je to tak :P

JJ, já to mám nakonci bez toho pause :) to tam je jen pro vás aby jste videli zda to je uspesne ci ne, a pak to mam v naplanovanych ulohach a pohoda :)

Share this post


Link to post
Share on other sites

Můžu to použít na jakou koli datábázi mangose? Napr. SDB_0.5.3_308-2772 ?

Share this post


Link to post
Share on other sites

Můžu to použít na jakou koli datábázi mangose? Napr. SDB_0.5.3_308-2772 ?

 

 

jasne, je to upraveny to co najdes u me v toolsech pro mangos, spise je problem s kompatibilitou pak pro jine DB kdyz to chces prehrat.

Share this post


Link to post
Share on other sites

Setko mam ok nastavene . . .

Aj mi napise ze ze zaloha bola vytvorena . . .

Ale ziadnu zalohu to nevytvory . . .

Kde by mohla bit chyba ? :)

 

v nenastaveni jmena a hesla k DB

Share this post


Link to post
Share on other sites

Proč bych tam taky jinak měl

REM --------------------------------
REM -------Zacatek nastaveni--------
REM --------------------------------
set uzivatel=root
set heslo=root
set rdb=realmd
set mdb=mangos
set mangosdb=mangos-zaloha.sql
set realmddb=realmd-zaloha.sql
REM --------------------------------
REM --------Konec nasteveni---------
REM --------------------------------

 

:) Doufám, že už ti to pracuje dobře !

 

jasne, je to upraveny to co najdes u me v toolsech pro mangos, spise je problem s kompatibilitou pak pro jine DB kdyz to chces prehrat.

Přesně tak .. pozor na to, ono to prakticky vydupmupje soubory, které obsahujou strukturu a data pro tabulky. Pokud ale vyexportujete data z nějaké starší DB a hodíte si save do jiné, je možné, že vám to nebude fungovat, proto je lepší zálohovat a případně používat data pro stejné DB i updaty

  • Downvote 1

Share this post


Link to post
Share on other sites

Takze jsem narazil na problem ze zalohuji nekolikrat denne a tudiz se mi prepisujou zalohy coz je spatne kdyz nestihnu vcas odchytit problem, prepise se mi to a jsem v haji. Proto jsem oprasit svoje znalosti batch filu a podelim se s vama o svoje vylepseni :)

 

Tohle vlozte uplne na zacatek

 

@echo off
for /F "tokens=1-4 delims=:., " %%a in ('time/T') do set Time=%%ah-%%bmin

 

V tehle casti pak upravte tohle

 

set mangosdb=mangos-zaloha_%Time%.sql
set realmddb=realmd-zaloha_%Time%.sql

 

 

nastaveni pak vypada tedy takhle

 

 

REM --------------------------------
REM -------Zacatek nastaveni--------
REM --------------------------------
set uzivatel=root
set heslo=password
set rdb=realmd
set mdb=mangos
set mangosdb=mangos-zaloha_%Time%.sql
set realmddb=realmd-zaloha_%Time%.sql
REM --------------------------------
REM --------Konec nasteveni---------
REM --------------------------------

 

Slozka ktera se vytvori jednou denne se jmenuje napriklad: čt-14-12-2006

a soubory v ni: mangos-zaloha_09h-22min.sql a realmd-zaloha_09h-22min.sql

Edited by Benny
  • Upvote 1

Share this post


Link to post
Share on other sites

Nemůžu říct nic jiného než Dobrá práce :) Na tvůj včerejší podmět sem si s tím hrál ale nepovedlo se mi odstranit vteřiny a ms, takže nebyly podsložky stejné, tohle funguje výborně a pro ty, co chtějí tvořit zálohy např. 12x denně je to výborné řešení ! :mid_sword:

Share this post


Link to post
Share on other sites

od revize 2812 nutno pridat do nastaveni v zalohovani dalsi tabulku s nazvem character_pet, radka pak bude tedy vypadat takhle

 

 

set bu2="auctionhouse character character_action character_aura character_homebind character_inventory character_kill character_pet character_queststatus character_reputation character_social character_spell character_ticket character_tutorial character_pet guild guild_member guild_rank item_instance mail corpse guild_charter guild_charter_sign"

Edited by Benny

Share this post


Link to post
Share on other sites

kdyz timto programkem vydumpuju zalohu s SDB 0.5.4 Full Changeset 40-2867 a chci ji dat do nove SDB 0.5.4 Changeset 66-3010 tak se zazalohuji jen acc ale postavy zmizi...nevite nekdo jak to upravit aby to fungovalo?

Share this post


Link to post
Share on other sites

nejspis to nejde, resil jsem to stejne.

 

jde o to, ze stara verze ma v tabulce character sloupec realm, ale v nove verzi je misto tohoto sloupce sloupec gmstate. Takze jsem provedl upravu, tak aby to sedelo, ale ted se nove postavy rodi nahe a ty stare nemuzou pouzivat veci typu vsitek, jidlo, lektvar

ostatni tabulky jsou kompatiblni, takze nevim kde je problem, ale uz jsem to vzdal

Share this post


Link to post
Share on other sites

To je možné, protože teď jsem poslední dobou nezkoumal nové databáze, proto je možné, že pokud se obměnily jména tabulek v databázi "mangos" nebo pokud nějaké stěžejní tabulky přibyly, tak to pak nemůže fungovat dobře.

 

Stačí jen ty tabulky najít - zjistit jejich jména a pak je přidat do seznamu dumpovaných tabulek, který je momentálně takovýto:

auctionhouse character character_action character_aura character_homebind character_inventory character_kill character_pet character_queststatus character_reputation character_social character_spell character_ticket character_tutorial character_pet guild guild_member guild_rank item_instance mail corpse guild_charter guild_charter_sign

kdyz timto programkem vydumpuju zalohu s SDB 0.5.4 Full Changeset 40-2867 a chci ji dat do nove SDB 0.5.4 Changeset 66-3010 tak se zazalohuji jen acc ale postavy zmizi...nevite nekdo jak to upravit aby to fungovalo?

 

Share this post


Link to post
Share on other sites
Je normalni, ze tak vznikle sql zalohy , realmd a mangos maji celekm 6kb?

 

jo je, jelikoz to zalohuje ty nejmensi tabulky jako character, guild apod, kdyby to zalohovalo questy a itemy tak je to vetsi

Share this post


Link to post
Share on other sites
lepsi je kdyz moje zalohy maji 0 kb a kdyz je otevru je tam necekane velky kulovy

A jsi si jistý, že máš dobře nastavené přeihlašování nebo jména databází ? Pokud ano tak by to fungovat mělo, je to obyčejné dumpování / export dat do sql souborů

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×