Создание сервера Multi Theft Auto (MTA) на Linux

#1 2014.07.17 18:22:44

0

Установка сервера

Приложение для выделенного сервера доступно в разных редакциях, зависящих от платформы севрера.

Linux
Есть несколько путей поднять и запустить сервер на Linux:
- Прекомпилированный пакет

- Сборка сервера MTASA на GNU/Linux

*** Подготовка системы
Чтобы собрать выделенный сервер Multi Theft Auto, вам понадобится снабдить свою систему определенными библиотеками и инструментами. Как их устанавливать, зависит от вашего дистрибутива.

Наш сетевой модуль (net.dll или net.so) поставляется как прекомпилированная двоичная библиотека. Файл для GNU/Linux можно получить из новейшего nightly-билда для Linux, то есть отсюда. Используйте net.so от 1.4, если компилируете из trunk, или net.so от 1.3.x, если компилируете ветвь 1.3.x.

Удостоверьтесь, что вы прочитали верхнюю часть MTA10_Server/version.h, так как там содержатся указания по компилированию билдов разного типа.

Debian Linux

Включает производные дистрибутивы типа Ubuntu.

Вам понадобятся необходимые инструменты для сборки, заголовки и библиотеки, поставляемые через соответствующие пакеты Debian (напр. Debian Lenny):
build-essential: содержит необходимые инструменты, заголовки и библиотеки для сборки приложений
automake: содержит инструменты automake (автосборка)
libtool: содержит программное обеспечение libtool, нужное для сборки библиотек
libcurl3-dev: содержит библиотеку cURL (версия 3 без поддержки SSL)
libpcre3-dev: содержит библиотеку PCRE (версия 3)
libsqlite3-dev: содержит библиотеку SQLite (версия 3)
libreadline5-dev: содержит библиотеку readline (версия 5)
subversion: содержит SVN-клиент, используемый для checkout'а нашего репозитория
libncurses5-dev: содержит программное обеспечение для контроля над записью в окне консоли
libncursesw5-dev: содержит поддержку для широких символов
libsparsehash-dev: содержит поддержку для Google hash-map (Так что вам не придется компилировать sparehash!)
libmysqlclient-dev: содержит библиотеку MySQL

Чтобы установить эти пакеты через apt, используйте команду apt-get install <package list>, как в следующем образце (выполнять от root):
apt-get install build-essential automake libtool libcurl4-openssl-dev libpcre3-dev libsqlite3-dev libreadline5-dev subversion libncurses5-dev libncursesw5-dev libsparsehash-dev libmysqlclient-dev


Gentoo Linux

Вам понадобятся необходимые инструменты для сборки, заголовки и библиотеки. Но так как система портирования Gentoo сделана так, что компиляция любых пакетов происходит внтури самой системы, необходимые инструменты для сборки будут итак предустановелены. Все, что остается - установить необходимые библиотеки:
sqlite: содержит библиотеку SQLite
subversion: содержит SVN-клиент, используемый для checkout'а нашего репозитория
curl: содержит библиотеку cURL; чтобы скомпилировать с поддержкой SSL, примените флаг net-misc/curl ssl USE

Чтобы скомпилировать и установить эти пакеты через emerge, используйте команду emerge -v <package list>.

Опция -v показывает дополнительную * * информацию и может быть опущена. (Если вы хотите задействовать какие-либо флаги USE, пре-запустите emerge с USE="здесь пишите флаги". Вы также можете использовать опцию -pv для проверки на предмет использования правильных флагов.) Ссылайтесь на Gentoo Handbook или руководство для получения более подробной информации по emerge.

Образец:
emerge -v subversion sqlite
USE=“net-misc/curl ssl” emerge -v curl



Fedora

Для успешной компиляции MTA сервера на Fedora вам понадобятся следующие пакеты:
glibc-devel:
curl-devel: содержит библиотеку cURL
pcre-devel: содержит библиотеку PCRE
sqlite3-devel: содержит библиотеку SQLite
readline-devel: содержит библиотеку readline
lua-devel: содержит Lua-библиотеки
subversion: содержит SVN-клиент, используемый для checkout'а нашего репозитория

Чтобы установить эти пакеты через yum, воспользуйтесь командой yum install <package list>, как в следующем образце (выполнять от root):
yum install glibc-devel curl-devel pcre-devel sqlite3-devel readline-devel lua-devel subversion

Замечание для x64

На данный момент сервер MTA:SA не может быть корректно скомпилирован в 64-битном режиме. Вместо этого, скомпилируйте его в 32-битном режиме и запустите в режиме 32-битной совместимости (используйте флаг -m32).


Общее руководство для 1.3.5

Получение исходного кода.
Для начала вам понадобится скачать исходный код.
svn checkout http://mtasa-blue.googlecode.com/svn/branches/1.3.5/ mtasa-blue
cd mtasa-blue


Затем вот так его скомпилировать:
autoreconf -fiv
export PKG_CONFIG_PATH=/usr/lib32/pkgconfig
./configure LDFLAGS="-m32" CPPFLAGS="-m32" CFLAGS="-m32" CXXFLAGS="-m32" $@
make
make -C MTA10_Server install
make -C Shared/XML install


Получить net.so так:
wget https://nightly.mtasa.com/?multitheftauto_linux-1.3.5-rc-latest -O multitheftauto_linux-1.3.5-latest.tar.gz
tar -xzf multitheftauto_linux-1.3.5-latest.tar.gz --transform 's:[^/]*:latest_nightly:'
mv latest_nightly/net.so MTA10_Server/output/
rm -rf latest_nightly multitheftauto_linux-1.3.5-latest.tar.gz


Скопировать конфигурационные файлы:
cp MTA10_Server/mods/deathmatch/acl.xml MTA10_Server/output/mods/deathmatch/acl.xml
cp MTA10_Server/mods/deathmatch/mtaserver.conf MTA10_Server/output/mods/deathmatch/mtaserver.conf


Получить ресурсы:
svn export https://mtasa-resources.googlecode.com/svn/trunk/ MTA10_Server/output/mods/deathmatch/resources

И готовый сервер будет лежать по адресу MTA10_Server/output
Отредактировано: Panda 2023.07.20 12:25:11