Как скомпилировать сервер ?! - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Другие игры / Other games > TERA

Важная информация

TERA Разговоры о новой игре от компании HanGame и Bluehole Studio, обсуждение игровых новостей.
Описание темы:Помогите

Ответ
Опции темы
Непрочитано 26.10.2010, 14:48   #1
Аватар для KOMPoT
Пользователь

Автор темы (Топик Стартер) Как скомпилировать сервер ?!

http://github.com/ATracer/tera-api/

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

Как скомпилить данный сервер напишите небольшой мануал если не трудно=)
KOMPoT вне форума Ответить с цитированием
Непрочитано 27.10.2010, 19:35   #2
Герой

Post Re: Как скомпилировать сервер ?!

Требования : Java, Maven и Напильник.
1) Качаем GIT-клиент (найти можно в Гугле).
2) Создаём директорию, допустим tera
3) Правый клик мышью на директорию -> Git Bash
4) В консоли пишем :
Код:
git clone git://github.com/ATracer/tera-api.git
и жмём Enter, дожидаемся конца операции.
5) Переходим в директорию \tera\tera-api\com.tera (там находится проект-аггрегатор) и выполняем mvn clean install (или что более по душе).

Это собственно подготовка. Успешной компиляции по идее не будет, поэтому далее опишу несколько костылей и общую работу напильником :

1) Переходим в директорию \tera\tera-api\com.tera и выполняем
Код:
copy pom.xml "%USERPROFILE%\.m2\repository\com\tera\com.tera\1.0.0\com.tera-1.0.0.pom"
(можно было бы и mvn install:install-file ..., но это чтоб наверняка). Это для винды и пути если что проверить. Если что не так - можно и вручную скопировать и переименовать. [ Это устранит ошибку с "потерянным" parent pom ]
2) Зависимости. Я насчитал несколько штук, которые не были найдены в десятках репозиториях (конечно же из-за специфичных версий и различий в именах групп и артефактов). Все изменения будут вестись в pom.xml, о котором писал выше (кстати после изменений необходимо повторять первый шаг с копированием, т.к. подпроекты берут зависимости из parent pom в локальном репозитории).

а) org.eclipse: osgi:jar:3.6.0.v20100517 [ неверный id артефакта ]

добавляем :

Код:
<dependency>
  <groupId>org.eclipse.osgi</groupId>
  <artifactId>org.eclipse.osgi</artifactId>
  <version>${equinox.version}</version>
</dependency>
б) com.google.inject:guice:jar:snapshot-r1189, com.google.inject:guice-assistedinject:jar:snapshot-r1189

меняем версию с snapshot-r1189 на 2.0 :

Код:
<guice.version>2.0</guice.version>
правим id группы и артефакта :

Код:
<dependency>
  <groupId>com.google.inject.extensions</groupId>
  <artifactId>guice-assisted-inject</artifactId>
  <version>${guice.version}</version>
  <type>jar</type>
</dependency>
в) trove:trove:jar:2.1.0

берём альтернативу чуть старее (заменить зависимость) :

Код:
<dependency>
  <groupId>net.sf.trove4j</groupId>
  <artifactId>trove4j</artifactId>
  <version>2.0.2</version>
</dependency>
Далее переходим в com.tera.common.database :

здесь как вариант можно использовать обычные артефакты вместо bundle (выделенное - выпилить) -

Код:
<Embed-Dependency>mysql-connector-java-bundle,sqlite-jdbc-bundle,commons-dbcp</Embed-Dependency>
Код:
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java-bundle</artifactId>
  <version>5.1.13</version>
</dependency>
<dependency>
  <groupId>org.xerial</groupId>
  <artifactId>sqlite-jdbc-bundle</artifactId>
  <version>3.7.2</version>
</dependency>
Также у всех подпроектов com.tera.common.* имеется зависимость в netty-3.2.1.Final (уже второй косяк по dependency managment ). Как худшее, но быстрейшее решение - добавить ко всем pom.xml репозиторий с этим артефактом :

Код:
  <repositories>
    <repository>
      <id>atlassian-groups-public-m2-repo</id>
      <name>Atlassian Groups Public Maven 2 Repository</name>
      <url>https://maven.atlassian.com/content/groups/public</url>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <releases>
        <enabled>true</enabled>
      </releases>
    </repository>
  </repositories>
Кстати некоторые тесты проваливаются, посему можно в процессе их выключить (что не есть хорошо) - -Dmaven.test.skip=true

Ну и наконец следует отметить что вышел скорее не мануал, а хинт "куда копать". На примере com.tera.common.* я показал чего в основном можно ожидать компилируя дефолтный профиль и остальные, которые тоже придётся компилировать. Пример :

Код:
mvn clean install -Pid_профиля
Собственно id : gapi, gsaion, lapi, lsaion и paion.

З.Ы. Если ничего не понятно - лучше осваивать или отложить до лучших времён. Сейчас версия проекта 0.0.6-SNAPSHOT, что значит она ещё нестабильная и многое поменяется, возможно ...
CHIPSET вне форума Отправить сообщение для CHIPSET с помощью ICQ Ответить с цитированием
Непрочитано 28.10.2010, 00:04   #3
Заинтересовавшийся

По умолчанию Re: Как скомпилировать сервер ?!

спасибо за инструкцию...но не мог бы ты выложить уже отредактированный pom файл ? а то делал по этой инструкции и обнаружил, что некоторого у меня вообще нет в нём о чём тут идёт речь..
CABA вне форума Ответить с цитированием
Непрочитано 28.10.2010, 05:46   #4
Аватар для KOMPoT
Пользователь

Автор темы (Топик Стартер) Re: Как скомпилировать сервер ?!

Эээ какой именно Git-Клиент использовать...?
KOMPoT вне форума Ответить с цитированием
Непрочитано 28.10.2010, 09:22   #5
Аватар для Perfecto
Пользователь

По умолчанию Re: Как скомпилировать сервер ?!

KOMPoT, любой. Например этот или этот
__________________
Просьба к пользователям, соблюдайте правила. Экономьте свои/наши время и нервы
Perfecto вне форума Отправить сообщение для Perfecto с помощью ICQ Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

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

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

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


© 2007–2020 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 12:33. Часовой пояс GMT +3.

Вверх