- Регистрация
- 24 Окт 2019
- Сообщения
- 44
- Реакции
- 31
I. Содержание и структура
Насколько уже известно, игровые данные запакованы zlib-ом и представлены в формате Berkeley Database
II.Примеры работы с базой
Работать с базой не так сложно, как можно представить по началу, но всё же это стоит делать с максимальной осторожностью.
Запрос делается следующей командой напрямую к сервису базы
Команды параметров:
Запрос делается командой
Команды параметров:
III. Ошибки и восстановление игровой базы
В архиве dbtool.zip (см. в приложении) имеется сомнительный сервис для восстановления и исправления базы данных dbtool.
Так же в архиве dbtool.zip (см. в приложении) имеется скрипт, который исправляет ошибки в новую базу[2] и заменяет базу[2] на старую базу[1].
С распакованными данными вам помогут следующие утилиты (~ пакеты в дебиане):
Весь список команд с gamedbd v156
.OneFlash
Насколько уже известно, игровые данные запакованы zlib-ом и представлены в формате Berkeley Database
II.Примеры работы с базой
Работать с базой не так сложно, как можно представить по началу, но всё же это стоит делать с максимальной осторожностью.
Запрос делается следующей командой напрямую к сервису базы
Bash:
./gamedbd gamesys.conf команда параметры
Команды параметров:
Код:
listrolebrief
// — список всех персонажей, в коротком формате:
// roleid,userid,name,occupation,level,exp,moneyall,r eputation
listuserbrief
// — список всех игроков, их голд + статистика:
// userid,rolelist,cash,money,cash_add,cash_buy,cash_ sell,cash_used,add_serial,use_serial,
// cash_current,exg_logcount
listfaction
// — кланы:
// fid,name,level,masterid,masterrole,member_size
listfactionuser
// — список игроков и персонажей, состоящих в кланах:
// rid,name,fid,cls,role,loyalty,nickname
listcity
// — информация о городах, кто захвачен, когда, кем, а также информация о ставках:
// id,level,owner,occupy_time,challenger,deposit,cuto ff_time,battle_time,bonus_time,color,status,timeou t,maxbonus
updateroles
// — должно обновить персонажей, сохранить последние изменения, не тестил
convertdb
// — т.к. база по-умолчанию упакована с помощью zlib, это одна из функций по конвертации
repairdb
// — аналогично mysql — восстановит побитые индексы или базу целиком (если есть бекап)
tablestat
// — сомнительно-полезная инфа о таблицах всей базы
tablestatraw
// — сомнительно-полезная инфа о таблицах всей базы
towdb
// — wbd и есть формат упакованных данных
tobdb
// — bdb — метод хранения данных — кому интересно курите википедию
compressdb
// — ?
decompressdb
// — ?
gennameidx
// — ?
listid tablename
// — выведет занятые ID у любой из таблиц
// например, ./gamedbd gamesys.conf listid user выведет занятые ID пользователей
rewritetable fromname toname
// — функция сомнительного названия, не проверял
rewritetable roleidfile fromname toname
// — функция сомнительного названия, не проверял
read tablename roleid
// — интересная штукенция, выведет двоичную инфу об персонаже
// например, ./gamedbd gamesys.conf read user 16
query roleid
// — выведет всю информацию о персонаже
merge dbdatapath
// слияние баз, полезно при переносе
// в параметре надо указать полный путь к старой папке с базой
listshoplog
// — лог голдшопа:
// roldid,order_id,item_id,expire,item_count,order_co unt,cash_need,time,guid1,guid2
findmaxsize dumpfilename
// — ?
Запрос делается командой
Bash:
./gamedbd.conv gamesys.conf команда параметра
Команды параметров:
- importclsconfig
- exportclsconfig
- clearclsconfig
- listrole
- listrolebrief
- listfaction
- listfactionuser
- listcity
- updateroles
- convertdb
- repairdb
- tablestat
- tablestatraw
- towdb
- tobdb
- compressdb
- decompressdb
- gennameidx
- query roleid
- merge dbdatapath
III. Ошибки и восстановление игровой базы
В архиве dbtool.zip (см. в приложении) имеется сомнительный сервис для восстановления и исправления базы данных dbtool.
Так же в архиве dbtool.zip (см. в приложении) имеется скрипт, который исправляет ошибки в новую базу[2] и заменяет базу[2] на старую базу[1].
С распакованными данными вам помогут следующие утилиты (~ пакеты в дебиане):
Код:
libdb-dev - Berkeley Database Libraries [development]
libdb-ruby1.8 - Interface to Berkeley DB for Ruby 1.8
libdb-ruby1.9 - Interface to Berkeley DB for Ruby 1.9
libdb4.2++-dev - Berkeley v4.2 Database Libraries for C++ [development]
libdb4.2++c2 - Berkeley v4.2 Database Libraries for C++ [runtime]
libdb4.2-dev - Berkeley v4.2 Database Libraries [development]
libdb4.2-ruby1.8 - transitional package for libdb-ruby1.8
libdb4.2-ruby1.9 - transitional package for libdb-ruby1.9
libdb4.2-tcl - Berkeley v4.2 Database Libraries for TCL [module]
libdb4.3-ruby1.8 - transitional package for libdb-ruby1.8
libdb4.3-ruby1.9 - transitional package for libdb-ruby1.9
libdb4.4-ruby1.8 - transitional package for libdb-ruby1.8
libdb4.5++ - Berkeley v4.5 Database Libraries for C++ [runtime]
libdb4.5++-dev - Berkeley v4.5 Database Libraries for C++ [development]
libdb4.5-dev - Berkeley v4.5 Database Libraries [development]
libdb4.5-java - Berkeley v4.5 Database Libraries for Java
libdb4.5-java-dev - Berkeley v4.5 Database Libraries for Java [development]
libdb4.5-java-gcj - Berkeley v4.5 Database Libraries for Java (native code)
libdb4.5-tcl - Berkeley v4.5 Database Libraries for TCL [module]
libdb4.6++ - Berkeley v4.6 Database Libraries for C++ [runtime]
libdb4.6++-dev - Berkeley v4.6 Database Libraries for C++ [development]
libdb4.6-dbg - Berkeley v4.6 Database Libraries [debug]
libdb4.6-dev - Berkeley v4.6 Database Libraries [development]
libdb4.6-java - Berkeley v4.6 Database Libraries for Java
libdb4.6-java-dev - Berkeley v4.6 Database Libraries for Java [development]
libdb4.6-java-gcj - Berkeley v4.6 Database Libraries for Java (native code)
libdb4.6-tcl - Berkeley v4.6 Database Libraries for TCL [module]
Весь список команд с gamedbd v156
C:
Compiled By developer, Dec 21 2015 14:00:33
Gamedbd version CNET 1.178
Usage: ./gamedbd conf-file
[ importclsconfig | exportclsconfig | clearclsconfig | clearclswaypoint
| importrolelist rolelistfilenamelist| exportrolelist roleidfilename rolelistfilename
| printlogicuid | printunamerole zoneid | printunamefaction zoneid
| gennameidx | exportunique zoneid
| query roleid | exportrole roleid | importrole roleidfile | merge dbdatapath | mergewdb dbdatapath srczoneid
| listrole | listrolebrief | listuserbrief | listfaction | listfactionuser | listfactionrelation | listroleinventory
| listcity | listshoplog | listsyslog
| updateroles | convertdb | repairdb
| deletewaitdel | calcwaitdel
| tablestat | tablestatraw | findmaxsize dumpfilename
| read tablename id
| rewritetable fromname toname | rewritedb
| listid tablename | rewritetable roleidfile fromname toname
| compressdb | decompressdb
| walkalltable | exportgametalk outputdir
| exportuserstore roleid | exportprofittime | abstractroles dbdatapath zoneid | delzoneplayers zoneid
| setdbcrosstype type | listrolecrossinfo roleid | resetrolecrossinfo roleid remote_roleid data_timestamp cross_timestamp src_zoneid
| syncplayername | returncash useridfile | importrecalluser useridfile | querywebtrade sn | queryglobalcontrol
| getsignindata month | setclspvpflag flag | getrolelogindata year logicid | getuserlogindata year logicid
| listfintask | listmnfactioninfo | listmnfactionapplyinfo | listmndomaininfo | clearmnfactionid | clearmnfacioncredit
| importmnfactioninfo mnfactioninfofile | importmnfactionapplyinfo mnfactionapplyinfofile | importmndomaininfo mndomaininfofile
| setmnfactionstate state_num | listsolochallengerank | clearsolochallengerank roleid zoneid
| clearhomepraise | listhomeinfo home_id info_type | deletehome home_id | exporthome home_id | importhome home_id home_file ]
.OneFlash