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

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Документация (https://forum.zone-game.info/forumdisplay.php?f=149)
-   -   Перенос игроков и их данных с одной сборки на другую (https://forum.zone-game.info/showthread.php?t=11161)

TieLay 18.11.2010 12:26

Перенос игроков и их данных с одной сборки на другую
 
И так для начала, делаем резевную копию базы-источника, ибо потом нам предстоит удалять некоторые таблицы.

После того как резервная копия сделана удаляем последовательно все таблицы, КРОМЕ перечисленных ниже:
Цитата:

account_data
inventory
item_stones
legions
legion_announcement_list
legion_emblems
legion_history
legion_members
players
player_appearance
player_effects
player_macroses
player_passkey
player_pets
player_punishments
player_quests
player_recipes
player_settings
player_skills
player_titles
player_world_bans
В оставшихся таблицах через редактор свойств таблиц удаляем те колонки, что будут отсутствовать в той БД, куда мы планируем перенести данные.

После чего делаем дамп оставшегося обрубка.

Затем наполняем базовым содержанием базу-приёмник и делаем её резевную копию на случай не восстановления после некорректного слияния.

Потом нам предстоит осуществить опустошение содержимого для ранее указанных таблиц в базе-приёмнике, на случай, если не планируется объединение содержимого.

Вооружившись текстовым редактором правим файл-дамп заменяем строки
Цитата:

DROP TABLE IF EXISTS `player_titles`;
CREATE TABLE `player_titles` (
`player_id` int(11) NOT NULL,
`title_id` int(11) NOT NULL,
PRIMARY KEY (`player_id`,`title_id`),
CONSTRAINT `player_titles_ibfk_1` FOREIGN KEY (`player_id`) REFERENCES `players` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO player_titles VALUES
(11111,1);
на такую запись

Цитата:

INSERT INTO player_titles (player_id, title_id) VALUES
(11111,1);
Так же необходимо учитывать, что в таблице inventory содержимое столбца itemUniqueId в объединяемых базах не должно совпадать, иначе пересекающиеся по этому столбцу данные будут отброшены при наложении как дублирующиеся и часть пользователей может недосчитаться части инвентаря.

Поэтому полезно будет создать на базе дампа базы приёмника - промежуточную базу, произвести наложение дампа-обрубка, запомнить на какие строки ругалась утилита импорта, поправить в обрубке необходимое, очистить промежуточную базу и повторить всё до завершения без ошибок, после чего можно и на базу-приёмник наложить дамп-обрубка...

Добавлено через 16 минут
Если есть ошибки - пишите, исправлю...

PROGRAMMATOR 18.11.2010 23:32

Re: Перенос игроков и их данных с одной сборки на другую
 
Если данная тема востребована хотя бы 1-м участником, то в ней есть смысл.

TieLay 19.11.2010 16:01

Re: Перенос игроков и их данных с одной сборки на другую
 
Вдогонку - Navicat Позволяет производить дамп произвольного набора таблиц, а значит можно не заморачиваться с чисткой базы, но NAvicat всё равно при импорте требует в .sql-файле указать значения для полей, что не указаны явно. Вот как-бы эту проблему решить...

vitlav 19.11.2010 22:12

Re: Перенос игроков и их данных с одной сборки на другую
 
TieLay попробуй перенести базы с AE на AL

При переносе возникала странная ошибка - Не возможно залогинится пока аккаунт зарезервирован (где то так)

Wolfas 17.01.2011 10:31

Re: Перенос игроков и их данных с одной сборки на другую
 
Хочу сказать что можно делать проще, ну кто не очень сильно хочет заморачиваться, оставить только таблицы:

account_data
inventory
item_stones
players
player_appearance

Также вам нужно будет удалить все стигма камни из инвентарей
+ может случиться так, что на вашей новой сборке, в items_temleit
нету некторых итемов которые были на пред идущей, в этом случаи могут возникнуть крупные неприятности

TieLay 17.01.2011 12:45

Re: Перенос игроков и их данных с одной сборки на другую
 
Wolfas, в посте #3 как бы указано, правда там про navicat, но всё же. Вот ещё бы заставить его дампить таблицы в формате залива, а не принудительного создания вместо существующих и заполнять, при импорте неуказанные колонки значением по умолчанию...

sayran 20.01.2011 18:00

Re: Перенос игроков и их данных с одной сборки на другую
 
Хорошо а вот такой вопрос - а как перейти с аион кор на новую версию аион кор где используется паскей ? Я все перенес как здесь написано сервер запускается захожу и логенюсь а когда должен появиться выбор перса клиент типо зависает что делать ???

TieLay 20.01.2011 22:17

Re: Перенос игроков и их данных с одной сборки на другую
 
sayran, как обычно начинать танцы с бубном.

Посмотри логи или консоль GS и LS, возможно увидишь причину, что какая-то колонка таблицы недоступна

А так можно:
- развернуть серверы с минимальной правкой дефолтных конфигов, что в SVN
- качнуть ОФФИЦИАЛЬНЫЙ клиент 2.1 с сайта угновы
- закинуть в папку system32 файлы NoIP restrict
- сделать wipe базы и заново залить ls.sql, gs.sql, droplist.sql
- импортировать корректно таблицы
Цитата:

account_data
inventory
item_stones
players
player_appearance
player_quests
player_recipes
player_settings
player_skills
player_titles
в .sql-файле должно быть только занесение данных в таблицы, а не пересоздание на подобие:
Цитата:

DROP TABLE IF EXISTS `player_titles`;
CREATE TABLE `player_titles` (
`player_id` int(11) NOT NULL,
`title_id` int(11) NOT NULL,
PRIMARY KEY (`player_id`,`title_id`),
CONSTRAINT `player_titles_ibfk_1` FOREIGN KEY (`player_id`) REFERENCES `players` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=MyISAM DEFAULT CHARSET=utf8

INSERT INTO player_titles VALUES
(11111,1);
- и в настройках GS сам запрос passkey можно отключить.

Sanders 26.08.2011 09:53

Re: Перенос игроков и их данных с одной сборки на другую
 
а как называется таблица которая отвечает за клан банк.
проблема вот такая перенес персов и т.д кланы а вот что было у кланов в банке и в приват их просто нет, все пусто.
помогите пожалуйста!

DeathMagnest 19.03.2013 13:58

Re: Перенос игроков и их данных с одной сборки на другую
 
Спасибо огромнейшее, тема помогла избежать краха сервера! )


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

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