RU/Server Manual
Contents
Начало
Поднять и поддерживать сервер для своих LAN или интернет-друзей намного легче, чем кажется; просто следуйте этой статье и, надеюсь, вы быстро разберетесь, как хостить свой собственный MTA:SA сервер!
Установка сервера
Приложение для выделенного сервера доступно в разных редакциях, зависящих от платформы севрера.
Linux
Есть несколько путей поднять и запустить сервер на Linux:
Если у вас возникли проблемы с ошибками при старте сервера, то некоторые распространенные проблемы и пути их решения изложены здесь:
FreeBSD
Вы можете запустить MTA:SA и на FreeBSD, воспользовавшись Linux-эмуляцией.
- Включите двоичную (бинарную) совместимость с Linux.
- Установите следующие пакеты или скомпилируйте их из портов: hs-terminfo, linux_base-f10, linux-f10-sqlite3
- Установите прекомпилированный пакет для Linux
Windows
Установка сервера MTA:SA на Windows очень проста.
- Перейдите на страницу закачки и скачайте установщик.
- Когда установщик закачан, запустите его.
- Выберите папку, куда вы хотели бы установить сервер.
- Нажмите Install.
- Все!
Для полной инструкции по acl.xml (access control list - лист контроля над правами) читайте: Access Control List
Настройка сервера
Выделенный сервер Multi Theft Auto изначально поддается настройке через окно консоли, прямо из игры и через браузер. Чтобы активировать последние две опции, необходимо добавить хотя бы одного администратора в ваш конфигурационный файл.
Основная настройка
Все основные опции настройки находятся в файле 'mods/deathmatch/mtaserver.conf' и могут быть заданы через обычный текстовый редактор.
Этот файл очень прост; каждая переменная имеет описание своего назначения и информацию по ее изменению.
Проброс портов
Если вы запускаете сервер на своем личном компьютере и у вас есть роутер, вам понадобится пробросить 3 порта.
Для начала откройте файл 'mods/deathmatch/mtaserver.conf' и найдите следующие строки:
<serverport>22003</serverport> <httpport>22005</httpport>
Эти порты нужны для правильной установки сервера. Позже мы объясним как их задавать, но сначала, если вы хотите, чтобы ваш сервер появился в браузере серверов, то есть еще один нужный нам порт - порт ASE. (краткий пример по включению / выключению ASE):
<ase>1</ase> <!-- 0 = выкл, 1 = вкл -->
Теперь нам нужно пробросить порты на вашем роутере, что не понадобится, если у вас уже открыты все порты, или если у вас нет роутера с фаерволлом. Если так оно и есть, пропустите эту часть.
Если вы не знаете, как пробросить порты на вашем роутере, пройдите на сайт по проброске портов, найдите там модель своего роутера и следуйте инструкциям.
Почти в каждом роутере можно задать тип порта: UDP или TCP. Этот список объяснит, какой тип порта и для чего нужен:
Главный порт сервера: UDP
HTTP порт: TCP
ASE порт: UDP (он понадобится, если вы захотите появления своего сервера в браузере серверов)
ASE порт легко вычислить:
ASE порт = главный порт сервера + 123
Итак, если главный порт вашего сервера - 22003, ASE порт будет 22126.
Удачи!
В последней версии сервера вы можете проверить статус портов через следующую серверную команду openports.
Проверки клиента
При желании, анти-чит MTA сервера может быть отключен. В нем можно также разрешить определенным или всем файлам быть измененными (напр. carmods.dat) или задать минимально допустимую версию клиента.
Все эти настройки расположены внутри файла 'mods/deathmatch/mtaserver.conf'. Смотрите Anti-cheat guide для получения дополнительной информации.
Если вы хотите задать минимальную версию клиента, найдите следующую строку:
<minclientversion></minclientversion>
Правильные значения выглядят наподобие: 1.1.1-9.02320
Добавление администраторов
Крайне рекомендуется добавить хотя бы одного администратора на сервер, чтобы воспользоваться встроенным веб-сервером для несложной поддержки и настройки сервера. Этот администратор также сможет логиниться прямо из игры и контролировать сервер.
Чтобы добавить администратора, следуйте этим шагам:
- Если сервер запущен, добавьте новый аккаунт через ввод команды addaccount name password в окно севрера. Например, чтобы добавить пользователя VasyaPupkin, вам понадобится набрать:
addaccount VasyaPupkin 123password
Заметка: Если у вас нет доступа к окну сервера, а ресурс 'admin' запущен, вы можете добавить аккаунт-образец через ввод /register VasyaPupkin 123password в чат.
- Сервер должен будет отобразить сообщение о том, что аккаунт добавлен.
- Затем выключите сервер, введя shutdown в окне сервера.
- Удостоверьтесь, что сервер выключен; если он все еще запущен, изменения, которые вы вносите, будут перезаписаны
- Откройте файл 'mods/deathmatch/acl.xml' любым текстовым редактором
- Добавьте аккаунт в группу Admin, используя XML-синтаксис, как это сделано ниже
<acl> ... <group name="Admin"> <acl name="Admin"/> ... <object name="user.VasyaPupkin" /> </group> ... </acl>
Вообще, можно добавлять пользователей в какие угодно группы. Каждая из групп связана с ACL (Access Control List). Каждый ACL содержит специфический список разрешенных и запрещенных прав. Группы существуют для того, чтобы разным пользователям могли соответствовать разные права. Группа Admin связана с Adminским ACL, который пуст (стало быть, разрешены все права). Группа Everyone связана с Defaultным ACL, который накладывает список ограничений на доступные команды (чтобы не позволять обычным пользователям пользоваться админскими командами).
-
Это все! Вы можете добавлять столько администраторов и пользователей этим способом столько, сколько захотите, еще посмотрите на другие группы и ACL'ы, например. ACL также доступен через скриптовый движок Lua.
Рекомендуется взглянуть на веб-интерфейс, как это сделать мы опишем ниже.
Заметка: Для сервера, когда он запущен, есть другие способы добавлять аккаунты и редактировать права. "addaccount <user> <password>" - внутренняя команда для добавления аккаунтов, но вам придется воспользоваться веб-интерфейсом, чтобы добавить эти аккаунты в специфические группы/ACLы!
Использование веб-интерфейса
Выделенный сервер поставляется с некоторыми Lua ресурсами, которые предоставляют хороший простой веб-интерфейс для управления сервером. Это легко может быть использовано для поддержки сервера, так как позволяет вам добавлять пользователей, запускать/останавливать ресурсы и другое.
Ресурсы веб-интерфейса по умолчанию включены и обслуживаются через встроенный HTTP веб-сервер. Чтобы убедиться, что встроенный HTTP веб-сервер запущен на нужном вам порту (22005 по умолчанию), следуйте данной инструкции:
- Убедитесь, что сервер выключен
- Откройте файл 'mods/deathmatch/mtaserver.conf' любым текстовым редактором
- Проверьте, что HTTP сервер включен:
<httpserver>1</httpserver>
- Измените порт HTTP сервера на свое усмотрение:
<httpport>22005</httpport>
- Сохраните изменения и закройте файл конфигурации
- Запустите сервер
- Если вы меняли список автозапускаемых ресурсов в конфигурационном файле, убедитесь, что следующие ресурсы запущены:
- resourcebrowser
- resourcemanager
- webadmin
- webmap
- Откройте веб-браузер (Internet Explorer 6 or 7 НЕ поддерживаются; используйте Mozilla Firefox, Google Chrome, Apple Safari, Opera или другие) и перейдите по URL HTTP server'а: http://server:port/. Например, если у вас запущен локальный сервер на HTTP порту 22005, используйте http://127.0.0.1:22005/.
- Введите имя пользователя и пароль администратора, которого вы добавили в предыдущей секции.
Теперь вы способны управлять своим сервером через веб-интерфейс.
Настройка внешнего веб-сервера
Встроенный веб-сервер также используется для обслуживания файлов ресурсов, запущенных на вашем сервере, и нужен всем подключенным к серверу игрокам. Например, если запущен игровой скрипт с графическим пользовательским интерфейсом или специфическими моделями, они должны быть переданы каждому вновь подключающемуся игроку для правильного функционирования. Это выполняется либо встроенным веб-сервером, либо внешним веб-сервером (который, как правило, чуть быстрее), его нужно настраивать отдельно.
Из-за быстродействия или по ряду причин, вы можете решить создать внешний веб сервер, если такая возможность есть. Внешний веб сервер должен быть публично доступен, чтобы любой игрок мог скачать необходимые для подключения и игры на вашем сервере клиентские файлы.
Чтобы включить скачивание с внешнего веб-сервера, вам следует настроить тег httpdownloadurl в конфигурации своего сервера:
<httpdownloadurl>http://www.myserver.tld/directory/here</httpdownloadurl>
С тех пор, как все стандартные ресурсы, поставляемые с выделенным сервером, упакованы в zip-архивы, и обычно автоматически распаковываются благодаря встроенному веб серверу, теперь вам понадобится предоставить клиентам возможность закачивать себе сжатые файлы. Чтобы настроить MTA на поддержание копии только распакованных клиентских ресурсов, установите httpautoclientfiles в конфигурации вашего сервера:
<httpautoclientfiles>1</httpautoclientfiles>
Теперь, когда вы запускаете сервер, папка <SERVER>/mods/deathmatch/resource-cache/http-client-files будет содержать действительные клиентские файлы для хостинга на внешнем веб-сервере. Если веб сервер расположен на том же компьютере, что и сервер, вы можете просто связать директорию надлежащего веб-сервера с http-client-files. Если веб-сервер расположен на отдельном компьютере, убедитесь, что у него есть доступ к http-client-files по сети, или поддерживайте удаленную копию с помощью синхронизационного ПО.
Заметка 1: Пожалуйста, избегайте спецсимволов (напр. ~, !) в ваших URL закачки.
Заметка 2: Пожалуйста, не ставьте слеш в конце URL закачки (напр., используйте hxxp://www.myserver.tld/directory вместо hxxp://www.myserver.tld/directory/)
Заметка 3: Веб-сервер должен использовать 'ContentType: application/octet-stream' для Lua-файлов. Большинство веб-серверов так и делают по умолчанию, если же нет, вы можете добавить следующую строку в файл .htaccess:
AddType application/octet-stream .lua
Запуск сервера
Начнем с того, что убедимся, что мы закончили все конфигурирование сервера, ведь старт сервера - последний шаг, так что все должно быть готово!
Чтобы запустить сервер, выполните двойной щелчок по MTA Server.exe, убедитесь, что добавили его в исключение фаерволлов и пробросили порты, если это необходимо.
Установка/Обновление ресурсов сервера
Ресурсы могут быть двух видов, либо в формате ZIP-архива, либо просто обычной папкой со скриптами внутри. MTA:SA сервер поддерживает оба метода.
- Переместите или скопируйте новый ресурс в вашу папку <SERVER>\mods\deathmatch\resources.
- В окне сервера введите команду refresh, эта команда выполнит сканирование папки ресурсов и обновит ресурсы, если требуется.
Удаление ресурсов
Ресурсы могут запросто удалены с сервера, если более не нужны.
- Удалить ZIP-файл или папку ресурса, если хотите его удалить
- В окне сервера введите команду "refresh" (без кавычек), эта команда выполнит сканирование папки ресурсов и обновит ресурсы, если требуется.
Администрирование сервера
Вы можете запускать ресурсы, введя команда "start resourcename" в консоли сервера, или останавливать их, введя "stop resourcename".
Также возможно выполнять эти или другие админ-команды из игровой консоли (которую можно вызвать по кнопке ` или F8); чтобы это сработало, для начала нужно залогиниться командой "login username password". К тому же, вы можете нажать кнопку p (англ.), чтобы вызвать админ-панель: это графический интерфейс, позволяющий с легкостью кикать или банить игроков-нарушителей среди других.
Для других команд, введите help в консоли.
Запуск карты/мода
Смотрите секцию команд у mapmanager для дальнейшей информации.
Полезные заметки
- Вы можете также обновлять ресурсы прямо из игры, если у вас есть соответствующие права, введя "refresh" в клиентской консоли или "/refresh" в чате. Это может вызвать секундное подлагивание, если ресурсов много.
- В инструкциях выше, <SERVER> - путь к главной директории сервер. В большинстве случаев это C:\Program Files\MTA San Andreas\server
- Вы можете выбрать к использованию сервером другой конфигурационный файл, добавив его в командной строке после аргумента --config, напр. mtaserver.exe --config anotherconfig.cfg.
- Не пугайтесь предупреждения об анализе файла settings.xml. Это происходит, когда ваша установка сервера все еще чиста и не была задействована.
Нужна помощь?
Почему бы не посетить форум или присоединиться к нам на IRC (irc.multitheftauto.com #mta - mIRC)