Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   ArcheAge (https://forum.zone-game.info/forumdisplay.php?f=187)
-   -   Исследование базы ArcheAge (https://forum.zone-game.info/showthread.php?t=33319)

MadHacker 31.12.2013 12:34

Исследование базы ArcheAge
 
База от текущего клиента (29.04.14 ru)
"\x72\x17\x1D\x0B\x3A\xFA\x24\xE2\x7D\x12\xAD\x39\ x16\x5A\x71\x0B"

(10.04.14 ru)
"\x48\x26\xB5\x13\x6A\x32\xCE\x89\x19\xE7\x5E\x24\ x2F\xBC\x44\x17"
http://files.mail.ru/C595738D22384ED2AD6420366FA579BD

(27.03.14 ru)
"\xE8\xF7\x69\x7B\xD2\x41\xE2\x82\x20\x71\x8D\xF4\ x36\x1A\x41\x1B"
http://files.mail.ru/CCDD0DCAB75B436383A0C1F36875E113

(06.03.14 ru)
"\xBE\x8A\x4A\x45\x94\x7C\xCE\x6F\x3E\xE7\x66\x5F\ x94\xCC\x37\x4A"
http://files.mail.ru/6F6FD8DC4D9E44E8BEAE6516FCBFA0D8

База от клиента (18.02.14 ru)
\x80\x96\xB8\x4B\x70\x0F\x5A\x82\x07\x2D\x0B\xC0\x 09\x16\x41\x04
http://files.mail.ru/999EE8D113034C19A403B6B72594ED26

База от клиента (15.02.14 ru)
\xFA\x9B\x0B\x4D\x16\xC0\x02\x16\x60\x01\xDA\x7D\x 8A\xB4\x0B\x45
http://rghost.ru/52465748

База от клиента (12.02.14 ru)
\xB2\x50\xB9\x28\x72\x65\xDC\xEB\x32\xEE\x7D\xD9\x F1\xFA\x75\x78
http://files.mail.ru/4D832B79043741B382686CCF8CD7D0FB

База от (20.01.14 ru) клиента ArcheAge представлено MHard:
http://rghost.ru/51906365

Русскую локаль можно проставить вот таким скриптом (который надо сильно оптимизировать, какой то баг с транзакциями)
import sqlite3
import sys
 
if (len(sys.argv) < 2):
	print("usage dblocale.py locale(ko|ru|other in db) <dbname default gamedb.sqlite3>")
	sys.exit()
 
 
dbname = "gamedb.sqlite3"
if (len(sys.argv) >= 3):
	dbname = sys.argv[2]
 
print("connect to: %s" % dbname)
conn = sqlite3.connect(dbname)
cur_tbname = conn.cursor()
print("begin tranzaction")
conn.execute('BEGIN TRANSACTION')
print("select table names")
cur_tbname.execute('SELECT tbl_name from localized_texts GROUP BY tbl_name')
cur_fieldname = conn.cursor()
cur_data = conn.cursor()
for record in cur_tbname:
	print("process table %s" % record[0])
	param = (record[0],)
	cur_fieldname.execute('SELECT tbl_column_name from localized_texts WHERE tbl_name = ? GROUP BY tbl_column_name', record)
	for field_rec in cur_fieldname:	
		print ("\t%s"% field_rec[0])
		cur_data.execute('SELECT %s, idx FROM localized_texts WHERE tbl_name="%s" AND tbl_column_name="%s"' % (sys.argv[1], record[0], field_rec[0]))
		query = 'UPDATE %s SET %s = ? WHERE id = ?' %(record[0], field_rec[0])
		for text_rec in cur_data:
			try:
				conn.execute(query, text_rec)
			except sqlite3.OperationalError:
				print ("bad query: %s; params: (%s, %s)" % (query, record[0], field_rec[0]))
 
print("COMMIT")
conn.execute('COMMIT')
print("end all operate")
 
Code: Python
Предлагаю обсуждать в этой теме структуру БД, делиться запросами и захватывать мир.

trixiejack 31.12.2013 12:41

Re: Исследование базы ArcheAge
 
MadHacker, вы не перестаете меня удивлять.
С новым годом :)

Mooni 31.12.2013 15:11

Re: Исследование базы ArcheAge
 
Чтоб захватить мир нужны статы предметов. В бд они не прописаны..

Kelax 31.12.2013 15:13

Re: Исследование базы ArcheAge
 
Какой мир захватить?

Вопрос к мэду:После крупных обновлений, будет ли редактироваться данная тема и выкладываться база.

trixiejack 31.12.2013 15:14

Re: Исследование базы ArcheAge
 
Цитата:

Сообщение от Kelax (Сообщение 343085)
Какой мир захватить?

Вопрос к мэду:После крупных обновлений, будет ли редактироваться данная тема и выкладываться база.

Думаю имелась ввиду идеальная ситуация написания эмулятора.

MadHacker 31.12.2013 15:23

Re: Исследование базы ArcheAge
 
Что касается захвата мира - тут уж каждому свой. Меня от базы пока интересует крафт, цены на ресурсы, паки.
Беглый просмотр базы показал, что корейцы (в отличии от китайцев с PW) не дураки, и всё действительно интересное лежит на сервере. А значит база не представляет особого интереса. Удобнее будет на каком нибудь сайте воспользоваться готовой базой, чем самому с ней заморачиваться.
Собственно по этому обещать обновление базы не могу.

Mooni 31.12.2013 15:26

Re: Исследование базы ArcheAge
 
http://toppvp.com/aa/items
* во славу само пиара

MadHacker 31.12.2013 15:30

Re: Исследование базы ArcheAge
 
Угу. Например вашу :) Вчера наткнулся.
Ещё бы сделали для каждого итема список рецептов, в которых он используется :)

Mooni 31.12.2013 15:31

Re: Исследование базы ArcheAge
 
Я только занялся крафтом.. К обт ещё доделаю..
p.s сомневаюсь что там есть инфа по ценам паков..

xTz 31.12.2013 15:40

Re: Исследование базы ArcheAge
 
в бд все что надо есть

MadHacker 31.12.2013 15:52

Re: Исследование базы ArcheAge
 
В бд большая куча всего. Но пока на глаза попадается больше "мусора". Модели, анимация, какая то фигня...
Найти в этой каше статы мобов\шмота\прочего пока не удаётся.

Небольшой скриптик, который проставляет текст из таблицы локализации по всем остальным. На нескольких таблицах не отрабатывает и адски медленный (курсорами бегать некошерно, но что-то под sqlite ничего более приличного не нашёл). Гораздо лучше сконвертировать во что нибудь вроде MySQL и сделать то же самое одним запросом за пару минут.
import sqlite3
import sys
 
if (len(sys.argv) < 2):
	print("usage dblocale.py locale(ko|ru|other in db) <dbname default gamedb.sqlite3>")
	sys.exit()
 
 
dbname = "gamedb.sqlite3"
if (len(sys.argv) >= 3):
	dbname = sys.argv[2]
 
print("connect to: %s" % dbname)
conn = sqlite3.connect(dbname)
cur_tbname = conn.cursor()
print("begin tranzaction")
conn.execute('BEGIN TRANSACTION')
print("select table names")
cur_tbname.execute('SELECT tbl_name from localized_texts GROUP BY tbl_name')
cur_fieldname = conn.cursor()
cur_data = conn.cursor()
for record in cur_tbname:
	print("process table %s" % record[0])
	param = (record[0],)
	cur_fieldname.execute('SELECT tbl_column_name from localized_texts WHERE tbl_name = ? GROUP BY tbl_column_name', record)
	for field_rec in cur_fieldname:	
		print ("\t%s"% field_rec[0])
		cur_data.execute('SELECT %s, idx FROM localized_texts WHERE tbl_name="%s" AND tbl_column_name="%s"' % (sys.argv[1], record[0], field_rec[0]))
		query = 'UPDATE %s SET %s = ? WHERE id = ?' %(record[0], field_rec[0])
		for text_rec in cur_data:
			try:
				conn.execute(query, text_rec)
			except sqlite3.OperationalError:
				print ("bad query: %s; params: (%s, %s)" % (query, record[0], field_rec[0]))
 
print("COMMIT")
conn.execute('COMMIT')
print("end all operate")
 
Code: Python
У меня он уже полтора часа пытается справиться с этой базой :)

Mooni 31.12.2013 15:59

Re: Исследование базы ArcheAge
 
Мобы там не обнаружены. Из статов шмота только самое основное.

MadHacker 31.12.2013 16:06

Re: Исследование базы ArcheAge
 
Ага. Ну да. Теперь понятно почему скрипт так тормозил. Я неправильно транзакцию открыл. Или её кто-то закрыл в процессе... Вобщем скрипт нуждается в доработке :)

Mooni 31.12.2013 16:15

Re: Исследование базы ArcheAge
 
300к локалей - удачи...

MadHacker 31.12.2013 16:21

Re: Исследование базы ArcheAge
 
Уже получилось :)
Теперь работать с базой вообще красота.

http://files.mail.ru/93AB24F1A4FF4823BD65E2B66EEB9532

Breaker-RUS 31.12.2013 17:44

Re: Исследование базы ArcheAge
 
Спасибки за базу.... будем ковырять... ток для начала щас в MYSQL перенесу для удобства =)

trixiejack 31.12.2013 19:07

Re: Исследование базы ArcheAge
 
Хе-хе. Всего 1200 НПСов.

MadHacker 10.01.2014 13:39

Re: Исследование базы ArcheAge
 
И никто не хочет ничем делиться.
Ну давайте буду вести монолог с разбродными мыслями.
Табличка allowed_name_chars казалось бы - разрешённые имена для персонажей. А вот хрен. По факту это разрешённые символы для имён гильдий. И да. Там нет половины букв русского алфавита. Зато овердофига корейских иероглифов.

Kelax 10.01.2014 13:56

Re: Исследование базы ArcheAge
 
Цитата:

Сообщение от MadHacker (Сообщение 344983)
И никто не хочет ничем делиться.
Ну давайте буду вести монолог с разбродными мыслями.
Табличка allowed_name_chars казалось бы - разрешённые имена для персонажей. А вот хрен. По факту это разрешённые символы для имён гильдий. И да. Там нет половины букв русского алфавита. Зато овердофига корейских иероглифов.

Про невозможность создать гильдию с определенными русскими буквами уже говорилось, это будет исправлено на ОБТ.

Посмотрел базу, и почему то теперь таблица blocked_texts пуста. Там как раз и были запреты в чате/создание персонажей.

Добавлено через 25 минут
Сравнил базы более ранних билдов, действительно от 14.12 много вырезали.

MadHacker 10.01.2014 14:34

Re: Исследование базы ArcheAge
 
Книги. Кто нибудь соберёт вэб версию?
SELECT books.[name], book_pages.[name], book_page_contents.[text] FROM books 
LEFT JOIN book_elems ON books.[id] = book_elems.[book_id]
LEFT JOIN book_pages ON book_elems.[book_page_id] = book_pages.[id]
LEFT JOIN book_page_contents ON book_elems.[book_page_id] = book_page_contents.[id]
Code: SQL

Kelax 10.01.2014 14:42

Re: Исследование базы ArcheAge
 
Цитата:

Сообщение от MadHacker (Сообщение 345006)
Книги. Кто нибудь соберёт вэб версию?
SELECT books.[name], book_pages.[name], book_page_contents.[text] FROM books 
LEFT JOIN book_elems ON books.[id] = book_elems.[book_id]
LEFT JOIN book_pages ON book_elems.[book_page_id] = book_pages.[id]
LEFT JOIN book_page_contents ON book_elems.[book_page_id] = book_page_contents.[id]
Code: SQL

Таблица zones.
Судя по всему ограничение локаций на стороне клиента, соответственно t -true (запрет) f - false (разрешение нахождения).

Интересно попасть в локацию npc_test .

Mooni 10.01.2014 17:02

Re: Исследование базы ArcheAge
 
Цитата:

Сообщение от MadHacker (Сообщение 344983)
И никто не хочет ничем делиться.

Например?.

MadHacker 10.01.2014 17:48

Re: Исследование базы ArcheAge
 
Да вроде как и нечем. Я так понимаю в базе точек респа предметов нет, зон обитания мобов нет. Координат неписей нет. Лута нет.
Всё самое интересное лежит на сервере. А на клиенте только вон, рецепты крафта и какая то фигня.

Mooni 10.01.2014 18:30

Re: Исследование базы ArcheAge
 
Там даже статов шмота нет..
90% полезной инфы это локали

Smiler 10.01.2014 19:15

Re: Исследование базы ArcheAge
 
Цитата:

Сообщение от Mooni (Сообщение 345087)
Там даже статов шмота нет..
90% полезной инфы это локали

ну почему же 90% ?

взять хотябы уровни игрока и кол-во експы на каждом уровне
таблица levels

или скилы и их уровни (на каком левеле учатся) какому классу игроков доступны, откаты, потребление манны...
таблица skills

и очень много еще интересного

luxtau 10.01.2014 20:39

Re: Исследование базы ArcheAge
 
Цитата:

Сообщение от MadHacker (Сообщение 345080)
Да вроде как и нечем. Я так понимаю в базе точек респа предметов нет, зон обитания мобов нет. Координат неписей нет. Лута нет.

Даже этого нет? Печаль. Тоже полез в неё чтоб узнать хотя бы локацию для моба, но облом.

В рунах респ прописывался на сервере, но в клиенте хотя бы был поиск НПЦ по миру (в базе зона + координаты области, в районе которой респятся мобы, или точные координаты НПЦ). А тут печаль, печаль..

Добавлено через 1 минуту
У кого-то есть старая база игры, в которой работает скрипт
Код:

SELECT weapon_offset_x, weapon_offset_y, weapon_offset_z FROM game_stances;

Mooni 11.01.2014 08:25

Re: Исследование базы ArcheAge
 
Цитата:

Сообщение от MHard (Сообщение 345109)
или скилы и их уровни (на каком левеле учатся) какому классу игроков доступны, откаты, потребление манны...
таблица skills

ну ок, хочу я инфу по скилу: гимн мудрости
в реальности он даёт 30 минут бафа, на 6-8% скорости каста.. но как узнать от чего он зависит?

Цитата:

INSERT INTO localized_texts VALUES(29165,'skills','desc',11377,'#{buff_duratio n} 동안 자신 또는 아군의 #{buff_tooltip}시킵니다',9,'',9,'',9,'',9,
'Длительность: #{buff_duration} #{buff_tooltip} Можно применить к себе или соратнику.',9,'',0,'',0,'',0);
Цитата:

INSERT INTO skills VALUES(11377,'현인의 시','#{buff_duration} 동안 자신 또는 아군의 #{buff_tooltip}시킵니다',80,1325,'t',NULL,NULL,9,0,1,-1,0,1500,'f',0,
0.0,1,0,1,4,1,2,0,1,0,'f',-1,360,-1,0,25,'f','f',0,456,NULL,'t',0,0,0,NULL,NULL,360, 25,NULL,NULL,0,1,100,NULL,'f',NULL,0,'f',10,0.0,0. 0,'f','f','f','t','t',NULL,NULL,0,2.0,NULL,'f',2,' f',NULL,'f',NULL,'f','f',0,'f','t','자신 또는 아군의 시전 시간을 [단축 시간] 단축시킵니다',
't','f','f',20.0,80,5.0,1.0,0.2,2.0,'f',0,'f','t', 'f',0.0,0.0,NULL,'f',0.0,'f','f',33,35,441,36,38,4 04,'f','t','t','t',-1,1,'f',0,'f','f','t',0,'t',0,4,'f',0,'t',NULL,'f' ,'f','f',NULL,'f','f','f','f','f','f','f','f',0,'f ','f','f',0,'f',1,0);

MadHacker 11.01.2014 12:56

Re: Исследование базы ArcheAge
 
Кто нибудь находил в базе координаты участков под застройку? Или тоже только на сервере?

IncSW 15.01.2014 00:42

Re: Исследование базы ArcheAge
 
2 Mooni

Можно поинтересоваться откуда вы взяли статы предметов для своего сайта? =)

<~Kp@$o†ka~> 15.01.2014 04:39

Re: Исследование базы ArcheAge
 
MadHacker вопрос а цель исследования базы какая ? ( написание своего эмулятора - или что то иное ? )

Mooni 15.01.2014 05:38

Re: Исследование базы ArcheAge
 
Цитата:

Сообщение от IncSW (Сообщение 345976)
Можно поинтересоваться откуда вы взяли статы предметов для своего сайта? =)

Ручками...

xolseg 15.01.2014 05:55

Re: Исследование базы ArcheAge
 
Цитата:

Сообщение от Mooni (Сообщение 345990)
Ручками...

Дрочат тоже руками, но это не значит что положа руки на член вы дрочите.

Вас спросили откуда именно вы взяли, из клиента или из другого места...

Mooni 15.01.2014 07:38

Re: Исследование базы ArcheAge
 
Заходишь в игру, находишь шмотку и ручками

Добавлено через 1 час 17 минут
Говорят трион запустили сервера.. Есть у кого клиент?

guesswho777 15.01.2014 09:15

Re: Исследование базы ArcheAge
 
тоже ищу клиент

<~Kp@$o†ka~> 15.01.2014 11:56

Re: Исследование базы ArcheAge
 
Цитата:

Сообщение от Mooni (Сообщение 346000)
Заходишь в игру, находишь шмотку и ручками

Добавлено через 1 час 17 минут
Говорят трион запустили сервера.. Есть у кого клиент?

из интервью с Виктория Восс, старший продюсер для ArcheAge в Trion Worlds вычитать удалось не много -(шаманство в гугле тоже не дало толку)
http://s019.radikal.ru/i639/1401/b8/bcec35ae500c.jpg
Клиента ещё не у кого нету - на трионе можно тока регистрацию пройти
на Beta тест игры

и следить за новостями в фейс буке .
----------------------------------------------------:)

guesswho777 15.01.2014 12:04

Re: Исследование базы ArcheAge
 
как бэ клиент уже есть и сервера запущены на которых могут играть сотрудники TW их члены семьи и друзья

Mooni 16.01.2014 12:42

Re: Исследование базы ArcheAge
 
Есть у кого свежая корейская дб..

MadHacker 16.01.2014 18:40

Re: Исследование базы ArcheAge
 
Цитата:

Сообщение от <~Kp@$o†ka~> (Сообщение 345989)
MadHacker вопрос а цель исследования базы какая ? ( написание своего эмулятора - или что то иное ? )

Я не занимаюсь эмуляторами. Не мой уровень :)
Я делаю мелкие вспомогательные утилиты для соей ГИ. Калькуляторы, радары, карты.

Mooni 16.01.2014 18:45

Re: Исследование базы ArcheAge
 
И что уже сделал?

MadHacker 16.01.2014 18:50

Re: Исследование базы ArcheAge
 
Сделал просмотрщик игрового архива. Достал базу. Смотрю чего там есть интересного.
Собирался калькулятор крафта делать, смотрю уже онлайн версия есть. Если допилят рассчёт ресурсов - уже можно будет не делать :)


Текущее время: 09:38. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot