Регистрация Главная Пользователи Все разделы прочитаны
Сообщения за день Справка Регистрация
Навигация
Zhyk.Ru LIVE! Реклама на Zhyk.Ru Доска почета top.zhyk.ru (beta) Премиум-аккаунт

Ответ
 
Опции темы Опции просмотра
Старый 22.09.2020, 09:41   #1
 Разведчик
Аватар для DeadPerson
 
DeadPerson излучает ауруDeadPerson излучает ауруDeadPerson излучает ауруDeadPerson излучает ауруDeadPerson излучает ауруDeadPerson излучает ауру
Регистрация: 17.08.2016
Сообщений: 8
Популярность: 666
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Эмулятор EVE Online (evemu)

Собираем из исходников эмулятор EVE Online в Windows 7

Тема старая, но я думаю что кого-нибудь она заинтересует.

Пошаговая инструкция сборки из исходников и установки эмулятора сервера EVE Online (evemu)

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

Необходимые программы (с этим набором у меня 100% собирается и работает):

- [Ссылки могут видеть только зарегистрированные пользователи. ]
- Microsoft Visual Studio 13 (лучше скачать с Rutracker.org)
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]

Скачиваем и устанавливаем софт
CMake 2.8 и Microsoft Visual Studio 13 устанавливаем со значениями по умолчанию
Устанавливаем и настраиваем MySQL Server
Устанавливаем Navicat (так будет удобнее управлять базой данных)

Создаем каталог и распаковываем в него исходники (у меня это C:/evemu)

Запускаем CMake 2.8 (cmake-gui)
В первом поле с именем Where is the source code? указываем путь до иходников (C:/evemu)
Во втором поле с именем Where to build the binaries? указываем путь куда будет собираться эмулятор (C:/evemu/buld)
Нажимаем кнопку Configure и в появившемся окне нажимаем Yes
Появится окно для выбора Visual Studio, в выпадающем списке выбираем Visual Studio 12 и нажимаем Finish
Пройдет процесс генерации проэкта и в верхней части окна появится список зависимостей выделенных красным
Не закрывая CMake заходим в каталог c:/evemu/dep/ выделяем всё и копируем с заменой в каталог c:/evemu/build/dep/
В CMake повторно жмём Configure, после этого в нижней части окна появится текст Configuring done
В CMake жмём кнопку Generate после того как пройдет процесс в нижней части окна появится текст Generating done
Чаще всего ошибки возникают при конфигурации проекта в CMake из-за отсутствующих зависимых исходников и библиотек
о чем тот в свою очередь сообщает.
Закрываем CMake больше не понадобиться.

В каталоге C:/evemu/buld находим и открываем evemu.sln (это сгенерированных CMake`ом проект для Visual Studio)
Откроется окно Visual Studio и начнется синтаксичекий разбор файлов видимый в самом низу окна, ждём.
После того как появится надпись готово, меняем режим сборки с Debug на Release в выпадающем меню верху окна
Там же вверху окна жмём СБОРКА->Собрать решение либо нажимаем сочетание клавиш Ctrl+Shift+B
Начнется сборка и в окне вывода будет отображаться весь процесс, ждём.
После окончания сборки в окне вывода в самом низу должна быть надпись:

========== Сборка: успешно: 14, с ошибками: 0, без изменений: 0, пропущено: 3 ==========

Что говорит о том, что эмулятор собран, закрываем Visual Studio.

Приступаем к созданию каталогов сервера:
В удобном месте создаём каталог сервера у меня это C:/server в нём создаем следующие каталоги:
bin, etc, image_cache, log, server_cache
Копируем eve-server.exe из c:/evemu/build/src/eve-server/Release/ в c:/server/bin/
Копируем libmysql.dll из c:/evemu/build/dep/mysql/lib/opt/ в c:/server/bin/
Копируем eve-server.xml и log.ini из c:/evemu/utils/ в c:/server/etc/
Открываем блокнотом файл eve-server.xml и ищем следующие строки:

<database>
<host>localhost</host>
<username>root</username>
<password>root</password>
<db>evemu</db>
<!-- <port>3306</port> -->
</database>

Тут указаны настройки базы данных, меняем их на свои указанные при установке MySQL сервера
host это ip-адрес сервера базы данных
username это имя пользователя сервера базы данных
password это пароль пользователя сервера базы данных
db это имя базы данных для эмулятора

Устанавливаем MySQL Server 5.5 (как рекомендуемый) и Navicat для удобства.
После установки открываем блокнотом файл my.ini в каталоге с MySQL Server
у меня это c:/Program Files/MySQL/MySQL Server 5.5/ и меняем следующие значения:

[mysqld]
max_allowed_packet = 1000M
key_buffer = 256M

[mysqldump]
max_allowed_packet = 1000M

Закрываем блокнот сохраняя изменения и перезагружаем MySQL Server

Создаём базу данных с именем как напримере выше evemu, выбираем для нее character set latin1
Устанавливаем базу данных. Все файлы базы находятся в каталоге в который мы распаковали исходники c:/evemu/sql/
Извлекаем файлы базы данных в следующей последовательности:

1. mysql55-cru16.sql
2. ofic-updates.sql
3. evemu_static-dump.sql
4. evemu_dynamic-dump.sql
5. prime_db.sql
6. liveupdates.sql

Данные файлы я отредактировал и они должны разворачиваться без каких либо серьезных ошибок.
Эти файлы обязательные, без них эмулятор просто не будет работать.
ofic-updates.sql формируется с помощью сценария merge-ofic-updates.bat, но в отредактированных файлах есть уже сформированный.
Если в процессе работы сервера будут возникать ошибки связанные с базой,
то попробуйте по одному закидывать в базу файлы из каталога ofic-updates.

seed_lonetrek_market.sql - этот файл добавляет торговые контракты в маркете, не обязателен.

Смотрим на возникающие в ходе извлечения ошибки:

[Err] 1060 - Duplicate column name - не обращаем внимания
[Err] 1062 - Duplicate entry - не обращаем внимание
[Err] 1366 - Incorrect string value: - открываем в блокноте файл который извлекали и исправляем ошибки.

Как правило это различные знаки препинания в тексте описания той или иной вещи в игре,
выглядят как: x92 x93 x94 x95 x96 x97 и ещё парочка других, видятся они как 3 символа,
а выделяются как один, в логе Navicat указывает в каком месте это находится, так что найти не сложно.
Эти символы меняем на следующие x92=` x93=" x94=" x95=- x96=- x97=-
Для редактирования я использовал Notepad++ он видит эти символы так же как и Navicat, стандартный блокнот отображает по другому,
но в нем можно произвести большую часть замен если правильно определить символ и его местонахождение.

Файл дампа офсервера cru11-mysql5-innoDB-v1.sql так и не смог нигде найти,
может плохо искал, поэтому вместо него более позний mysql55-cru16.sql.


В архиве оставляю как оригинальные SQL так и отредактированные, кому интересно копайте, там много интересного.

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

Для добавления скиллов использовал Evemu DB Editor, ссылка на него вверху. Редактор может много чего.

После того как база создана, запускаем эмулятор файлом eve-server.exe в консоле в самом низу увидим L server init: Init done.


Переходим к установке клиента.

Запускаем EVE_Online_Installer_360229.exe он должен быть в одной папке со скачанными архивами
eveonline_360229_1of2.7z и eveonline_360229_2of2.7z
После того как пройдет установка копируем blue_patcher.exe в каталог bin установленного клиента
запускаем blue_patcher.exe и нажимаем кнопку Patch вседолжно пропатчиться
в каталоге с клиентом ищем и редактируем с помощью блокнота common.ini
Должно быть так:

[main]
version=7.31
build=360229
codename=EVE-EVE-TRANQUILITY
region=ccp
cryptoPack=Placebo
sync=360229
branch=//depot/games/branches/release/EVE-TRANQUILITY/eve
appname=EVE
useScriptIndexFiles=1
socketIO=iocp

Так же с помощь блокнота редактируем start.ini
Должно быть так:

[main]
role=client
aid=0
server=127.0.0.1
port=26000
edition=premium

Где 127.0.0.1 наш IP
26000 порт сервера указанный в eve-server.xml (не путать с сервером базы данных)

Запускать клиент нужно файлом /bin/exefile.exe

При попытке залогиниться выдаст ошибку. Идем в базу данных и открываем таблицу account
Вводим значения в столбцах
accountID 0
accountName имя_для_входа
password пароль_для_входа
role 0

Здесь имя аккаунта и пароль выбираем на свое усмотрение, нужное значение в поле role даст админ или ГМ права.
После этого закрываем таблицу сохраняя при этом изменения и логинимся в клиенте,
могут возникнуть проблемы при логине но после удаления записи аккаунта и создании нового все должно работать.
Может возникнуть ошибка на логинскрине, не видно фото персонажа и не входит в игру, нажимаем Esc два раза и заходим.

Для тех кому неинтересно копаться с исходниками и что-то там из них собирать выложен готовый эмулятор.

Данные исходники имеют множество ошибок, но легки в сборке и потому выбраны для мануала.
В других исходниках приходится докачивать необходимые для сборки библиотеки и исходники дополнительных пакетов программ.

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

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

Повторюсь, исходники и БД сырые, ошибок очень много.

Надеюсь что кому-нибудь данная статья пригодится.


Вариант второй, эмулятор развивался до 2017 года судя по Readme и более доработан чем образец в первом посту, но более сложен при конфигурации в CMake

Необходимые программы те же что и в первом посту (кромеисходников) :

[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]

Ссылки на зависимости, если CMake их не скачал:

[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ] (скачиваем и устанавливаем)
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]


Создаем каталог и распаковываем в него исходники (у меня это C:/evemu)

Запускаем CMake 2.8 (cmake-gui)
В первом поле с именем Where is the source code? указываем путь до иходников (C:/evemu)
Во втором поле с именем Where to build the binaries? указываем путь куда будет собираться эмулятор (C:/evemu/buld)
Нажимаем кнопку Configure и в появившемся окне нажимаем Yes
Появится окно для выбора Visual Studio, в выпадающем списке выбираем Visual Studio 12 и нажимаем Finish
Пройдет процесс генерации проэкта и в верхней части окна появится список зависимостей выделенных красным

И тут начинается самое интересное, если CMake не скачал и не распаковал самостоятельно необходимые зависимости,
то придется скачивать самому и копировать архивы в каталог build с заменой,
потом распаковываем содержимое в каталоги которые уже созданы CMake`ом, но без замены содержимого.

В CMake повторно жмём Configure, после этого в нижней части окна появится текст Configuring done
В CMake жмём кнопку Generate после того как пройдет процесс в нижней части окна появится текст Generating done
Чаще всего ошибки возникают при конфигурации проекта в CMake из-за отсутствующих зависимых исходников и библиотек
о чем тот в свою очередь сообщает, придется ручками указывать на ту или иную библиотеку или файл заголовка.
После успешной конфигурации и генерации закрываем CMake, он больше не понадобиться.

Процесс сборки ничем не отличается кроме количества проектов.

========== Сборка: успешно: 15, с ошибками: 0, без изменений: 0, пропущено: 3 ==========

Извлекаем файлы базы данных в следующей последовательности:

1. mysql55-cru16.sql
2. ofic-updates.sql
3. evemu_static-dump.sql
4. evemu_dynamic-dump.sql
5. prime_db.sql
6. liveupdates.sql

Данные файлы я отредактировал и они должны разворачиваться без каких либо серьезных ошибок.
Эти файлы обязательные, без них эмулятор просто не будет работать.
ofic-updates.sql формируется с помощью сценария merge-ofic-updates.bat, но в отредактированных файлах есть уже сформированный.
Если в процессе извлечения ofic-updates.sql могут возникли ошибки,
тогда по одному закидываем в базу файлы из каталога ofic-updates и следующие после пункта 2. ofic-updates.sql

seed_lonetrek_market.sql - этот файл добавляет торговые контракты в маркете, не обязателен.

В архиве оставляю как оригинальные SQL так и отредактированные, кому интересно копайте, там много интересного.

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

Для добавления скиллов использовал Evemu DB Editor, ссылка на него вверху. Редактор может много чего.

После того как база создана, запускаем эмулятор файлом eve-server.exe в консоле в самом низу увидим L server init: Init done.


При попытке залогиниться клиент выдаст ошибку. Идем в базу данных и открываем таблицу account
Вводим значения в столбцах
accountID 0
accountName имя_для_входа
password пароль_для_входа
role 0

Здесь имя аккаунта и пароль выбираем на свое усмотрение, нужное значение в поле role даст админ или ГМ права.
После этого закрываем таблицу сохраняя при этом изменения и логинимся в клиенте,
Может возникнуть ошибка на логинскрине, не видно фото персонажа и не входит в игру, нажимаем Esc два раза и заходим.

Для тех кому неинтересно копаться с исходниками и что-то там из них собирать выложен готовый эмулятор.

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

Повторюсь, исходники и БД сырые, ошибок очень много.
________________
Смерть - бессмысленное усилие нуля поглотить бесконечность.

Последний раз редактировалось DeadPerson; 22.09.2020 в 09:59. Причина: Добавлено сообщение
  Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Эмулятор ДП МаксLamyr Общение и обсуждение 2 15.06.2019 10:58
Сервер EVEmu On-line FFForever Другие Игры 4 24.11.2011 21:59
[Помогите!] Ищю эмулятор сервера Nox depredator Вопросы и ответы, обсуждение 0 16.04.2011 16:31
[Помогите!] Эмулятор ~Ajerizo~ Общение и обсуждение, архив Lineage 2 10 13.05.2010 01:57

www.webmoney.ru
Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 14:47.

Пишите нам: [email protected]
Copyright © 2020 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net