Компиляция TrinityCore серверов 3.3.5 и 7.3.х на линуксе

WinWoolF

Верховный Вождь
Команда форума
Администратор
Регистрация
13 Окт 2013
Сообщения
4.478
Симпатии
256
Баллы
144
Возраст
35
#1
Полный пошаговый гайд по компиляции TrinityCore серверов 3.3.5 и 7.3.х на линуксе




trinitycore_linux.png


В этом руководстве я расскажу как самостоятельно скомпилировать сервер World of Warcraft 3.3.5 или 7.3.х на основе ядра TrinityCore.
Часто мне задают различные вопросы связанные с тем как скомпилировать сервер или как его запустить на unix, а так же другие вопросы связанные с этим. По этому я решил составить некое пособие по компиляции сервера TrinityCore на линуксе. Все описанное мной ниже не является 100% решением этого вопроса, поскольку unix ОС отличаются достаточно сильно друг от друга и даже разные версии одной и той же ос будут иметь серьёзные отличия. Так же огромную роль будут играть используемые библиотеки и прочие компоненты системы. В этой статье я буду опираться на определенные ОС и дополнительные компоненты.
Так же нужно понимать, что это руководство рассчитано на пользователей, которые уже имеют хотя бы начальный опыт в работе с unix.



Рекомендуемые дистрибутивы:
  • Debian 9.x
  • Ubuntu 17.04
  • Fedora 25 и 26
Используйте только стабильные версии дистрибутивов. В версиях LTS возможна некорректная работа пакетов и библиотек.
На дистрибутивах Debian 8 или ниже, Ubuntu 16.04 или ниже, Fedora 24 или ниже не гарантирую работы сервера и требуемых компонентов для ОС.

Требования к ОС и компьютеру:
  • Процессор с поддержкой SSE2
  • Boost ≥ 1.56
  • MySQL ≥ 5.1.0
  • OpenSSL = 1.0.x
  • CMake ≥ 3.2.0
  • GCC ≥ 6.3.0 или Clang ≥ 3.5
  • zlib ≥ 1.2.7
Примечания:
  • Если вы хотите скомпилировать и использовать сервер 7.3.х на хостинге или на компьютере с unix ОС, а клиент игры использовать на компьютере под управлением windows, то вам так же необходимо скомпилировать сервер на windows для получения «connection_patcher», использование которого необходимо для работы клиента игры. На файлы патчера я размещу ссылки внизу руководства, чтоб не утруждать вас еще и компиляцией на windows.
  • При компиляции вы можете получить ошибку «c ++: внутренняя ошибка компилятора: Killed (program cc1plus)». Причинами этого скорее всего является Низкое значение ram / swap. Вам нужно увеличить ram / swap до минимума 2 ГБ оперативной памяти и 2 Гбайта подкачки или уменьшение количества make -j до 1.


Установка необходимых пакетов

Debian
Вводим следующие команды для установки и обновления необходимых пакетов и библиотек.
Код:
apt-get install git clang cmake make gcc g++ libmariadbclient-dev libssl1.0-dev libbz2-dev libreadline-dev libncurses-dev libboost-all-dev mysql-server p7zip
update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100
update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang 100
Ubuntu
Вводим следующие команды для установки и обновления необходимых пакетов и библиотек.
Код:
apt-get install git clang cmake make gcc g++ libmysqlclient-dev libssl-dev libbz2-dev libreadline-dev libncurses-dev libboost-all-dev mysql-server p7zip
update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100
update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang 100
Fedora
Вводим следующие команды для установки и обновления необходимых пакетов и библиотек.
Код:
dnf install git clang cmake make gcc gcc-c++ mariadb-devel openssl-devel bzip2-devel readline-devel ncurses-devel boost-devel mariadb-server p7zip
Fedora 26 идет с OpenSSL 1.1.x, который нельзя использовать для создания сборки TrinityCore. Нужная версия OpenSSL 1.0.x поставляется в пакете с именем « compat-openssl10-devel ». Чтобы установить его, выполните команду ' dnf install --allowerasing compat-openssl10-devel '. Это приведет к переустановке используемого пакета openssl-devel.


Сборка и компиляция ядра

Создание пользователя
Лично я рекомендую для работы с сервером и всеми его компонентами использовать дополнительную учетную запись, особенно в том случае если на вашем ПК в качестве основной системы используется линукс. Это поможет вам не убить систему пока вы работаете с сервером. Если вы собираете сервер на VPS, то создание дополнительного пользователя будет так же полезно. На рассматриваемых в этом руководстве системах это можно сделать командой. Использовать можно любое удобное для вас имя.
Код:
sudo adduser username
Но это не является обязательным действием и при желании вы можете продолжить работу из под своей учетной записи. Если же вы последовали совету и создали дополнительную учетную запись, то не забудьте войти под ней для дальнейших работ.


Копирование исходников
3.3.5 (клиент wotlk)
Код:
cd ~/
git clone -b 3.3.5 git://github.com/TrinityCore/TrinityCore.git
7.3.х (Legion)
Код:
cd ~/
git clone -b master git://github.com/TrinityCore/TrinityCore.git
С помощью этих команд на вашем диске появиться папка TrinityCore, в которую будут загружены файлы сборки.

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

Создание папки сборки
Далее нам требуется создать в корневой папке сервера "TrinityCore" создать папку в которой будут располагаться готовые к построению файлы. Создадим папку под названием "build". Для этого нам нужно ввести следующую команду
Код:
cd TrinityCore
mkdir build
cd build
Настройки необходимые для компиляции
Это один из наиболее важных разделов и здесь вам потребуются все ваши знания в ОС линукс, а возможно и помощ более опытных пользователей.
Для компиляции используется инструмент конфигурации (cmake), для его правильной работы используются различные пакеты и нам необходимо правильно указать общие параметры конфигурации. Если вы используете дистрибутивы, а так же пакеты которые указанны в этом руководстве, то скорее всего у вас не возникнет проблем и вам будет достаточно ввести следующую команду.
Код:
cmake ../ -DCMAKE_INSTALL_PREFIX=/home/username/server
/home - корневой каталог вашего жесткого диска.
username - имя вашей учетной записи.
server - название папки в которую будут сконфигурированные для компиляции файлы сборки.
Если при введении команды в терминале вы будете видеть ошибки, то попробуйте ввести одну из следующих команд.
Код:
cmake ../ -DCMAKE_INSTALL_PREFIX=/home/wow/server -DTOOLS=0
cmake ../ -DCMAKE_INSTALL_PREFIX=/home/$USER/server -DTOOLS=0 -DWITH_WARNINGS=1
Если и при этих командах вы будете видеть ошибки в терминале, то внимательно прочитайте текст ошибки, возможно это поможет вам ее устранить. Или обратитесь за помощью к более опытным пользователям вашего дистрибутива.
Если вы сделали все правильно, то (cmake) сконфигурирует все необходимые файлы и в терминале вы увидете отчет о работе.

Компиляция ядра TrinityCore
Переходим непосредственно к компиляции ядра, для этого вводим команду
Код:
make
make install
Если у вас на арендуемом сервере используется несколько ядер, то вы можете указать сколько из них должны использоваться при компиляции. Сделать это можно через параметр -j
Код:
make -j <количество ядер>
make install
Или использовать все ядра сразу. Не стоит использовать этот параметр если вы используете VPS. Это приведет к чрезмерной нагрузке на хостинг и он может отключиться. Используйте это либо на домашней машине, либо на дедике.
Код:
make -j $(nproc) install
После компиляции готовые файлы сервера вы найдет в папке /home/username/server/bin.



Работа с экстракторами
После того как сервер был успешно скомпилирован нам потребуется получить файлы карт из клиента World of Warcraft, которые необходимы для работы сервера. Существует несколько видов карт, среди которых есть обязательно необходимые, без которых сервер просто не будет работать. И рекомендуемые, которые отвечают за различные параметры в игре, например загрузку карт в подземельях. Без них сервер работать будет, но это отразится на удобстве игроков.

Обязательные:
  • dbc
  • maps
  • gt - для Легиона
Рекомендуемые:
  • vmaps
  • mmaps

Извлечение карт DBC и Maps
Все извлеченные карты должны находиться в одной папке, название которой должно быть указанно в worldserver.conf. Обычно эта папка называется "data", но не спешите в ручную создавать папку или вносить изменения в worldserver.conf, все это мы сделаем с помощью команды при извлечении файлов карт.

Разберем команду по ее составляющим:
1. Указываем путь к папке с клиентом World of Warcraft​
Код:
cd <your WoW client directory>
2. Указываем путь к экстрактору​
Код:
/home/<username>/server/bin/mapextractor
3. Указываем путь и название для папки в которую будут извлечены карты​
Код:
mkdir /home/<username>/server/data
4. Если компилируете сервер 3.3.5, то прописываем следующую команду​
Код:
cp -r dbc maps /home/<username>/server/data
5. Если компилируете сервер 7.3.х, то прописываем следующую команду​
Код:
cp -r dbc maps gt /home/<username>/server/data
6. Следующей командой вносим правки в worldserver.conf​
Код:
edit worldserver.conf and change datadir from "." to "../data"
В итоге вся команда в целом должна иметь вот такой вид
Код:
<your WoW client directory>
/home/<username>/server/bin/mapextractor
mkdir /home/<username>/server/data
cp -r dbc maps /home/<username>/server/data
edit worldserver.conf and change datadir from "." to "../data
Если вы сделали все правильно, то в папке server появится папка data в которой будут две папки dbc и maps с извлеченными картами внутри каждой из папок.

Извлечение VMaps и MMaps
Хоть это и не обязательные для работы сервера карты, но все же настоятельно рекомендуется извлечь их также. Папки с этими картами так же должны располагаться в папке data.
Для извлечения этих карт команда практически не будет отличаться от предыдущей, измениться только сам экстрактор и название создаваемой папки. Изменения в worldserver.conf здесь уже вносить не требуется.

  • Команда для извлечения vmaps.
Код:
cd <your WoW client directory>
/home/<username>/server/bin/vmap4extractor
mkdir vmaps
/home/<username>/server/bin/vmap4assembler Buildings vmaps
cp -r vmaps /home/<username>/server/data
Извлечение карт vmaps занимает на много дольше времени чем извлечение dbc и maps. Когда экстрактор закончит работу и карты будут извлечены в папку вы увидите отчет. Если все сделано без ошибок, то вы увидите следующее
Код:
Processing Map 724
[################################################################]
Extracting GameObject models...Extracting World\Wmo\Band\Final_Stage.wmo
No such file.
Couldn't open RootWmo!!!
Done!

Extract V4.00 2012_02. Work complete. No errors.
  • Команда для извлечения mmaps.
Код:
cd <your WoW client directory>
mkdir mmaps
/home/<username>/server/bin/mmaps_generator
cp -r mmaps /home/<username>/server/data
Это так же достаточно долгий процесс.

Если вы все же решите не извлекать карты vmaps и mmaps, то в дальнейшем не забудьте отключить их в файле конфигурации worldserver.conf. Открываем файл конфигурации и находим следующие строки:
  • vmap.enableLOS = 1 - установить значение 0
  • vmap.enableHeight = 1 - установить значение 0
  • vmap.petLOS = 1 - установить значение 0
  • vmap.enableIndoorCheck = 1 - установите для этого значение 0
И как указанно меняем значение с 1 на 0, после чего сохраняем изменения. Если в будущем вы решите все таки использовать эти карты, то значения нужно будет снова изменить с 0 на 1.

Настройка файлов конфигурации
После извлечения всех карт нам нужно отредактировать файлы конфигурации сервера, для того чтоб сервер их мог найти и запуститься. Для этого нужно изменить их расширение с .conf.dist на .conf. После компиляции найти файлы можно по следующему пути / trinitycore / etc /. Изменять их расширение мы будем так же с помощью команды, но в зависимости от версии сервера команда будет отличаться названием файла конфигурации сервера авторизации. Ниже список файлов конфигурации, внимательно его просмотрите.
  • worldserver.conf.dist - файл конфигурации самого эмулятора, название одинаково как для сервера 3.3.5 так и для 7.3.х
  • authserver.conf.dist - файл конфигурации сервера авторизации на сервере версии 3.3.5
  • bnetserver.conf.dist - файл конфигурации сервера авторизации на сервере версии 7.3.х
Команда редактирования для сервера 3.3.5 будет такой
Код:
cp worldserver.conf.dist worldserver.conf
cp authserver.conf.dist authserver.conf
Для сервера 7.3.х в команде замените во второй строке название файла на bnetserver.

После смены расширения нам нужно внести изменения и внутри самих файлов. Вам нужно открыть оба ваших файла конфигурации и найти внутри них строки
LoginDatabaseInfo = "127.0.0.1; 3306; trinity; trinity; auth
WorldDatabaseInfo = "127.0.0.1; 3306; trinity; trinity; world
CharacterDatabaseInfo = "127.0.0.1; 3306; trinity; trinity; characters
В этих строках нужно изменить данные на нужные нам
  • 127.0.0.1 - ip адрес, изменяем на ip вашего vps или внутрисетивой для игры с друзьями внутри сети. Если кроме вас ни кто не будет играть на сервере то оставляем без изменений. Если ip адрес изменяете, то в дальнейшем не забудьте изменить его в базе auth в таблице realmlist.
  • 3306 - порт, оставляем без изменений
  • trinity - заменить на свой логин от mysql
  • trinity - заменить на свой пароль от mysql
  • auth, world и characters - название баз данных, оставить без изменений


Работа с сервером MySQL и базами данных
Поскольку сервер MySQL мы уже установили в самом начале, (в пункте "установка необходимых пакетов" мы прописывли команду в которой указывали установку сервера MySQL) то теперь перейдем непосредственно сразу к работе с базами.

Загрузка баз
Если вы опытный пользователь, то самостоятельно сможете выбрать нужные вам ревизии как ядра, так и баз. Но поскольку руководство ориентировано на новичков, то в нем мы будем рассматривать работу с самыми последними ревизиями. Загружаем самые последние ревизии баз данных, которые будут подходить под ревизию используемого нами ядра сервера. Обратите внимание на то, что каждая версия сервера использует свои базы данных. Загружайте базу данных которая соответствует версии вашего сервера. Загрузить последние версии баз можно по этой ссылке - Releases · TrinityCore/TrinityCore · GitHub. Загружать нужно только один файл, название которого начинается с TDB_full и с расширением .7z.
Для сервера версии 3.3.5 файл будет называться примерно так TDB_full_335.63_2017_04_18.7z. Название файла расшифровывается так
TDB - TrinityCore Data Base
full - это означает что версия включает в себя все правки которые были внесены в предыдущие базы.
335.63 - цифры 335 обозначают версию клиента игры и соответственно сервера. Цифры 63 означают номер ревизии.
2017_04_18 - дата создания полной версии базы.
Внутри самого архива будет находиться несколько файлов, но нам будет нужен только один, который так же начинается с TDB_full, для сервера версии 7.3.х так же нужен файл с именем TDB_hotfixes. Именно их мы в дальнейшем и будем заливать на сервер.

Создание баз в MySQL
Для создания баз можно использовать либо клиент MySQL, либо командную строку MySQL (CLI).
  • Для сервера версии 3.3.5 нужно создать 3 базы Auth, Characters и World. Для создания этих баз нам нужно выполнить sql запрос:
SQL:
https://github.com/TrinityCore/TrinityCore/blob/3.3.5/sql/create/create_mysql.sql
  • Для сервера версии 7.3.х нужно создать 4 базы Auth, Characters, World и hotfixes. Для создания этих баз нам нужно выполнить sql запрос:
Код:
https://github.com/TrinityCore/TrinityCore/blob/master/sql/create/create_mysql.sql
Заполнение баз содержимым
Последние версии серверов TrinityCore имеют систему автоматического обновления баз данных, по этому нам не требуеться самостоятельно заливать содержимое из скачанных архивов в созданные нами базы. Нам нужно извлечь из архива требуемые файлы в папку в которой находиться бинарный файл WorldServer (файл для запуска сервера). Далее нам нужно запустить WorldServer и когда вы увидите запрос на создание баз данных нажать enter. WorldServer автоматически заполнит базы и установит обновления. Если сделано все без ошибок, то в консоле сервера вы увидите сообщение о том, что сервер запущен и работает.
После запуска WorldServer можно запускать authserver или bnetserver в зависимости от используемой версии.



Создание учетной записи и настройка клиента

Для сервера 3.3.5
Создаем учетную запись, для этого консоли authserver прописываем команду - .account create user pass
Например .account create admin q1w2e3
После этого в консоли увидим подтверждение созданной учетной записи и ее id номер.
Добавляем права ГМа для созданной учетной записи, для этого вводим команду .account set gmlevel user 3 где user имя созданной учетной записи а цифра обозначает уровень прав. Всего существует 3 уровня прав. 1 уровень самый низкий, 3 самый высокий.

Для серверов 7.3.х
Создаем учетную запись, для этого консоли bnetserver прописываем команду - .bnetaccount create user pass
Например .bnetaccount create admin q1w2e3
После этого в консоли увидим подтверждение созданной учетной записи и ее id номер.
Добавляем права ГМа для созданной учетной записи, для этого вводим команду .account set gmlevel user#realm 3 где user имя созданной учетной записи, realm это номер игрового мира где будут добавлены права ГМа, (если вы не добавляли несколько игровых миров в ручную, то укажите цифру 1, если же добавляли, то значит вы знаете что делаете ;)). Ну и цифра 3 это уровень прав. Всего существует 3 уровня прав. 1 уровень самый низкий, 3 самый высокий.

Настройка клиента
Клиент 3.3.5 - Если вы изменяли в настройках сервера ip адрес, то отредактируйте файл realmlist.wtf найти его можно по следующему пути - папка с клиентом/Data/ruRU. Откройте файл текстовым редактором и измените ip адрес в строке set realmlist 127.0.0.1 на нужный вам.
Клиент 7.3.х - Если вы изменяли в настройках сервера ip адрес, то отредактируйте файл Config.wtf найти его можно в папке WTF. Откройте файл текстовым редактором и замените в нем строку SET portal "EU" на SET portal "127.0.0.1" или укажите другой нужный вам ipадрес.
Так же для игры на сервере вам потребуется пропатчить ваш клиент. Об этом было написано в самом начале руководства. Для этого нужно скопировать из папки с сервером файл Connection_Patcher.exe в папку с игрой. После этого перетащить мышкой файл Wow.exe на файл Connection_Patcher.exe и в появившемся окне нажать enter. Потом повторить тоже самое с файлом Wow-64.exe. В результате этих действий у вас появятся два новых файла Wow_Patched.exe и Wow-64_Patched.exe. Игру нужно запускать через один из получившихся файлов.

Что бы не утруждать вас еще и компиляцией сервера на windows, как и обещал размещу тут ссылки на файлы Connection_Patcher разной разрядности.
 
Последнее редактирование:

kashinabi

Залетный
Новичок
Регистрация
24 Апр 2018
Сообщения
7
Симпатии
1
Баллы
2
Возраст
26
Местоположение
Magnitogorsk
#2
Вылезла ошибка при компиляции исходников на люнекс (Дебиан 9). Подскажите решение.

 

WinWoolF

Верховный Вождь
Команда форума
Администратор
Регистрация
13 Окт 2013
Сообщения
4.478
Симпатии
256
Баллы
144
Возраст
35
#4
По тексту ошибки понять что либо не возможно, это просто сообщение о том на каком моменте произошла ошибка, а ни чем она была вызвана. Это может быть как из за нехватки каких либо пакетов, так и не правильно указанных параметрах конфигурации. Так же возможна ошибка на стороне разработчика или баг самого Смаке.
Для начала я бы попробовал повторно скомпилировать из сорцов. Если ошибка повторится именно на этих же файлах, то стоит перезалить сорцы.
Какая версия сервера использовалась при компиляции? Если Legion, то это возможно так же из за внесения правок с ошибками в открытый кода на гитхабе.
 

kashinabi

Залетный
Новичок
Регистрация
24 Апр 2018
Сообщения
7
Симпатии
1
Баллы
2
Возраст
26
Местоположение
Magnitogorsk
#5
По тексту ошибки понять что либо не возможно, это просто сообщение о том на каком моменте произошла ошибка, а ни чем она была вызвана. Это может быть как из за нехватки каких либо пакетов, так и не правильно указанных параметрах конфигурации. Так же возможна ошибка на стороне разработчика или баг самого Смаке.
Для начала я бы попробовал повторно скомпилировать из сорцов. Если ошибка повторится именно на этих же файлах, то стоит перезалить сорцы.
Какая версия сервера использовалась при компиляции? Если Legion, то это возможно так же из за внесения правок с ошибками в открытый кода на гитхабе.
Спасибо, сейчас так и сделаю. Версия сервера 7.3.5. Сейчас попробую два образца исходников.
 

WinWoolF

Верховный Вождь
Команда форума
Администратор
Регистрация
13 Окт 2013
Сообщения
4.478
Симпатии
256
Баллы
144
Возраст
35
#6
7.3.5 . . . . @kashinabi, не хотел бы расстраивать, но даже на винде, где гораздо проще все сделать эта ревизия компилится с 12 ошибками. Хотя предыдущая рева 7.3.2 компилилась без единой ошибки. Что то они там нахреновертили с кодом. Это конечно же пофиксят, но вот когда?
@kashinabi, а как у вас обстоят отношения с юниксами? Хорошо в них шарите или только осваиваете? Если новичок в этом деле, то я бы начал осваивать с 3.3.5 там уже все стабильно и должно проити гладко. Просто дальше будут гораздо более сложные шаги в которых нужно быть достаточно продвинутым юзером, что бы понимать что от тебя хочет ОС и как с ней правильно работать.
 

kashinabi

Залетный
Новичок
Регистрация
24 Апр 2018
Сообщения
7
Симпатии
1
Баллы
2
Возраст
26
Местоположение
Magnitogorsk
#7
WinWoolF, я компилировать начал только недавно, но уже заметил что на исходниках ошибка. Пытаюсь сразу компилировать на платформах (Линекс и Виндос). Не могли бы в качестве исключения мне скинуть ссылку нормальных исходников от версии 7.3.х? Или помочь с ошибками этих исходников.
 

kashinabi

Залетный
Новичок
Регистрация
24 Апр 2018
Сообщения
7
Симпатии
1
Баллы
2
Возраст
26
Местоположение
Magnitogorsk
#8
@WinWoolF, как вы оцениваете исходники (AshamaneCore)? В них тоже есть ошибки?
 

WinWoolF

Верховный Вождь
Команда форума
Администратор
Регистрация
13 Окт 2013
Сообщения
4.478
Симпатии
256
Баллы
144
Возраст
35
#9
компилировать начал только недавно, но уже заметил что на исходниках ошибка. Пытаюсь сразу компилировать на платформах (Линекс и Виндос).
Ошибки будут на любых ОС, это зависит не от ОС а от исходников. Но на винде освоить процесс создания сервера из сорцов гораздо проще чем на юниксах. На юниксах так же нужно понимать принципы работы системы и быть как минимум опытным пользователем а не новичком, поскольку в процессе будет огромная куча моментов требующих определенных знаний.
Не могли бы в качестве исключения мне скинуть ссылку нормальных исходников от версии 7.3.х?
К сожалению таких версий не существует в природе. Если бы они были, мы бы их давно выложили. А так все сервера собираются в ручную, с многочисленными правками, патчами как в самих исходниках так и в базах. Что бы получить боле менее стабильный и рабочий сервер нужно собрать команду из нескольких кодеров, которые шарят в этом.
помочь с ошибками этих исходников.
Я к сожалению не настолько продвинут в полноценном написании патчей или исправления багов. Так пару костылей на скорую руку накидать могу, но это уже относится к правке багов на собранном сервере, а править сорцы пока не научился.
@WinWoolF, как вы оцениваете исходники (AshamaneCore)? В них тоже есть ошибки?
О, в них еще больше ошибок при компиляции, но как ни странно если закрыть на это глаза и скомпилированные файлы собрать в VS в готовую сборку, то она намного более рабочая в отличии от чистой Trinity.

@kashinabi, вот просто дружеский совет, если есть желание собрать свой сервер, то просто потренируйся на винде на локалке, поиши нужные патчи и правки, научись их накатывать. Собери сборку, потесть ее, поимешь чего тебе еще в ней не хватает, возможно сможешь найти нужные тебе патчи. Заодно потренеруешся править уже рабочую сборку. И совсем здорово будет найти уже знающего человека, тематических форумов очень много, думаю найти не так сложно подобного человека. Зато он сможет помочь в решении многих вопросов и сложностей. Особенно это пригодится с вариантом на юниксах. Я бы рад помочь, и если намерения весьма серьезны, то готов составить компанию (команду). Но к сожалению мое профильное образование несколько в другом направлении. Все что касается сайтов, шмайтов, веб программирования и прочего это мое. А вот C++, dev c++ и прочее что используется в написании серверов это не мое. Я конечно понимаю некоторые куски кода, но полноценного понимания работы всего вместе взятого нет.
 
Вверх Снизу