01-20-2010, 03:47 AM
Немного о самом эмуляторе EVEmu.
Старый сайт http://evemu.sourceforge.net (много интересного)
Новый форум http://evemu.mmoforge.org/forum/
Сам проэкт находтся на http://mmoforge.org/gf/project/evemu/
Новые SVN релизы http://mmoforge.org/svn/evemu/ пароль anonymous
И trac, кудаж без него http://trac.mmoforge.org/evemu/
Начинаем
EVEmu для Windows
EVEmu для Linux(ubuntu)
Установка эмулятора EVEmu
Команды в EVEmu
466 ревизия. Изменения в струтуре ДБ.
Старый сайт http://evemu.sourceforge.net (много интересного)
Новый форум http://evemu.mmoforge.org/forum/
Сам проэкт находтся на http://mmoforge.org/gf/project/evemu/
Новые SVN релизы http://mmoforge.org/svn/evemu/ пароль anonymous
И trac, кудаж без него http://trac.mmoforge.org/evemu/
Начинаем
EVEmu для Windows
Открыть спойлер
СпойлерОригинал статьи находится на http://trac.mmoforge.org/evemu/wiki/CompilingWindows
Нужный софт:
Итак начинаем.
На данном этапе все настройки были выполнены и можно приступать к компиляции.
Компиляция исходного кода
Собственно все.
Нужный софт:
- Visual C++ Express 2008
- Zlib source code
- Mysql Package (на загрузившейся странице нажмите на "No thanks, just take me to the downloads!" чтобы не создавать аккаунт)
- VC2008FeaturePack
Итак начинаем.
- Устанавливаем Visual C++. Также ставим и VC2008FeaturePack.
- Создайте папку с именем "evemu" (где вам удобно, например я седалал ее на диске c:\, тоесть мы получим c:\evemu дирректорию).
- Распаковать zlib и mysql архивы в c:\evemu (соответственно мы создадим поддиректории "zlib-1.2.3" и "mysql-5.0.67-win32")
- Идем в c:\evemu\zlib-1.2.3\projects, открываем файл проэкта "zlib.dsp"
- Запустится Visual C++. Так как проэкт был написан в старой студии, наш Visual C++ предложит его конвертировать, выберите вариант "Yes".
- После того как проэкт открыт и переконвертирован, выберите в параметрах компиляции ("Solution Configurations") тип "LIB Release" (по умолчанию будет стоять "DLL ASM Debug").
- Правый клик мыши на "Solution 'zlib' (1 project)" и выберите "Build Solution" из появившегося меню.
- Visual C++ попросит вас сохранить файл "zlib.sln", сохраните его где угодно (лично я сохранил его вместе с zlib.dsp).
- После окончания компиляции (не обрашайте внимания на предупреждения во время компиляции), у нас появится новая папка "WIN32_LIB_Release" в дирректории "zlib-1.2.3\projects\visualc6".
- Вернитесь в VC++, выберите "Tools"->"Options", затем "Projects and Solutions"->"VC++ Directories".
- В подменю "Show directories for:", выберите "Include Directories", затем добавте эти вде строчки в общий список (добавлять можно либо нажав на кнопку со сзначком папки, либо двойным шелчком на пустом поле списка, но в этом случае вам прийдется переместить новые строчки в начало списка):
c:\evemu\mysql-5.0.67-win32\include
c:\evemu\zlib-1.2.3
- Аналогично добавте в подменю "Library Directories", и эти строчки:
c:\evemu\mysql-5.0.67-win32\lib\opt
c:\evemu\zlib-1.2.3\projects\visualc6\Win32_LIB_Release
На данном этапе все настройки были выполнены и можно приступать к компиляции.
Компиляция исходного кода
- В созданой нами ранее папки "source" создайте репозиторий исходного кода из svn.
- В \source\trunk\win32, откройте файл EVEmuVC9.sln.
- В открывшемся проэкте на панели "Solution Explorer" правой кликом по "Solution EVEmuVC9" выберите "Build Solution".
- Через некоторое время, сервер будет скомпилирован. Появится файл с расширением .exe в \trunk\bin\debug если вы выберали "Debug" компиляцию, иначе в \trunk\win32\Release\ если была выбрана Release компиляция.
Собственно все.
EVEmu для Linux(ubuntu)
Открыть спойлер
Спойлер
Оригинал статьи находится по этому адресу
Этот мануал я дополнил с тем учетом, чтобы даже самый малоопытный пользователь, который не работал с linux, смог без проблем скомпилировать проект. Для теста была выбрана ось uBuntu 9.04
Итак приступим.
1. Для компиляции проекта нам потребуются следующие пакеты:
Для того, чтобы установить эти пакеты нам потребуется открыть терминал. Найти его можно Приложения -> Стандартные -> Терминал.
2. Далее производим установку нужных нам пакетов., вводим в терминал:
!-> Для установки вожможно потребуется ввести пароль администратора. Если вас спросят загружать ли *** пакет, ответ думаю очевиден.
2.1 Также, если вы захотите запустить скомпилированный сервер вам потребуется собственно сам MySQL сервер. Установить его можно вот такой командой:
3. Итак, будем считать что у вас есть все необходимое для компиляции. Осталось скачать собственно сами исходные коды. В терминале создаем папку для нашего "супер" сервера:
3.1 Теперь собственно скачиваем последнюю версию svn с репозитория http://mmoforge.org/svn/evemu/
Не забываем про пароль: anonymous
3.2 Далее переходим в скачанный нами SVN.
4. Перед компиляцией, настраиваем нашу среду выполнения:
5. Создаем конфигурационный скрипт для сборки сервера:
Если мы укажем параметр "--prefix=", то это настроит сценарии для бинарных файлов, указав место сборки для их линкования...
6. Компиляция. Заключительный этак нашей трудной работы. Если вы (мы) используете GNU make, то можно запустить компиляцию аж в 4 потока на каждом ядре нашего супер процессора (сие чудо распространяется только для счастливых обладателей 4-х ядерных процессоров). Для этого нужно использовать параметр "-j 4".
Итак компилируем:
или., читай выше:
Ждем пока все будет завершено (вы увидите сообщения типа "make[3] выход из каталога...")
Поздравляю, вы скомпилировали сервер evemu.
7 Также вы можете продолжить установку исполняемых файлов и библиотек:
После этого найти наш шервер можно будет в /path/to/evemu/server/bin/(помните мы указывали ключ --prefix=...), или же если последняя команда установки не прошла по каким то причинам, ищите в /home/"имя пользователя"/src/evemu/trunk/src/eve-server/., файл с названием eveserver и весом аж в 47,5 метров...
Чтобы запустить сервер, читайте мануал по запуску сервера
Предлагаю вашему вниманию переведенный мануал по компиляции сервера EVEmu по ОС Ubuntu(linux).
Оригинал статьи находится по этому адресу
Этот мануал я дополнил с тем учетом, чтобы даже самый малоопытный пользователь, который не работал с linux, смог без проблем скомпилировать проект. Для теста была выбрана ось uBuntu 9.04
Итак приступим.
1. Для компиляции проекта нам потребуются следующие пакеты:
Для того, чтобы установить эти пакеты нам потребуется открыть терминал. Найти его можно Приложения -> Стандартные -> Терминал.
2. Далее производим установку нужных нам пакетов., вводим в терминал:
Код:
sudo apt-get install build-essential libreadline5-dev zlib1g-dev libpcap-dev libnet1-dev subversion libnids-dev libmysqlclient15-dev automake autoconf libtool
2.1 Также, если вы захотите запустить скомпилированный сервер вам потребуется собственно сам MySQL сервер. Установить его можно вот такой командой:
Код:
sudo apt-get install mysql-server-5.1
3. Итак, будем считать что у вас есть все необходимое для компиляции. Осталось скачать собственно сами исходные коды. В терминале создаем папку для нашего "супер" сервера:
Код:
mkdir src
cd src
mkdir evemu
cd evemu
Код:
svn co http://mmoforge.org/svn/evemu/trunk
3.2 Далее переходим в скачанный нами SVN.
Код:
cd trunk
4. Перед компиляцией, настраиваем нашу среду выполнения:
Код:
libtoolize --force
autoreconf --install --force
Код:
./configure
Код:
./configure --prefix=/path/to/evemu/server
Итак компилируем:
Код:
make
Код:
make -j 4
Поздравляю, вы скомпилировали сервер evemu.
7 Также вы можете продолжить установку исполняемых файлов и библиотек:
Код:
make install
Чтобы запустить сервер, читайте мануал по запуску сервера
Установка эмулятора EVEmu
Открыть спойлер
СпойлерПодключение к БД.
Вы можете подключиться к вашей базе MySQL с помощью стандартного mysql-клиента, который есть в любом дистрибутиве MySQL.
Откройте коммандную строку и введите:
После того как вы введёте пароль, вы увидите примерно следующее:
Что-бы выйти из клиента, введите: quit
Создание или удаление БД.
Для того, что-бы создать базу данных, введите:
Для того, что-бы удалить БД, введите (При этом вы потеряете все данные в БД):
Импортируем таблицы в БД.
Для нормальной работы эмулятора вам потребуется 3 SQL файла:
load_static.sql
load_empty_users.sql
prime_db.sql
Для того, что-бы импортировать файлы в БД, введите в mysql-клиенте:
Создание аккаунта.
В MySQL-Клиенте введите (Где your_account_name - ваш логин, и your_password - ваш пароль:
Data Files.
Создайте папку "data" в корневом каталоге эмулятора, и положите туда файл strings.txt, который вы можете найте в папке script/sys/ вашего клиента Eve.
Если вы всё-таки не смогли его найти, то вы можете взять его тут.
Config File.
Теперь вам нужно создать файл "evemuserver.xml" в корневой директории эмулятора, в котором будут хранится настройки подключения к БД. Содержимое файла должно быть следующим:
Вы так-же можете изменить порт сервера, но мы не рекомендуем изменять его на стандартный (26000)...
Теперь ваш сервер готов к работе
Вы можете подключиться к вашей базе MySQL с помощью стандартного mysql-клиента, который есть в любом дистрибутиве MySQL.
Откройте коммандную строку и введите:
Код:
$ mysql -u <eveuser> -p <evedb>
После того как вы введёте пароль, вы увидите примерно следующее:
Код:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 91 to server version: 5.0.24a-Debian_9-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Что-бы выйти из клиента, введите: quit
Создание или удаление БД.
Для того, что-бы создать базу данных, введите:
Код:
CREATE DATABASE <evedb>;
Для того, что-бы удалить БД, введите (При этом вы потеряете все данные в БД):
Код:
DROP DATABASE <evedb>;
Импортируем таблицы в БД.
Для нормальной работы эмулятора вам потребуется 3 SQL файла:
load_static.sql
load_empty_users.sql
prime_db.sql
Для того, что-бы импортировать файлы в БД, введите в mysql-клиенте:
Код:
$ mysql -f -u <eveuser> -p <evedb> < ../путь/к/sql/файлам/файл.sql
Создание аккаунта.
В MySQL-Клиенте введите (Где your_account_name - ваш логин, и your_password - ваш пароль:
Код:
INSERT INTO account (accountName,role,password) VALUES('your_account_name', 4294967231, PASSWORD('your_password'));
Data Files.
Создайте папку "data" в корневом каталоге эмулятора, и положите туда файл strings.txt, который вы можете найте в папке script/sys/ вашего клиента Eve.
Если вы всё-таки не смогли его найти, то вы можете взять его тут.
Config File.
Теперь вам нужно создать файл "evemuserver.xml" в корневой директории эмулятора, в котором будут хранится настройки подключения к БД. Содержимое файла должно быть следующим:
Код:
<eve>
<server>
<!-- <port>26001</port> -->
</server>
<database>
<host>127.0.0.1</host>
<username>eve</username>
<password>eve</password>
<db>eve</db>
</database>
</eve>
Вы так-же можете изменить порт сервера, но мы не рекомендуем изменять его на стандартный (26000)...
Теперь ваш сервер готов к работе
Команды в EVEmu
Открыть спойлер
СпойлерПо просьбам решил написать не большой гайдик про команды в эмуляторе EVEmu.
Оригинал статьи находится на офф форуме разрабов. (ссылка на тему). Рекомендую для просмотра в первую очередь.
Перечень команд:
/create [ITEM-ID] (count)
описание: Создает 1 или (count) предметов типа [ITEM-ID] в инвентре вашего корабля/капсулы.
пример: /create 596 ― создание 1-го НПС Amarr Imparior
/giveisk [Player-ID] (AmounofISK)
описание: передает указаное число ISK [AmounofISK] игроку с порядковым номером [Player-ID]
пример: /giveisk X 3333333 ― дать 33333ISK игороку с ID X (0=self)
/spawn [typeID]
описание: Работает в космосе!. Создает NPC типа [typeID] рядом с вами в космосе.
пример: /spawn 123 ―- спаун NPC.
/roid [typeID] (radius)
пример: /roid
/search [namefragment]
описание: Поиск предмета/корабля/материалов в базе данных и выведение их ID норема,
а также ID номера чертежа этого предмета, если таковой имеется.
пример: /search laser ― поиск по базе предмета с именем 'laser'
/tr [targetID] - ????
/goto [x] [y] [z]
описание: Перемещает вас в заданные координаты.
/location
описание: Выводит информацию о местоположении вас в данной локации,
например: x: -101092776600.000000, y: 5279539200.000000, z: -155050340352
/clearlog : clears the log from the memory of the server (guessing)
/getlog : evemails you the log
/setbpattr itemID [copy 0=no 1=yes] [material effic] [procuction effic] [icsenced production runs] : Sets the blueprint attributes
/getattr [itemid] [attributeid] : displays the attribute value
/setattr [itemid] [attributeid] [newvalue] : changes an attribute value *doesn't seem to work for ships at present *
/state : moves you into the center of the system (and in my case propelling me out from the sun at an insane speed)
/pop [msg|notify|error] [charid] [???] : should make a popup, ??? only accepts one word, otherwise it throws a Bad arguments error, might be related to table eveMessages
/roid [typeID] (radius) - Spawn an asteroid with the specified type.
/growbelt - Trigger asteroid growth in the current belt. DOESN'T WORK
/spawnbelt - Creates a new asteroid belt.
Как воспользоватся командами:
Все команды седня проверю - отпишусь. Кто будет проверять тоже жду ваших отзывов. Перевод других команд с полным описание будет поже.
П.С. Все команды находятся в файле trunk/src/server/admin/GMcommands.cpp.
Оригинал статьи находится на офф форуме разрабов. (ссылка на тему). Рекомендую для просмотра в первую очередь.
Перечень команд:
/create [ITEM-ID] (count)
описание: Создает 1 или (count) предметов типа [ITEM-ID] в инвентре вашего корабля/капсулы.
пример: /create 596 ― создание 1-го НПС Amarr Imparior
/giveisk [Player-ID] (AmounofISK)
описание: передает указаное число ISK [AmounofISK] игроку с порядковым номером [Player-ID]
пример: /giveisk X 3333333 ― дать 33333ISK игороку с ID X (0=self)
/spawn [typeID]
описание: Работает в космосе!. Создает NPC типа [typeID] рядом с вами в космосе.
пример: /spawn 123 ―- спаун NPC.
/roid [typeID] (radius)
пример: /roid
/search [namefragment]
описание: Поиск предмета/корабля/материалов в базе данных и выведение их ID норема,
а также ID номера чертежа этого предмета, если таковой имеется.
пример: /search laser ― поиск по базе предмета с именем 'laser'
/tr [targetID] - ????
/goto [x] [y] [z]
описание: Перемещает вас в заданные координаты.
/location
описание: Выводит информацию о местоположении вас в данной локации,
например: x: -101092776600.000000, y: 5279539200.000000, z: -155050340352
/clearlog : clears the log from the memory of the server (guessing)
/getlog : evemails you the log
/setbpattr itemID [copy 0=no 1=yes] [material effic] [procuction effic] [icsenced production runs] : Sets the blueprint attributes
/getattr [itemid] [attributeid] : displays the attribute value
/setattr [itemid] [attributeid] [newvalue] : changes an attribute value *doesn't seem to work for ships at present *
/state : moves you into the center of the system (and in my case propelling me out from the sun at an insane speed)
/pop [msg|notify|error] [charid] [???] : should make a popup, ??? only accepts one word, otherwise it throws a Bad arguments error, might be related to table eveMessages
/roid [typeID] (radius) - Spawn an asteroid with the specified type.
/growbelt - Trigger asteroid growth in the current belt. DOESN'T WORK
/spawnbelt - Creates a new asteroid belt.
Как воспользоватся командами:
Все команды седня проверю - отпишусь. Кто будет проверять тоже жду ваших отзывов. Перевод других команд с полным описание будет поже.
П.С. Все команды находятся в файле trunk/src/server/admin/GMcommands.cpp.
466 ревизия. Изменения в струтуре ДБ.
Открыть спойлер
СпойлерДля установки базы нужно сделать следующие (перевод с офф ридми)
1. Скачать оффициальный дамп базы EVE:
http://eve.no-ip.de/apo100/apo100-mysql5-v1.sql.bz2
2. Распаковать на диске скачаный архив. У вас получится файл с расширением ".sql".
3. Создать новую базу данных, в которую вы будите импортировать данные EVEmu.
4. Импортировать официальный дамп базы (тот который мы скачивали).
5. Импортировать ofic-update.sql.
6. Импортировать evemu_static.sql.
7. Импортировать evemu_dynamic.sql.
8. Импортировать все обновления с поддиректории /updates.
9. Импортировать prime_db.sql.
Описание новой структуры базы:
ofic-update.sql - Чтото вроде заплатни к новому дампу базы EVEmu. Изменяет данные, чтобы максимально преблизится к офф серверу (миссии, агенты, скилы и т.д.)
evemu_static.sql - Сюда вынесены некоторые статические данные, которые использует эмулятор EVEmu.
evemu_dynamic.sql - Этот файл содержит динамические "схемы" используемые EVEmu.
prime_db.sql - Специальный SQL файл, который сбрасывает все динамические значения в состояние "по умолчанию".
1. Скачать оффициальный дамп базы EVE:
http://eve.no-ip.de/apo100/apo100-mysql5-v1.sql.bz2
2. Распаковать на диске скачаный архив. У вас получится файл с расширением ".sql".
3. Создать новую базу данных, в которую вы будите импортировать данные EVEmu.
4. Импортировать официальный дамп базы (тот который мы скачивали).
5. Импортировать ofic-update.sql.
6. Импортировать evemu_static.sql.
7. Импортировать evemu_dynamic.sql.
8. Импортировать все обновления с поддиректории /updates.
9. Импортировать prime_db.sql.
Описание новой структуры базы:
ofic-update.sql - Чтото вроде заплатни к новому дампу базы EVEmu. Изменяет данные, чтобы максимально преблизится к офф серверу (миссии, агенты, скилы и т.д.)
evemu_static.sql - Сюда вынесены некоторые статические данные, которые использует эмулятор EVEmu.
evemu_dynamic.sql - Этот файл содержит динамические "схемы" используемые EVEmu.
prime_db.sql - Специальный SQL файл, который сбрасывает все динамические значения в состояние "по умолчанию".