WOW server

Раздел посвящён игровым серверам и игрушкам вообще.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Morty
ст. лейтенант
Сообщения: 1370
Зарегистрирован: 2007-07-17 23:25:12

Re: WOW server

Непрочитанное сообщение Morty » 2009-11-10 23:19:46

mlevel писал(а):Скиньте ссылку по настройке сервер под WoW 3.0.2 (или выше). Спасибо!
_http://cheatportal.ru/f29/thread537.html
_http://www.xakep.ru/magazine/xa/123/130/1.asp

совместишь и у тебя все получиться

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Morty
ст. лейтенант
Сообщения: 1370
Зарегистрирован: 2007-07-17 23:25:12

Re: WOW server

Непрочитанное сообщение Morty » 2009-11-10 23:31:29

Офф мануал из кэша гугла
_http://209.85.129.132/search?q=cache:1gG0wB48nvgJ:mangos.ru/wiki/index.php/Install:FreeBSD+mangos+install:freebsd&hl=ru&gl=ua&strip=1

и сам мануал(на всяк случай)

Код: Выделить всё

Материал из MaNGOS Wiki
Перейти к: навигация, поискСодержание
1 Необходимое ПО
2 Установка ПО
3 Установка сервера
4 Создание БД
5 Настройка конфигов
6 Необходимые файлы
7 Скрипты запуска
8 Запуск программы
9 Запуск


Необходимое ПО 

Для работы нам необходимо (все это можно ставить из портов): 
GIT (/usr/ports/devel/git) - для получения исходных текстов мангоса 
SVN (/usr/ports/devel/subversion) - для получения исходных текстов скриптов и архивов базы 
MySQL (/usr/ports/databases/mysql51-server) - для базы, если база на другом хосте, вместо сервера ставим клиент 
autotools (/usr/ports/devel/autotools) - для генерации целей сборки 
GNUmake (/usr/ports/devel/gmake) - для сборки (можно собирать и родным) 
screen (/usr/ports/sysutils/screen) - для работы сервера в фиктивном терминале 
7zip (/usr/ports/archivers/p7zip) - для распаковки бд 
Установка ПО 

Если есть лишнее время трафик и какойто опыт работы с портами, то ставим всё из портов 
% su
Password:
# make -C /usr/ports/devel/subversion install clean
# make -C /usr/ports/devel/git install clean
# make -C /usr/ports/databases/mysql51-server install clean
# make -C /usr/ports/sysutils/screen install clean
# make -C /usr/ports/archivers/p7zip install clean

неудивляйтесь что так мало, остальное установится как зависимости 

Если мы недружим с портами, то ставим пакаджи 
% su
Password:
# pkg_add -r git subversion mysql51-server autotools screen gmake p7zip
Установка сервера 

Получаем исходники мангоса из github: 
% cd
% git clone git://github.com/mangos/mangos.git

Получаем исходники ScriptDev2 из svn: 
% svn co http://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2 ~/mangos/src/bindings/ScriptDev2

Применяем последний патч, идущий вместе с ScriptDev2 
% cd mangos
% git apply < src/bindings/ScriptDev2/patches/MaNGOS-2008-12-22-ScriptDev2.patch

Далее делаем реконфигурацию и создаём директорию для сборки сервера, лучше смонтировать её в озу или кинуть более быстрое устройство (например в туже озу): 
% autoreconf -fi
% mkdir comp
% cd comp

Затем конфигурируем... для 32бит ос, одноядерник (например ставите сервер дома эксперимента ради) 
% ../configure CFLAGS="-O2 -pipe -fomit-frame-pointer" CXXFLAGS="-O2 -pipe -fomit-frame-pointer" --prefix=/usr/local/mangos --sysconfdir=/usr/local/etc/mangos --enable-cli --with-gnu-ld

для 64бит ос, двуядерник (для рабочей конфигурации со стабильно-опитмизироваными параметрами) 
% ../configure \
? CFLAGS="-march=athlon64 -m64 -O2 -msse3 -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -frename-registers -fno-strict-aliasing -fno-strength-reduce -fno-delete-null-pointer-checks" \
? CXXFLAGS="-march=athlon64 -m64 -O2 -msse3 -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -frename-registers -fno-strict-aliasing -fno-strength-reduce -fno-delete-null-pointer-checks" \
? MAKEOPTS="-j3" \
? --prefix=/usr/local/mangos --sysconfdir=/usr/local/etc/mangos --enable-cli --with-gnu-ld

...компилим и устанавливаем 
% gmake
...
% su
Password:
# gmake install
Создание БД 

Создаем базы сервера, пользователя и структуру: 
% mysql -u root -p < ~/mangos/sql/create_mysql.sql
% mysql -u mangos -p mangos < ~/mangos/sql/mangos.sql
% mysql -u mangos -p realmd < ~/mangos/sql/realmd.sql
% mysql -u mangos -p characters < ~/mangos/sql/characters.sql

Теперь заполняем базу, так как UDB вообще отстали от времени, будем качать YTDB (плюс в ней сразу rudb есть) 
% svn co http://svn2.assembla.com/svn/ytdbase ~/YTDB

распаковываем, ставим, обновляем скрипты 
% 7z e ~/YTDB/WOtLK/YTDB_097_R45.FINAL_rev6969_WotLK_R29_RuDB.7z
% mysql -u mangos -p mangos < YTDB_097_R45.FINAL_rev6969_WotLK_R29_+RUDB.sql
% mysql -u root -p < ~/mangos/src/bindings/ScriptDev2/sql/scriptdev2_create_database.sql
% mysql -u mangos -p scriptdev2 < ~/mangos/src/bindings/ScriptDev2/sql/scriptdev2_script_full.sql

Теперь добавляем свой реалмлист и аккаунт гма. xxx.xxx.xxx.xxx необходимо заменить на ip на котором реалм будет слушать входящие подключения: 
% mysql -u mangos -p realmd
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8016
Server version: 5.1.20-beta FreeBSD port: mysql-server-5.1.20

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> UPDATE realmlist SET name='my super server', address='xxx.xxx.xxx.xxx' WHERE id='1';
mysql> DELETE FROM account;
mysql> INSERT INTO account (username,sha_pass_hash,gmlevel) VALUES  
    ->('megaadmin',SHA1(CONCAT(UPPER('megaadmin'),':',UPPER('megapassword'))),'3');
Настройка конфигов 

Редактируем конфиги для запуска (остальное настроим потом) 

Первое что сделаем, это настроим доступ к базе через unix-cокет, вместо внутрисетевой петли, и корректный путь к необходимым базам данных 
/usr/local/mangos/etc/realmd.conf 
LoginDatabaseInfo     = ".;/tmp/mysql.sock;mangos;mangos;realmd"
/usr/local/mangos/etc/mangosd.conf 
LoginDatabaseInfo     = ".;/tmp/mysql.sock;mangos;mangos;realmd"
WorldDatabaseInfo     = ".;/tmp/mysql.sock;mangos;mangos;mangos"
CharacterDatabaseInfo = ".;/tmp/mysql.sock;mangos;mangos;characters"
Необходимые файлы 

Создаем необходимые папки: 
# mkdir /usr/local/mangos/share/mangos/maps
# mkdir /usr/local/mangos/share/mangos/dbc
# mkdir /usr/local/mangos/share/mangos/vmaps

экстракторы берём тут: ~/mangos/contrib/extractor/ad.exe и ~/mangos/contrib/vmap_extract_assembler_bin (копируем всю папку) Копируем экстракторы в корневую папку клиента wow, на машину под управлением ОС Windows. Запускаем ad.exe, ждём завершения, потом идём в vmap_extract_assembler_bin, запускаем makevmaps_SIMPLE и тоже ждём завершения. 

заливаем всё это счастье (папки vmap_extract_assembler_bin\vmaps, maps, dbc) на вашу FreeBSD (посредством ftp, smb, nfs, силой мысли) и копируем в соответствующие папки 
Скрипты запуска 

создаём скрипты такого содержания (заодно они будут рестартить серв в случае краха) 
/usr/local/mangos/bin/mangos.sh 
#!/bin/sh
while true ; do
servlog='/usr/local/mangos/bin/Server.log';
outpatch='/usr/local/mangos/bin/crash/';
date=`date "+%Y-%m-%d_%H:%M:%S"`;
echo "Server CRASHED !!! Start Bugreport System." >> $outpatch$date.txt;
echo "Server.log Log FILE Last 30 Lines:" >> $outpatch$date.txt;
cat $servlog | tail -n 30 >> $outpatch$date.txt;
echo "" >> $outpatch$date.txt;
echo "END bugtracker system." >> $outpatch$date.txt;
nice -n -20 /usr/local/mangos/bin/mangos-worldd
done
/usr/local/mangos/bin/realm.sh 
#!/bin/sh
while true ; do
echo `date` ", Realm daemon crashed and restarted." >> /usr/local/mangos/bin/realmcrash
nice -n -20 /usr/local/mangos/bin/mangos-realmd
done
/usr/local/mangos/bin/start 
cd /usr/local/mangos/bin/
screen -AmdS world /usr/local/mangos/bin/mangos.sh
screen -AmdS realm /usr/local/mangos/bin/realm.sh

делаем их исполняемыми 
# chmod +x /usr/local/mangos/bin/*.sh /usr/local/mangos/bin/start
Запуск программы 

Запускаем сервер так 
# /usr/local/mangos/bin/start

чтобы посмотреть что там происходит, вводим команды 
для реалма 
# screen -r realm
для мира 
# screen -r world

когда насмотрелись, жмём Ctrl+A,D 
Запуск 

для автоматического запуска мангоса, вместе с системой, можно воспользоваться rc-скриптом, приведённым ниже (не проверялся) 
/usr/local/etc/rc.d/mangos 
#!/bin/sh
# REQUIRE: mysql
. /etc/rc.subr 
command=/usr/local/mangos/bin/start
pidfile=/var/run/mangos.pid
stop_postcmd=stop_postcmd
stop_postcmd()
{
 screen -AvdS world && screen -AvdS realm
}
Источник — «http://mangos.ru:8080/wiki/index.php/Install:FreeBSD»
зы : _http://mangos.ru/wiki/index.php/Install:FreeBSD

Колон
проходил мимо

Re: WOW server

Непрочитанное сообщение Колон » 2009-11-12 21:40:26

Ссылка на скачивание

http://svn2.assembla.com/svn/edb/Releas ... one-0.8.x/

неработосбособна. Посоветуйте, пожалуйста, откуда скачать

Аватара пользователя
Morty
ст. лейтенант
Сообщения: 1370
Зарегистрирован: 2007-07-17 23:25:12

Re: WOW server

Непрочитанное сообщение Morty » 2009-11-12 23:49:18

Код: Выделить всё

svn co http://svn2.assembla.com/svn/ytdbase ~/YTDB

warcraft
проходил мимо

Re: WOW server

Непрочитанное сообщение warcraft » 2009-12-08 20:35:25

Доброе время суток!
наваял вот такой скрипт..вернее - переделал под свои нужды:

Код: Выделить всё

# cat check_mangos.sh
#!/usr/local/bin/bash

CH_s="/usr/home/mangos/source/"
CH_c="/usr/src/compile/compile"
USER="mangos:wheel";

cd ${CH_s}
echo "`pwd`"

case "$1" in
  mk-dir)
        mkdir -p /home/mangos/source/mangos
        mkdir -p /home/mangos/source/script
        mkdir -p ${CH_c}
        ;;
  remove)
        cd /home/mangos/source
        if [ -e mangos ];then
        echo "Директория mangos удаляется!!!"
        sleep 3
        rm -Rfv mangos
        else
        echo "Директория mangos не существует!!!"
        fi
        if [ -e script ];then
        echo "Директория script удаляется!!!"
        sleep 3
        rm -Rfv script
        else
        echo "Директория script не существует!!!"
        fi
        ;;
  clone)
        cd /home/mangos/source
        rm -rf ./*.old
        mv mangos mangos.old
        echo "Ждем закачки клона проекта mangos..."
#       svn co https://mangos.svn.sourceforge.net/svnroot/mangos/trunk /home/mangos/source/mangos
        git clone git://github.com/mangos/mangos.git
        echo "Ждем закачки клона проекта ScriptDev2..."
        svn co http://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2 /home/mangos/source/script
        MaN_ver="`cat mangos/src/realmd/AuthCodes.h | grep EXPECTED_MANGOS_CLIENT_BUILD | awk '{print $3}'| sed 's/,//' | sed 's/{//'`"
        echo "MaNGOS: ${MaN_ver}" > /home/mangos/source/MaNGOS.rev
        cd /home/mangos/source/
        svn info script/ | grep 'Revision:' > /home/mangos/source/ScriptDev2.rev
        ;;
  update)
        if [ -e "${CH_c}" ];then
        echo "Директория /usr/src/compile/compile существует!"
        sleep 3
        else
        echo "Директория compile не существует!!!"
        mkdir -p ${CH_c}/compile
        fi
        cd /usr/home/mangos/source/mangos
        git pull origin master >> /home/mangos/source/update.log
        MaN_ver="`cat src/realmd/AuthCodes.h | grep EXPECTED_MANGOS_CLIENT_BUILD | awk '{print $3}'| sed 's/,//' | sed 's/{//'`"
        echo "MaNGOS: ${MaN_ver}" > /home/mangos/source/MaNGOS.rev
        echo "MaNGOS: ${MaN_ver}" >> /home/mangos/source/update.log
        cd /home/mangos/source
        svn info script/ | grep 'Revision:' >/home/mangos/source/ScriptDev2.rev
        svn up /home/mangos/source/script >> /home/mangos/source/update.log
        sleep 1
        MaN_ver="`cat mangos/src/realmd/AuthCodes.h | grep EXPECTED_MANGOS_CLIENT_BUILD | awk '{print $3}'| sed 's/,//' | sed 's/{//'`"
        echo "MaNGOS: ${MaN_ver}">/home/mangos/source/MaNGOS.rev
        NEWREV="${MaN_ver}"
        echo -e "\E[37mMangos revision: \E[36m$NEWREV"
        echo "Текущая версия MaNGOS =  $NEWREV"
        echo "Текущая версия MaNGOS =  $NEWREV" > MaNGOS.rev
        NEWREVSC="$(svn info /home/mangos/source/script|grep 'Revision:')"
        NEWREVSC=`echo $NEWREVSC | awk '{print $2}'`
        echo "Текущая версия ScriptDev2 =  $NEWREVSC "
        echo "Текущая версия ScriptDev2 =  $NEWREVSC " > ScriptDev2.rev
        echo -e "\E[37mScriptDev revision:      \E[36m$NEWREVSC"
        echo "`date`">>/home/mangos/source/update.log
        ;;
  compil-up)
        if [ -e "${CH_c}" ];then
        echo "Директория ${CH_c} существует!"
        else
        echo "Директория ${CH_c} не существует!!!"
        mkdir -p ${CH_c}
        fi
        rm -rf ${CH_c}/*
        cp -Rf /home/mangos/source/mangos/* ${CH_c}/
        mkdir -p ${CH_c}/src/bindings/ScriptDev2
echo    "cp -Rf /home/mangos/source/script/* ${CH_c}/compile/src/bindings/ScriptDev2"
sleep 3
        cp -Rf /home/mangos/source/script/* ${CH_c}/src/bindings/ScriptDev2
        echo "Ждем-с..."
        echo "Меняем владельца инструкции выполнению компиляции: mangos:wheel"
        echo "\n"
        echo "и делаем сим-линк к в папку с готовыми сырцами"
        sleep 3
        chown -Rv mangos:wheel /home/mangos/source/patch_compil.sh
        sudo -u mangos ln -s /home/mangos/source/patch_compil.sh ${CH_c}/
        echo "Текущая директория: `pwd`"
        sleep 3
        cd ${CH_c}
        echo "Текущая директория: `pwd`"
        sleep 3
        NEWREV="${MaN_ver}"
        echo -e "\E[37mMangos revision: \E[36m$NEWREV"
        echo "Текущая версия MaNGOS =  $NEWREV"
        echo "Текущая версия MaNGOS =  $NEWREV" > MaNGOS.rev
        NEWREVSC="$(svn info /home/mangos/source/script|grep 'Revision:')"
        NEWREVSC=`echo $NEWREVSC | awk '{print $2}'`
        echo "Текущая версия ScriptDev2 =  $NEWREVSC "
        echo "Текущая версия ScriptDev2 =  $NEWREVSC " > ScriptDev2.rev
        echo -e "\E[37mScriptDev revision:      \E[36m$NEWREVSC"
        echo "Меняем владельца папки компиляции: mangos:wheel"
        echo "\n"
        sleep 3
        chown -Rv mangos:wheel ${CH_c}
        ;;
  *)
        echo $"Usage: $0 compil-up | mk-dir | remove | clone | update}"
  exit 1
esac
к нему прикрутил такой:

Код: Выделить всё

# cat patch_compil.sh
#!/bin/sh

CH_comp="/usr/src/compile/compile"
case "$1" in
  mk-dir)
    echo "Директории уже созданы.."
    ;;
  compile)
    compil="compile"
    path="`pwd`"
    svn_f="find ./ -type d -name .svn -print -depth"
    echo "`${svn_f}`" > svn_file
    if [ -e svn_file ] ;then
      while read LINE; do
        echo "${LINE%:}"
        rm -rv ${LINE%:}
      done <svn_file
      rm svn_file
    fi

    ptch="`find ./ \( -name "MaNGOS-*" -a -name "*patch" \) -type f`"
    echo "Путь до файла применяемого патча: ${ptch}"
    gitign="`cat src/bindings/.gitignore | tail -1`"
    echo "До применения патча: ${gitign}"
    if [ ${gitign} != "ScriptDev2" ] ;then
      git apply ${ptch}
    fi
    gitign="`cat src/bindings/.gitignore | tail -1`"
    echo "После применения патча: ${gitign}"
    echo "Применяем: autoreconf && aclocal && autoheader && autoconf && automake ...."
    autoreconf -fi
    echo "Применяем: aclocal...."
    aclocal
    echo "Применяем: autoheader...."
    autoheader
    echo "Применяем: autoconf...."
    autoconf
    echo "Применяем: automake --add-missing...."
    automake --add-missing
    echo "Применяем: automake src/bindings/ScriptDev2/Makefile...."
    automake src/bindings/ScriptDev2/Makefile
    echo "Создаем каталог для компилирования"
    mkdir objdir; cd objdir

    CH_game="/usr/src/compile/server"   # Директория для установки Серверного Софта
    suf="-3.2.2-WoTLK"          # Суффикс программ
    n_ser="-3.2.2-WoTLK"        # Серийный номер(имя) Сервера
    echo "Создаем или проверяем наличие каталога для сервера"
        if [ -e "${CH_game}" ];then
        echo "Директория /usr/src/compile/server существует!"
        sleep 3
        else
        echo "Директория /usr/src/compile/server не существует!!!"
        mkdir -p ${CH_game}
        fi
    ../configure  LDFLAGS=" -L/usr/local/lib" \
    --prefix=/usr/local \
    --enable-builtin-ace --enable-ra --with-gnu-ld --with-python --enable-cli \
    --bindir=${CH_game}/game/mangos${n_ser}/bin \
    --sbindir=${CH_game}/game/mangos${n_ser}/sbin \
    --libexecdir=${CH_game}/game/mangos${n_ser}/libexecdir \
    --sysconfdir=${CH_game}/game/mangos${n_ser}/etc \
    --libdir=${CH_game}/game/mangos${n_ser}/lib \
    --datadir=${CH_game}/game/mangos${n_ser}/data/3_2_2 \
    --infodir=${CH_game}/game/mangos${n_ser}/info \
    --mandir=${CH_game}/game/mangos${n_ser}/man \
    --docdir=${CH_game}/game/mangos${n_ser}/doc \
    --htmldir=${CH_game}/game/mangos${n_ser}/html \
    --program-suffix="${suf}"
    ;;
  svn_rm)
    compil="compile"
    path="`pwd`"
    svn_f="find ./ -type d -name .svn -print -depth"
    echo "`${svn_f}`" > svn_file

    if [ -e svn_file ] ;then
      while read LINE; do
        echo "${LINE%:}"
        rm -rv ${LINE%:}
      done <svn_file
      rm svn_file
    fi
    ;;
  *)
    echo $"Usage: $0 compile | mk-dir | svn_rm | clone | update}"
    exit 1
esac
базы использую эти :

Код: Выделить всё

# [1:23] root@lissi  YTDB # cat check_ver.sh
#!/bin/sh
#svn co http://svn2.assembla.com/svn/ytdbase ./
svn up ./
svn info |grep 'Revision:' > YTDB.ver
в итоге сэкономил себе кучу времени :-)
теперь ставлю и обновляю практически на автомате.
под эти дела примонтировал отдельный раздел, сделал папку "mangos" линки на логи мангоса в стандартную лиректорию "/var/log/mangos/log_x"
занес в крон задание :

Код: Выделить всё

cat /etc/newsyslog.conf
/var/log/mangos/log/Server.log          644  7     100  *     JC
/var/log/mangos/log/Realmd.log          644  7     100  *     JC
/var/log/mangos/log/Char.log            644  7     100  *     JC
/var/log/mangos/log/DBErrors.log        644  7     100  *     JC
/var/log/mangos/log/Gm.log              644  7     100  *     JC
/var/log/mangos/log3/Server.log         644  7     100  *     JC
/var/log/mangos/log3/Realmd.log         644  7     100  *     JC
/var/log/mangos/log3/Char.log           644  7     100  *     JC
/var/log/mangos/log3/DBErrors.log       644  7     100  *     JC
/var/log/mangos/log3/Gm.log             644  7     100  *     JC
настроил конфиги - мануалов на эту тему куча в нете, да и большого ума там не надо.
dbc, maps - распаковывал на вЕнде, для vmaps сделал пустой линк в ту директорию, которая является корневой для сервака MaNGOS(либо просто пустую папку).
с портов мангос ставиться старый, пытался обновить порт, но не хватило знаний, поэтому компилю сам.
В общем то и все :-)
P.S. может кому моя автоматизация поможет. а вот я пытаюсь найти правильные опции компилирования..сервак у меня падает :-(

zeone
мл. сержант
Сообщения: 131
Зарегистрирован: 2010-01-29 11:51:02

Re: WOW server

Непрочитанное сообщение zeone » 2010-02-16 11:42:00

Помогите возникают траблы при следующих действиях

Код: Выделить всё

$ patch < src/bindings/ScriptDev2/patches/MaNGOS-8759-ScriptDev2.patch
Hmm... Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|From 114944adbcff81cac4d31339f597b3a245290f69 Mon Sep 17 00:00:00 2001
|From: Reve <reve@scriptdev2.com>
|Date: Mon, 2 Nov 2009 10:44:52 +0100
|Subject: [PATCH] ScriptDev2 patch.
|
|---
| configure.ac | 6 +++++-
| src/bindings/.gitignore | 2 +-
| src/bindings/Makefile.am | 2 +-
| src/mangosd/Makefile.am | 4 ++--
| 4 files changed, 9 insertions(+), 5 deletions(-)
|
|diff --git a/configure.ac b/configure.ac
|index e016db0..b29d062 100644
|--- a/configure.ac
|+++ b/configure.ac
--------------------------
Patching file configure.ac using Plan A...
Hunk #1 succeeded at 312 (offset 36 lines).
Hmm... The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff --git a/src/bindings/.gitignore b/src/bindings/.gitignore
|index eeddf0d..95eebf7 100644
|--- a/src/bindings/.gitignore
|+++ b/src/bindings/.gitignore
--------------------------
File to patch:
No file found--skip this patch? [n] ^[
File to patch:
No file found--skip this patch? [n] y
Skipping patch...
Hunk #1 ignored at 11.
1 out of 1 hunks ignored--saving rejects to .gitignore.rej
Hmm... The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff --git a/src/bindings/Makefile.am b/src/bindings/Makefile.am
|index 2cc0efd..f2dbbc7 100644
|--- a/src/bindings/Makefile.am
|+++ b/src/bindings/Makefile.am
--------------------------
Patching file Makefile.am using Plan A...
Hunk #1 succeeded at 14 with fuzz 1.
Hmm... The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff --git a/src/mangosd/Makefile.am b/src/mangosd/Makefile.am
|index 3fd4068..076d8d8 100644
|--- a/src/mangosd/Makefile.am
|+++ b/src/mangosd/Makefile.am
--------------------------
Patching file Makefile.am using Plan A...
Hunk #1 failed at 34.
Hunk #2 failed at 45.
2 out of 2 hunks failed--saving rejects to Makefile.am.rej
Hmm... Ignoring the trailing garbage.
done

Код: Выделить всё

/home/zeone/mangos/comp/>autoreconf -f -i
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `aux_config'.
libtoolize: copying file `aux_config/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: copying file `m4/libtool.m4'
libtoolize: copying file `m4/ltoptions.m4'
libtoolize: copying file `m4/ltsugar.m4'
libtoolize: copying file `m4/ltversion.m4'
libtoolize: copying file `m4/lt~obsolete.m4'
autoheader-2.62: warning: missing template: AS_TR_CPP
autoheader-2.62: Use AC_DEFINE([AS_TR_CPP], [], [Description])
autoreconf-2.62: /usr/local/bin/autoheader-2.62 failed with exit status: 1
делал с _http://cheatportal.ru/f29/thread537.html

muraig
рядовой
Сообщения: 36
Зарегистрирован: 2008-07-13 8:04:30

Re: WOW server

Непрочитанное сообщение muraig » 2010-02-28 11:13:30

$ patch < src/bindings/ScriptDev2/patches/MaNGOS-8759-ScriptDev2.patch
Hmm... Looks like a unified diff to me...
The text leading up to this was:
тут последовательность действий нарушена - применяется не тот патч или не туда - можно пошагово разобраться и вручную поправить(наложить патч)
я вот так в порту прописал:

Код: Выделить всё

post-patch:
.ifdef WITH_SCRIPTDEV2
           @cd ${WRKSRC}/ && git apply ./src/bindings/ScriptDev2/patches/MaNGOS-8759-ScriptDev2.patch
.endif
а это сам чего то правил:

Код: Выделить всё

           @cd ${WRKSRC}/ && patch configure.ac< ../../files/configure.patch
вот сам патч:

Код: Выделить всё

--- configure.ac        2010-01-28 18:08:52.000000000 +0800
+++ configure.ac        2010-01-28 18:10:38.000000000 +0800
@@ -303,11 +303,6 @@
    src/bindings/ScriptDev2/sql/Updates/Makefile
 ])

-## Configure ACE, if needed
-if test X$enable_builtin_ace_support = Xyes; then
-  AC_CONFIG_SUBDIRS([dep/ACE_wrappers])
-fi
-
 AC_CONFIG_COMMANDS([default],[
   echo ""
   echo "Configuration of MaNGOS $PACKAGE_VERSION is now complete."
--- dep/Makefile.am     2010-01-25 13:08:54.000000000 +0800
+++ dep/Makefile.am     2010-01-28 20:05:13.000000000 +0800
@@ -19,10 +19,6 @@
 ## Sub-directories to parse
 SUBDIRS = include lib src

-if MANGOS_BUILD_ACE
-SUBDIRS += ACE_wrappers
-endif
-
 # Intel's TBB
 SUBDIRS += tbb

--- src/shared/Database/QueryResultPostgre.h    2010-01-30 23:08:42.000000000 +0800
+++ src/shared/Database/QueryResultPostgre.h    2010-01-30 23:08:49.000000000 +0800
@@ -26,7 +26,7 @@
 #include <postgre/pg_type.h>
 #else
 #include <libpq-fe.h>
-//#include <pg_type.h>
+#include <pg_type.h>
 #endif

 class QueryResultPostgre : public QueryResult
переделал старый порт(/usr/ports/games/mangos/), даже под PostgreSQL его поднимал..только не добил..,а на MySQL вроде работает )
кроме этого еще ставил ACE-5.7.5, так как в портах тока 5.5.2 была:

Код: Выделить всё

cat /usr/ports/devel/ace/distinfo
MD5 (ACE-5.5.2.tar.bz2) = 423b52602f72c1b8c5ddf6f957d8153f
SHA256 (ACE-5.5.2.tar.bz2) = 80e1e17477ddaf48ebeaf439ca2571bed0c46abd85c04e678aebc3ce99a567b1
SIZE (ACE-5.5.2.tar.bz2) = 7495797
порт брал тут:

Код: Выделить всё

ftp://goszakaz38.ru/distfiles/ace-5.7.5.tar.bz2
сейчас пытаюсь перейти на TrinityCore:

Код: Выделить всё

#!/bin/sh
case "$1" in
  2.4.3)
  ##Версия 2.4.3:.
    hg clone https://www.bitbucket.org/KingPin/trinitycore/
  ;;
  3.2.2a)
  ##Версия 3.2.2a:
    hg up https://trinitycore.googlecode.com/hg/ ./3.2.2a/hg
  ;;.
  KPsN)
  ##Версия 3.2.2a:
      hg clone http://bitbucket.org/KPsN/trinitycore/ ./KPsN
  ;;
  1.12.x)
  #Версия 1.12.x:
    hg clone https://www.bitbucket.org/KingPin/trinity-zero/
  ;;
  converts)
    hg clone http://bitbucket.org/spyder/trinity-converters/ ./converts
  ;;
  geo)
    hg clone http://dev.trinitycore.org/trinitycore/      ./GeoData
  ;;
  TrDB)
    svn co http://subversion.assembla.com/svn/TrinityDB/  ./TrDB
  ;;
   *)
  echo $"Usage: $0 { 2.4.3 | 3.2.2a | KPsN | 1.12.x | converts | geo | TrDB  }"
  exit 1
esac
это мой рабочий "инсталятор"..
/home/zeone/mangos/comp/>autoreconf -f -i
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `aux_config'.
libtoolize: copying file `aux_config/ltmain.sh'
тут вроде не все..у меня жаловался на отсутствие библы dnl или как то так, вычитал в нете, что это линуксовая библа, а во фре ее функциолал включен в другую.
Тупа нашел в исходниках и закоментил ее )

Ким
проходил мимо

Re: WOW server

Непрочитанное сообщение Ким » 2010-05-25 0:28:41

эмм.. сорри за беспокойство, но нет ли у кого ссылочки на полный архив распакованных карт клиента 2.3.2?? :oops:
а то несколько экстракторов пробовал - даже, когда процесс без ошибок проходил, не хватало части карт - естественно никакой игры((

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

З.Ы. особенно интересует папочка maps, но был бы очень благодарен и за dbc и vmaps впридачу. на всякий случай.

Аватара пользователя
Sun
прапорщик
Сообщения: 496
Зарегистрирован: 2008-07-14 18:27:14
Откуда: Красноярск
Контактная информация:

Re: WOW server

Непрочитанное сообщение Sun » 2010-05-29 16:50:37

Ким писал(а):эмм.. сорри за беспокойство, но нет ли у кого ссылочки на полный архив распакованных карт клиента 2.3.2?? :oops:
а то несколько экстракторов пробовал - даже, когда процесс без ошибок проходил, не хватало части карт - естественно никакой игры((

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

З.Ы. особенно интересует папочка maps, но был бы очень благодарен и за dbc и vmaps впридачу. на всякий случай.

Код: Выделить всё

# git clone git://github.com/mangos/mangos.git
# ll mangos/contrib/extractor/
..............
-rwxr-xr-x  1 root  wheel  165888 29 май 21:16 ad.exe (в корень клиента и запустить, получишь dbc и maps)
..............
# ll mangos/contrib/vmap_extract_assembler_bin/
total 568
-rw-r--r--  1 root  wheel    1100 29 май 21:16 make vmaps.bat
-rw-r--r--  1 root  wheel      85 29 май 21:16 makevmaps_SIMPLE.bat
-rw-r--r--  1 root  wheel     207 29 май 21:16 readme.txt
-rw-r--r--  1 root  wheel     353 29 май 21:16 splitConfig.txt
-rw-r--r--  1 root  wheel  295424 29 май 21:16 vmap_assembler.exe
-rw-r--r--  1 root  wheel  223232 29 май 21:16 vmapextract_v2.exe
(кинуть все в path/data/ruRU/ , прочитать readme.txt и запустить make vmaps.bat)

killer67
рядовой
Сообщения: 28
Зарегистрирован: 2012-07-25 15:08:12

WOW server

Непрочитанное сообщение killer67 » 2016-03-05 10:10:30

Помогите собрать Mangos, Trinity или хоть какой то норм сервер для ВОВ на:
# uname -a
FreeBSD western-soft.com 10.1-RELEASE-p26 FreeBSD 10.1-RELEASE-p26 #0: Wed Jan 13 20:59:29 UTC 2016 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64

Что я пытался сделать:

Код: Выделить всё

git clone git://github.com/cmangos/mangos-wotlk.git mangos
git clone git://github.com/scriptdev2/scriptdev2.git /usr/home/wow/mangos_wotlk/mangos/src/bindings/ScriptDev2;

cmake ../classic -DCMAKE_INSTALL_PREFIX=/usr/home/wow/mangos_wotlk/mangos/run -DINCLUDE_BINDINGS_DIR=ScriptDev2 -DDEBUG=1 -DCMAKE_CXX_FLAGS='-gdwarf-2 -gstrict-dwarf'
make install clean
В результате:

Код: Выделить всё

/usr/home/wow/mangos_wotlk/mangos/dep/include/g3dlite/G3D/System.h:123:20: error: field has incomplete type 'struct timeval'
    struct timeval m_start;
                   ^
/usr/home/wow/mangos_wotlk/mangos/dep/include/g3dlite/G3D/System.h:123:12: note: forward declaration of 'G3D::timeval'
    struct timeval m_start;
           ^
1 error generated.
*** Error code 1

Stop.
Редактируем:
/usr/home/wow/mangos_wotlk/mangos/dep/include/g3dlite/G3D/System.h

Добавим в начало ко всем include
#include <sys/time.h>

И повторно запускаем make install clean

В результате:

Код: Выделить всё

[ 12%] Building CXX object src/shared/CMakeFiles/shared.dir/PosixDaemon.cpp.o
/usr/home/wow/mangos_wotlk/mangos/src/shared/PosixDaemon.cpp:72:5: error: use of undeclared identifier 'umask'
    umask(0);
    ^
1 error generated.
*** Error code 1

Stop.
Как решить данную задачу?

Аватара пользователя
Sun
прапорщик
Сообщения: 496
Зарегистрирован: 2008-07-14 18:27:14
Откуда: Красноярск
Контактная информация:

WOW server

Непрочитанное сообщение Sun » 2016-03-06 9:58:24

killer67 писал(а):

Код: Выделить всё

[ 12%] Building CXX object src/shared/CMakeFiles/shared.dir/PosixDaemon.cpp.o
/usr/home/wow/mangos_wotlk/mangos/src/shared/PosixDaemon.cpp:72:5: error: use of undeclared identifier 'umask'
    umask(0);
    ^
1 error generated.
*** Error code 1

Stop.
Как решить данную задачу?
Как вариант попробуйте использовать gnu make.

Если хочется более играбельный игровой мир лучше использовать Trinity, если более стабильный то CManagos...

killer67
рядовой
Сообщения: 28
Зарегистрирован: 2012-07-25 15:08:12

WOW server

Непрочитанное сообщение killer67 » 2016-03-06 12:04:17

Sun писал(а): Если хочется более играбельный игровой мир лучше использовать Trinity, если более стабильный то CManagos
В том то и дело что на FreeBSD 10.1 не могу установит ни одно ни другое...
Sun писал(а): Как вариант попробуйте использовать gnu make.
Можно по подробнее команду?

Аватара пользователя
Sun
прапорщик
Сообщения: 496
Зарегистрирован: 2008-07-14 18:27:14
Откуда: Красноярск
Контактная информация:

WOW server

Непрочитанное сообщение Sun » 2016-03-08 0:09:09

killer67 писал(а):Можно по подробнее команду?
Я имел ввиду команду gmake.

Попробовал собрать mangos, проблем не возникло.

Код: Выделить всё

# uname -a
FreeBSD TrinityTest 10.2-RELEASE FreeBSD 10.2-RELEASE #0 r286666: Wed Aug 12 15:26:37 UTC 2015     root@releng1.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64
#
#
# pkg install openssl-1.0.2_11 boost-libs-1.55.0_9 cmake-3.4.1 git-2.6.4 mysql56-client-5.6.27 lzlib-1.7 gcc47-4.7.4_3,1
#
# mkdir /wow
# cd /wow/
# git clone git://github.com/cmangos/mangos-wotlk.git mangos
# git clone git://github.com/scriptdev2/scriptdev2.git ./mangos/src/bindings/ScriptDev2
# cd mangos/
# mkdir build
# cd build/
# cmake ../ -DCMAKE_INSTALL_PREFIX=/tc/cmgs-srv

-- This script builds the MaNGOS server.
  Options that can be used in order to configure the process:
    CMAKE_INSTALL_PREFIX    Path where the server should be installed to
    PCH                     Use precompiled headers
    DEBUG                   Include additional debug-code in core
    WARNINGS                Show all warnings during compile
    INCLUDE_BINDINGS_DIR    Include a script library in src/bindings/ with the
                            defined name. the name must corespond to the name of
                            the folder and the folder must contain a valid
                            CMakeLists.txt
    TBB_USE_EXTERNAL        Use external TBB
    USE_STD_MALLOC          Use standard malloc instead of TBB
    ACE_USE_EXTERNAL        Use external ACE
  To set an option simply type -D<OPTION>=<VALUE> after 'cmake <srcs>'.
  Also, you can specify the generator with -G. see 'cmake --help' for more details
  For example: cmake .. -DDEBUG=1 -DCMAKE_INSTALL_PREFIX=/opt/mangos

-- Detected 64-bit platform
-- UNIX: Configuring uninstall target
-- UNIX: Created uninstall target
-- UNIX: Detected compiler: /usr/bin/cc
-- Boost version: 1.55.0
-- Found the following Boost libraries:
--   system
--   program_options
-- Using mysql-config: /usr/local/bin/mysql_config
-- Found MySQL library: /usr/local/lib/mysql/libmysqlclient.so
-- Found MySQL headers: /usr/local/include/mysql
-- CMaNGOS-Core revision : 2019799aaba969dbd395f5a9a95a10c33c71dc07
-- Install server to     : /tc/cmgs-srv
-- Build script library  : No
-- Use PCH               : No
-- Build in debug-mode   : No  (default)
-- Use std malloc        : Yes (default)

-- Configuring done
-- Generating done
-- Build files have been written to: /wow/mangos/build
root@TrinityTest:/wow/mangos/build # rm -rf *
root@TrinityTest:/wow/mangos/build # cmake ../ -DCMAKE_INSTALL_PREFIX=/tc/cmgs-srv
-- The C compiler identification is Clang 3.4.1
-- The CXX compiler identification is Clang 3.4.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/CC
-- Check for working CXX compiler: /usr/bin/CC -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done

-- This script builds the MaNGOS server.
  Options that can be used in order to configure the process:
    CMAKE_INSTALL_PREFIX    Path where the server should be installed to
    PCH                     Use precompiled headers
    DEBUG                   Include additional debug-code in core
    WARNINGS                Show all warnings during compile
    INCLUDE_BINDINGS_DIR    Include a script library in src/bindings/ with the
                            defined name. the name must corespond to the name of
                            the folder and the folder must contain a valid
                            CMakeLists.txt
    TBB_USE_EXTERNAL        Use external TBB
    USE_STD_MALLOC          Use standard malloc instead of TBB
    ACE_USE_EXTERNAL        Use external ACE
  To set an option simply type -D<OPTION>=<VALUE> after 'cmake <srcs>'.
  Also, you can specify the generator with -G. see 'cmake --help' for more details
  For example: cmake .. -DDEBUG=1 -DCMAKE_INSTALL_PREFIX=/opt/mangos

-- Detected 64-bit platform
-- UNIX: Configuring uninstall target
-- UNIX: Created uninstall target
-- UNIX: Detected compiler: /usr/bin/cc
-- Performing Test COMPILER_SUPPORTS_CXX11
-- Performing Test COMPILER_SUPPORTS_CXX11 - Success
-- Performing Test COMPILER_SUPPORTS_CXX0X
-- Performing Test COMPILER_SUPPORTS_CXX0X - Success
-- Found Git: /usr/local/bin/git (found version "2.6.4")
-- Boost version: 1.55.0
-- Found the following Boost libraries:
--   system
--   program_options
-- Using mysql-config: /usr/local/bin/mysql_config
-- Found MySQL library: /usr/local/lib/mysql/libmysqlclient.so
-- Found MySQL headers: /usr/local/include/mysql
-- Found OpenSSL: /usr/lib/libssl.so;/usr/lib/libcrypto.so (found version "1.0.1p")
-- Found ZLIB: /usr/lib/libz.so (found version "1.2.8")
-- CMaNGOS-Core revision : 2019799aaba969dbd395f5a9a95a10c33c71dc07
-- Install server to     : /tc/cmgs-srv
-- Build script library  : No
-- Use PCH               : No
-- Build in debug-mode   : No  (default)
-- Use std malloc        : Yes (default)

-- Configuring done
-- Generating done
-- Build files have been written to: /wow/mangos/build

# make
..................
[ 99%] Building CXX object src/scriptdev2/CMakeFiles/mangosscript.dir/scripts/world/npc_professions.cpp.o
[100%] Building CXX object src/scriptdev2/CMakeFiles/mangosscript.dir/scripts/world/npcs_special.cpp.o
[100%] Building CXX object src/scriptdev2/CMakeFiles/mangosscript.dir/scripts/world/spell_scripts.cpp.o
[100%] Building CXX object src/scriptdev2/CMakeFiles/mangosscript.dir/scripts/world/world_map_scripts.cpp.o
[100%] Building CXX object src/scriptdev2/CMakeFiles/mangosscript.dir/system/ScriptLoader.cpp.o
[100%] Building CXX object src/scriptdev2/CMakeFiles/mangosscript.dir/system/system.cpp.o
[100%] Linking CXX shared library libmangosscript.so
[100%] Built target mangosscript
# make install
[  1%] Built target genrev
[  1%] Built target revision.h
[  2%] Built target ACE_Project
[  3%] Built target detour
[  9%] Built target g3dlite
[  9%] Built target gsoap
[  9%] Built target framework
[ 13%] Built target shared
[ 14%] Built target realmd
[ 37%] Built target game
[ 38%] Built target mangosd
[100%] Built target mangosscript
Install the project...
-- Install configuration: "Release"
-- Installing: /tc/cmgs-srv/bin/realmd
-- Set runtime path of "/tc/cmgs-srv/bin/realmd" to "/tc/cmgs-srv/lib:/usr/local/lib:/usr/local/lib/mysql"
-- Installing: /tc/cmgs-srv/etc/realmd.conf.dist
-- Installing: /tc/cmgs-srv/bin/mangosd
-- Set runtime path of "/tc/cmgs-srv/bin/mangosd" to "/tc/cmgs-srv/lib:/usr/local/lib:/usr/local/lib/mysql"
-- Installing: /tc/cmgs-srv/bin/run-mangosd
-- Installing: /tc/cmgs-srv/etc/mangosd.conf.dist
-- Installing: /tc/cmgs-srv/lib/libmangosscript.so
-- Set runtime path of "/tc/cmgs-srv/lib/libmangosscript.so" to "/tc/cmgs-srv/lib"
# ll /tc/cmgs-srv/
total 16
drwxr-xr-x  2 root  wheel  512 Mar  8 03:32 bin/
drwxr-xr-x  2 root  wheel  512 Mar  8 03:32 etc/
drwxr-xr-x  3 root  wheel  512 Mar  8 02:28 include/
drwxr-xr-x  3 root  wheel  512 Mar  8 03:32 lib/
# ll /tc/cmgs-srv/bin/
total 16260
-rwxr-xr-x  1 root  wheel  13421453 Mar  8 02:48 mangosd*
-rwxr-xr-x  1 root  wheel   3134973 Mar  8 02:30 realmd*
-rw-r--r--  1 root  wheel       345 Mar  8 02:19 run-mangosd
Запускать не пробовал, желания возиться с настройками и установкой базы нет. Да и клиента игрового нет.

Отправлено спустя 10 минут 53 секунды:
А вот trinitycore собрать не удалось, вываливается с ошибкой:

Код: Выделить всё

[ 13%] Building CXX object src/server/database/CMakeFiles/database.dir/Updater/DBUpdater.cpp.o
In file included from /wow/TrinityCore/src/server/database/Updater/DBUpdater.cpp:29:
In file included from /wow/TrinityCore/dep/process/boost/process.hpp:20:
In file included from /wow/TrinityCore/dep/process/boost/process/all.hpp:23:
In file included from /wow/TrinityCore/dep/process/boost/process/initializers.hpp:21:
In file included from /wow/TrinityCore/dep/process/boost/process/posix/initializers.hpp:24:
/wow/TrinityCore/dep/process/boost/process/posix/initializers/inherit_env.hpp:30:17: error: use of undeclared identifier 'environ'
        e.env = environ;
                ^
1 error generated.
*** Error code 1

Stop.
make[2]: stopped in /wow/TrinityCore/build
*** Error code 1

Stop.
make[1]: stopped in /wow/TrinityCore/build
*** Error code 1

Stop.
make: stopped in /wow/TrinityCore/build
Отправлено спустя 9 минут 41 секунду:
PS: Бинарники mangos

killer67
рядовой
Сообщения: 28
Зарегистрирован: 2012-07-25 15:08:12

WOW server

Непрочитанное сообщение killer67 » 2016-03-08 12:30:36

Хм, все равно что то не так:

# make

Код: Выделить всё

[  3%] Building CXX object dep/src/g3dlite/CMakeFiles/g3dlite.dir/Any.cpp.o
In file included from /usr/home/wow/mangos/dep/src/g3dlite/Any.cpp:14:
In file included from /usr/home/wow/mangos/dep/include/g3dlite/G3D/Any.h:18:
In file included from /usr/home/wow/mangos/dep/include/g3dlite/G3D/Table.h:20:
In file included from /usr/home/wow/mangos/dep/include/g3dlite/G3D/Array.h:19:
/usr/home/wow/mangos/dep/include/g3dlite/G3D/System.h:123:20: error: field has incomplete type 'struct timeval'
    struct timeval m_start;
                   ^
/usr/home/wow/mangos/dep/include/g3dlite/G3D/System.h:123:12: note: forward declaration of 'G3D::timeval'
    struct timeval m_start;
           ^
1 error generated.
*** Error code 1

Stop.
make[2]: stopped in /usr/home/wow/mangos/build
*** Error code 1

Stop.
make[1]: stopped in /usr/home/wow/mangos/build
*** Error code 1

Stop.
make: stopped in /usr/home/wow/mangos/build
Что то все же не так...
К стати:
У меня не удалось установить: cmake-3.4.1, только cmake-3.4.2

Хотя ваш сервер запустился без проблем...

Аватара пользователя
Sun
прапорщик
Сообщения: 496
Зарегистрирован: 2008-07-14 18:27:14
Откуда: Красноярск
Контактная информация:

WOW server

Непрочитанное сообщение Sun » 2016-03-08 12:59:52

А вы что нибудь патчили? Судя по ошибкам вы ставили патч для G3D, этот или аналогичный:

Код: Выделить всё

diff -r 4c8e9fc4c125 dep/g3dlite/source/FileSystem.cpp
--- a/dep/g3dlite/source/FileSystem.cpp Thu Sep 02 06:02:51 2010 +0300
+++ b/dep/g3dlite/source/FileSystem.cpp Fri Sep 03 12:47:47 2010 +0600
@@ -31,6 +31,8 @@
 #   include <dirent.h>
 #   include <fnmatch.h>
 #   include <unistd.h>
+#   define O_LARGEFILE      0100000
+#   define stat64 stat
 #   define _getcwd getcwd
 #   define _stat stat
 #endif
На текущий момент мангос собирается без него, ну по крайней мере у меня без него все собралось. А вот для тринити он нужен, но там все равно вылезает ошибка с объявлением переменной environ, не знаю в чем там конкретно проблема. Но на дебиане, у меня ядро тринити кстати тоже не собралось, ошибку не помню правда.

killer67
рядовой
Сообщения: 28
Зарегистрирован: 2012-07-25 15:08:12

WOW server

Непрочитанное сообщение killer67 » 2016-03-08 14:13:40

Хм, вроде не ставил...
Когда то решил автоматизировать свои действия написал скрипт для автосборки: во вложении...
Хотя так то там ничего вроде такого нет...

Вот основной список команд:

Код: Выделить всё

mkdir /usr/home/wow/mangos_wotlk
cd /usr/home/wow/mangos_wotlk
mkdir server

git clone git://github.com/cmangos/mangos-wotlk.git mangos
git clone git://github.com/scriptdev2/scriptdev2.git /usr/home/wow/mangos_wotlk/mangos/src/bindings/ScriptDev2

cd /usr/home/wow/mangos_wotlk/server
cmake /usr/home/wow/mangos_wotlk/mangos/ -DCMAKE_INSTALL_PREFIX=/usr/home/wow/mangos_wotlk/server/  -DPCH=1 -DACE_USE_EXTERNAL=0 -DDEBUG=1 -DTBB_USE_EXTERNAL=0;
make install clean
Никаких патчей...

banderlog
проходил мимо

WOW server

Непрочитанное сообщение banderlog » 2016-11-27 12:46:37

Чтоб избежать ошибки "use of undeclared identifier 'environ' ", компильте в х86 среде.

Источник

banderlog
проходил мимо

WOW server

Непрочитанное сообщение banderlog » 2016-11-27 12:55:33

Чтоб избежать ошибки "field has incomplete type 'struct timeval' ", надо пропатчить dep/g3dlite/include/G3D/System.h:

Код: Выделить всё

#include "G3D/FileNotFound.h"
#include <string>
 
+#ifdef G3D_FREEBSD
+#   include <sys/_timeval.h>
Источник

banderlog
проходил мимо

WOW server

Непрочитанное сообщение banderlog » 2016-11-27 19:21:06

Забыл отметить - все это для сборки трини.

banderlog
проходил мимо

WOW server

Непрочитанное сообщение banderlog » 2016-11-27 22:52:45

Пробовал собрать мангос. Без наката вышеперечисленных патчей не идет. Накатил. Но теперь выдет ошибку

Код: Выделить всё

[ 14%] Built target shared
[ 15%] Built target realmd
[ 15%] Building CXX precompiled header src/game/cotire/game_CXX_prefix.hxx.pch
In file included from /usr/home/wow/mangos_wotlk/server/src/game/cotire/game_CXX_prefix.hxx:4:
In file included from /usr/home/wow/mangos_wotlk/server/src/game/cotire/game_CXX_prefix.cxx:9:
/usr/include/c++/v1/stdlib.h:115:82: error: use of undeclared identifier 'labs'; did you mean 'abs'?
inline _LIBCPP_INLINE_VISIBILITY long      abs(     long __x) _NOEXCEPT {return  labs(__x);}
                                                                                 ^
/usr/include/c++/v1/stdlib.h:115:44: note: 'abs' declared here
inline _LIBCPP_INLINE_VISIBILITY long      abs(     long __x) _NOEXCEPT {return  labs(__x);}
                                           ^
/usr/include/c++/v1/stdlib.h:117:81: error: use of undeclared identifier 'llabs'
inline _LIBCPP_INLINE_VISIBILITY long long abs(long long __x) _NOEXCEPT {return llabs(__x);}
                                                                                ^
/usr/include/c++/v1/stdlib.h:120:35: error: unknown type name 'ldiv_t'; did you mean 'dev_t'?
inline _LIBCPP_INLINE_VISIBILITY  ldiv_t div(     long __x,      long __y) _NOEXCEPT {return  ldiv(__x, __y);}
                                  ^
/usr/include/sys/types.h:105:18: note: 'dev_t' declared here
typedef __dev_t         dev_t;          /* device number or struct cdev */
                        ^
In file included from /usr/home/wow/mangos_wotlk/server/src/game/cotire/game_CXX_prefix.hxx:4:
In file included from /usr/home/wow/mangos_wotlk/server/src/game/cotire/game_CXX_prefix.cxx:9:
/usr/include/c++/v1/stdlib.h:120:95: error: use of undeclared identifier 'ldiv'; did you mean 'div'?
inline _LIBCPP_INLINE_VISIBILITY  ldiv_t div(     long __x,      long __y) _NOEXCEPT {return  ldiv(__x, __y);}
                                                                                              ^
/usr/include/c++/v1/stdlib.h:120:42: note: 'div' declared here
inline _LIBCPP_INLINE_VISIBILITY  ldiv_t div(     long __x,      long __y) _NOEXCEPT {return  ldiv(__x, __y);}
                                         ^
/usr/include/c++/v1/stdlib.h:122:34: error: unknown type name 'lldiv_t'
inline _LIBCPP_INLINE_VISIBILITY lldiv_t div(long long __x, long long __y) _NOEXCEPT {return lldiv(__x, __y);}
                                 ^
/usr/include/c++/v1/stdlib.h:122:94: error: use of undeclared identifier 'lldiv'
inline _LIBCPP_INLINE_VISIBILITY lldiv_t div(long long __x, long long __y) _NOEXCEPT {return lldiv(__x, __y);}
                                                                                             ^
In file included from /usr/home/wow/mangos_wotlk/server/src/game/cotire/game_CXX_prefix.hxx:4:
In file included from /usr/home/wow/mangos_wotlk/server/src/game/cotire/game_CXX_prefix.cxx:18:
In file included from /usr/include/c++/v1/string:437:
/usr/include/c++/v1/cstdio:109:9: error: no member named 'fpos_t' in the global namespace
using ::fpos_t;
      ~~^
/usr/include/c++/v1/cstdio:112:9: error: no member named 'fclose' in the global namespace; did you mean 'dlclose'?
using ::fclose;
      ~~^
/usr/include/dlfcn.h:115:6: note: 'dlclose' declared here
int      dlclose(void *);
         ^
In file included from /usr/home/wow/mangos_wotlk/server/src/game/cotire/game_CXX_prefix.hxx:4:
In file included from /usr/home/wow/mangos_wotlk/server/src/game/cotire/game_CXX_prefix.cxx:18:
In file included from /usr/include/c++/v1/string:437:
/usr/include/c++/v1/cstdio:113:9: error: no member named 'fflush' in the global namespace
using ::fflush;
      ~~^
/usr/include/c++/v1/cstdio:114:9: error: no member named 'setbuf' in the global namespace
using ::setbuf;
      ~~^
/usr/include/c++/v1/cstdio:115:9: error: no member named 'setvbuf' in the global namespace
using ::setvbuf;
      ~~^
/usr/include/c++/v1/cstdio:116:9: error: no member named 'fprintf' in the global namespace
using ::fprintf;
      ~~^
/usr/include/c++/v1/cstdio:117:9: error: no member named 'fscanf' in the global namespace
using ::fscanf;
      ~~^
/usr/include/c++/v1/cstdio:118:9: error: no member named 'snprintf' in the global namespace; did you mean 'swprintf'?
using ::snprintf;
      ~~^
/usr/include/wchar.h:131:5: note: 'swprintf' declared here
int     swprintf(wchar_t * __restrict, size_t n, const wchar_t * __restrict,
        ^
In file included from /usr/home/wow/mangos_wotlk/server/src/game/cotire/game_CXX_prefix.hxx:4:
In file included from /usr/home/wow/mangos_wotlk/server/src/game/cotire/game_CXX_prefix.cxx:18:
In file included from /usr/include/c++/v1/string:437:
/usr/include/c++/v1/cstdio:119:9: error: no member named 'sprintf' in the global namespace
using ::sprintf;
      ~~^
/usr/include/c++/v1/cstdio:120:9: error: no member named 'sscanf' in the global namespace
using ::sscanf;
      ~~^
/usr/include/c++/v1/cstdio:122:9: error: no member named 'vfprintf' in the global namespace
using ::vfprintf;
      ~~^
/usr/include/c++/v1/cstdio:123:9: error: no member named 'vfscanf' in the global namespace
using ::vfscanf;
      ~~^
/usr/include/c++/v1/cstdio:124:9: error: no member named 'vsscanf' in the global namespace
using ::vsscanf;
      ~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
CMake Error at /usr/home/wow/mangos_wotlk/mangos/cmake/macros/cotire.cmake:1783 (message):
  cotire: error 1 precompiling
  /usr/home/wow/mangos_wotlk/server/src/game/cotire/game_CXX_prefix.hxx.
Call Stack (most recent call first):
  /usr/home/wow/mangos_wotlk/mangos/cmake/macros/cotire.cmake:3332 (cotire_precompile_prefix_header)


*** Error code 1

Stop.
make[2]: stopped in /usr/home/wow/mangos_wotlk/server
*** Error code 1

Stop.
make[1]: stopped in /usr/home/wow/mangos_wotlk/server
*** Error code 1

Stop.
make: stopped in /usr/home/wow/mangos_wotlk/server

killer67
рядовой
Сообщения: 28
Зарегистрирован: 2012-07-25 15:08:12

WOW server

Непрочитанное сообщение killer67 » 2016-11-28 12:07:41

Позже попробую развернуть x32 и пересобрать..