Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Перенос игроков и их данных с одной сборки на другую
#1
И так для начала, делаем резевную копию базы-источника, ибо потом нам предстоит удалять некоторые таблицы.

После того как резервная копия сделана удаляем последовательно все таблицы, КРОМЕ перечисленных ниже:
Цитата: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 минут
Если есть ошибки - пишите, исправлю...
Ответ
#2
Если данная тема востребована хотя бы 1-м участником, то в ней есть смысл.
Ответ
#3
Вдогонку - Navicat Позволяет производить дамп произвольного набора таблиц, а значит можно не заморачиваться с чисткой базы, но NAvicat всё равно при импорте требует в .sql-файле указать значения для полей, что не указаны явно. Вот как-бы эту проблему решить...
Ответ
#4
TieLay попробуй перенести базы с AE на AL

При переносе возникала странная ошибка - Не возможно залогинится пока аккаунт зарезервирован (где то так)
Ответ
#5
Хочу сказать что можно делать проще, ну кто не очень сильно хочет заморачиваться, оставить только таблицы:

account_data
inventory
item_stones
players
player_appearance

Также вам нужно будет удалить все стигма камни из инвентарей
+ может случиться так, что на вашей новой сборке, в items_temleit
нету некторых итемов которые были на пред идущей, в этом случаи могут возникнуть крупные неприятности
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".
Ответ
#6
Wolfas, в посте #3 как бы указано, правда там про navicat, но всё же. Вот ещё бы заставить его дампить таблицы в формате залива, а не принудительного создания вместо существующих и заполнять, при импорте неуказанные колонки значением по умолчанию...
Ответ
#7
Хорошо а вот такой вопрос - а как перейти с аион кор на новую версию аион кор где используется паскей ? Я все перенес как здесь написано сервер запускается захожу и логенюсь а когда должен появиться выбор перса клиент типо зависает что делать ???
Ответ
#8
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 можно отключить.
Ответ
#9
а как называется таблица которая отвечает за клан банк.
проблема вот такая перенес персов и т.д кланы а вот что было у кланов в банке и в приват их просто нет, все пусто.
помогите пожалуйста!
Ответ
#10
Спасибо огромнейшее, тема помогла избежать краха сервера! )
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  не могу подключить веб со базы данных сервера gebriel 10 5,794 04-20-2011, 01:15 PM
Последний пост: ALeKsIuS
  Каким образом реально перейти с одной ревизии на следующую? IIIkipeR 9 4,118 11-02-2010, 09:40 AM
Последний пост: sotariz
  Не могу залить базу данных realist 4 4,937 09-19-2010, 01:39 PM
Последний пост: realist
  [Помогите] Количество онлайн игроков на сервере. xobotyi 1 5,017 03-04-2010, 12:27 AM
Последний пост: Nemesis

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)