RU/Server Manual: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Пересмотр всей статьи. Перевод обновленной англ. версии)
m (replaced IRC with Discord)
 
(25 intermediate revisions by 13 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE:Руководство по серверу}}
__TOC__
__TOC__


==Начало==
==Начало==
Установить и запустить ваш собственный сервер для сети интернет или локальной сети намного проще, чем вам могло показаться на первый взгляд. Следуйте указаниям, описанным в этой статье чтоб создать свой собственный MTA:SA DM сервер.
Поднять и поддерживать сервер для своих LAN или интернет-друзей намного легче, чем кажется; просто следуйте этой статье и, надеюсь, вы быстро разберетесь, как хостить свой собственный MTA:SA сервер!


==Установка сервера==
==Установка сервера==
В зависимости от платформы сервера имеется несколько вариантов серверного приложения MTA:SA DM.
Приложение для выделенного сервера доступно в разных редакциях, зависящих от платформы севрера.


===Установка серверного приложения в операционной системе Linux===
===Linux===
====Ubuntu====
Есть несколько путей поднять и запустить сервер на Linux:
Ниже описывается установка серверного приложения в операционной системе(далее ОС) Ubuntu 6.05 LTS. Позже будут добавлены инструкции по установки серверного приложения для других версий Linux.
* [http://linux.mtasa.com Прекомпилированный пакет]
Описываемая установка выполнялась в недавно установленной ОС, поэтому некоторые вещи будут устанавливаться впервые.
* [[RU/Building MTASA Server on GNU Linux|Сборка сервера MTASA на GNU/Linux]]
Первоначально все ssh на вашем сервере используют любой клиент, который вы пожелаете.
Некоторые предпочитают изменить это.
Начните с ввода '''sudo apt-get upgrade'''. Вам потребуется ваш пароль снова. После выполнения обновления выполните
'''sudo apt-get install pico'''. Это позволит легко установить используя pico text editor, который вы будете использовать для редактирования файлов настройки.
После выполнения установки, вам необходимо получить копию libcurl3 для сервера, чтобы запустите установку введите '''sudo apt-get install libcurl3'''
Вам снова придется ввести ваш пароль. После этого необходимо получить серверное приложение для вашего сервера Linux. Имеется несколько способов сделать это. Вы можете установить ftp сервер. Вы можете использовать передачу файлов. Если вы знаете какой-либо веб-сайт, вы можете скачать файл с этого веб-сайта, а затем использовать '''wget http://wwww.websitename.com/file.tar''' Где в качестве адреса веб-сайта используйте адрес известного вам сайта. После получения необходимого tar файла, вам необходимо распаковать его, используя команду '''tar -zxvf filename.tar'''


====Gentoo====
Если у вас возникли проблемы с ошибками при старте сервера, то некоторые распространенные проблемы и пути их решения изложены здесь:
Далее предполагается, что вы используете Gentoo и знаете как получить файлы с веб-сайтов для своего сервера... (в противном случае, читайте предыдущий пункт, посвященный Ubuntu)
* [[RU/Building MTASA Server on GNU Linux#Поиск и устранение неисправностей]]


Ниже описаны действия для DP2:
===FreeBSD===


Обновите вашу версию gcc до 4.2.2:
Вы можете запустить MTA:SA и на FreeBSD, воспользовавшись Linux-эмуляцией.
* уберите маску gcc в /etc/portage/package.unmask)
* Включите [http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/linuxemu-lbc-install.html двоичную (бинарную) совместимость с Linux].
* выйдите из gcc
* Установите следующие пакеты или скомпилируйте их из портов: hs-terminfo, linux_base-f10, linux-f10-sqlite3
* перейдите к gcc 4.2.2: gcc-config i686-pc-linux-gnu-4.2.2
* Установите [http://linux.mtasa.com/ прекомпилированный пакет для Linux]
Обновите вашу версию libstdc++ до 3.3 (если у вас еще не установлено это обновление)
* выйдите из libstdc++
Установите libcurl:
* выйдите из libcurl
Распакуйте mtasa, и запустите его...


===Установка серверного приложения в операционной системе Windows===
===Windows===
Установку серверного приложения MTA:SA DM в операционной системе Windows выполнить гораздо легче.
Установка сервера MTA:SA на Windows очень проста.
*Перейдите на [http://mtasa.com/dp.html страницу загрузки] и найдите на странице раздел "Dedicated servers".
*Перейдите на [http://mtasa.com/ страницу закачки] и скачайте установщик.
*Нажмите на ссылку, предназначенную для ОС Windows.
*Когда установщик закачан, запустите его.
*После загрузки программы установки запустите её.
*Выберите папку, куда вы хотели бы установить сервер.
*Выберете директорию, в которую вы хотите установить серверное приложение.
*Нажмите Install.
*Нажмите кнопку Install.
*Все!
*На этом установка завершена!
 
''Для полной инструкции по acl.xml (access control list - лист контроля над правами) читайте: [[RU/Access_Control_List|Access Control List]]''<br/><br/>


==Настройка сервера==
==Настройка сервера==
Откройте в текстовом редакторе(например, Windows Notepad) файл ''''mtaserver.conf'''', расположенный в директории <SERVER>/mods/deathmatch.
Выделенный сервер Multi Theft Auto изначально поддается настройке через окно консоли, прямо из игры и через браузер. Чтобы активировать последние две опции, необходимо добавить хотя бы одного администратора в ваш конфигурационный файл.
 
===Основная настройка===
Все основные опции настройки находятся в файле 'mods/deathmatch/[[RU/Server_mtaserver.conf|'''mtaserver.conf''']]' и могут быть заданы через обычный текстовый редактор.
 
Этот файл очень прост; каждая переменная имеет [[RU/Server_mtaserver.conf|описание своего назначения и информацию по ее изменению]].
 
===Проброс портов===
Если вы запускаете сервер на своем личном компьютере и у вас есть роутер, вам понадобится пробросить 3 порта.
 
Для начала откройте файл 'mods/deathmatch/[[RU/Server_mtaserver.conf|'''mtaserver.conf''']]' и найдите следующие строки:
<syntaxhighlight lang="xml">
<serverport>22003</serverport>
<httpport>22005</httpport>
</syntaxhighlight>
 
Эти порты нужны для правильной установки сервера. Позже мы объясним как их задавать, но сначала, если вы хотите, чтобы ваш сервер появился в браузере серверов, то есть еще один нужный нам порт - порт ASE.
(краткий пример по включению / выключению ASE):
<syntaxhighlight lang="xml">
<ase>1</ase> <!-- 0 = выкл, 1 = вкл -->
</syntaxhighlight>
 
Теперь нам нужно пробросить порты на вашем роутере, что не понадобится, если у вас уже открыты все порты, или если у вас нет роутера с фаерволлом. Если так оно и есть, пропустите эту часть.
 
Если вы не знаете, как пробросить порты на вашем роутере, пройдите [http://portforward.com/ на сайт по проброске портов], найдите там модель своего роутера и следуйте инструкциям.
 
Почти в каждом роутере можно задать тип порта: UDP или TCP. Этот список объяснит, какой тип порта и для чего нужен:
 
 
Главный порт сервера: UDP
 
HTTP порт: TCP
 
ASE порт: UDP (он понадобится, если вы захотите появления своего сервера в браузере серверов)
 
 
ASE порт легко вычислить:
 
ASE порт = главный порт сервера + 123
 
Итак, если главный порт вашего сервера - 22003, ASE порт будет 22126.
 
Удачи!
 
''В последней версии сервера вы можете проверить статус портов через следующую серверную команду [[RU/Server_Commands#openports|openports]].''
 
===Проверки клиента===
 
При желании, анти-чит MTA сервера может быть отключен. В нем можно также разрешить определенным или всем файлам быть измененными (напр. carmods.dat) или задать минимально допустимую версию клиента.
 
Все эти настройки расположены внутри файла 'mods/deathmatch/[[RU/Server_mtaserver.conf|'''mtaserver.conf''']]'. Смотрите [[Anti-cheat_guide|Anti-cheat guide]] для получения дополнительной информации.<br/>


Этот файл удобно редактировать: каждая переменная имеет описание того, что с помощью нее можно изменить и какие значения она может принимать.
Если вы хотите задать минимальную версию клиента, найдите следующую строку:
<syntaxhighlight lang="xml">
<minclientversion></minclientversion>
</syntaxhighlight>
Правильные значения выглядят наподобие: 1.1.1-9.02320


===Добавление администраторов===
===Добавление администраторов===
''Для получения подробной информации об acl.xml (access control list) читайте: [[Access_Control_List|Access Control List]]''<br/><br/>
Крайне рекомендуется добавить хотя бы одного администратора на сервер, чтобы воспользоваться встроенным веб-сервером для несложной поддержки и настройки сервера. Этот администратор также сможет логиниться прямо из игры и контролировать сервер.
Чтобы добавить администраторов ваших игровых серверов выполните следующие шаги:<br>
 
Чтобы добавить администратора, следуйте этим шагам:<br>
<ol>
<ol>
<li>Посмотрите ваши игровые сервера в директории 'deathmatch', открыв файл Accounts.xml</li>
<li>Если сервер запущен, добавьте новый аккаунт через ввод команды '''[[RU/Server_Commands#addaccount|addaccount name password]]''' в окно севрера. Например, чтобы добавить пользователя VasyaPupkin, вам понадобится набрать:
<li>Добавьте новую учетную запись в файл, используя синтаксис описанный ниже
<div style="margin: 10px 10px 10px 10px;">
<syntaxhighlight lang="xml">
addaccount VasyaPupkin 123password
</syntaxhighlight>
</div>
<div style="margin: 10px 10px 10px 20px;">
''Заметка: Если у вас нет доступа к окну сервера, а ресурс 'admin' запущен, вы можете добавить аккаунт-образец через ввод '''/register VasyaPupkin 123password''''' в чат.
</div>
<li>Сервер должен будет отобразить сообщение о том, что аккаунт добавлен.
<li>Затем выключите сервер, введя '''shutdown''' в окне сервера.
<li>Удостоверьтесь, что сервер выключен; если он все еще запущен, изменения, которые вы вносите, будут перезаписаны</li>
<li>Откройте файл 'mods/deathmatch/acl.xml' любым текстовым редактором</li>
<li>Добавьте аккаунт в группу ''Admin'', используя XML-синтаксис, как это сделано ниже
<div style="padding: 10px">
<div style="padding: 10px">
''''Синтаксис, используемый в файле Accounts.xml''''
<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
<account name="Username" password="UserPassword" />
<acl>
  ...
  <group name="Admin">
    <acl name="Admin"/>
    ...
    <object name="user.VasyaPupkin" />
  </group>
  ...
</acl>
</syntaxhighlight>
</syntaxhighlight>
</div>
</div>
<li>Сохраните и закройте файл</li>
 
<li>Откройте файл acl.xml</li>
Вообще, можно добавлять пользователей в какие угодно группы. Каждая из групп связана с ACL ([[RU/Access Control List|Access Control List]]). Каждый ACL содержит специфический список разрешенных и запрещенных прав. Группы существуют для того, чтобы разным пользователям могли соответствовать разные права. Группа ''Admin'' связана с ''Admin''ским ACL, который пуст (стало быть, разрешены все права). Группа ''Everyone'' связана с ''Default''ным ACL, который накладывает список ограничений на доступные команды (чтобы не позволять обычным пользователям пользоваться админскими командами).
<li>Выберите один из следующих наборов прав администратора: Moderator, SuperModerator или Admin</li>
</li>
<li>В выбранную группу добавьте учетную запись, которую вы создали ранее, используя синтаксис описанный ниже
<li>
Это все! Вы можете добавлять столько администраторов и пользователей этим способом столько, сколько захотите, еще посмотрите на другие группы и ACL'ы, например. ACL также доступен через [[RU/Access_Control_List|скриптовый движок Lua]].<br>
 
Рекомендуется взглянуть на веб-интерфейс, как это сделать мы опишем ниже.
</li>
</ol>
'''Заметка''': Для сервера, когда он запущен, есть другие способы добавлять аккаунты и редактировать права. "[[RU/Server_Commands#addaccount|addaccount <user> <password>]]" - внутренняя команда для добавления аккаунтов, но вам придется воспользоваться веб-интерфейсом, чтобы добавить эти аккаунты в специфические группы/ACLы!<br />
 
===Использование веб-интерфейса===
Выделенный сервер поставляется с некоторыми Lua [[RU/Resources|ресурсами]], которые предоставляют хороший простой веб-интерфейс для управления сервером. Это легко может быть использовано для поддержки сервера, так как позволяет вам добавлять пользователей, запускать/останавливать ресурсы и другое.
 
Ресурсы веб-интерфейса по умолчанию включены и обслуживаются через встроенный HTTP веб-сервер. Чтобы убедиться, что встроенный HTTP веб-сервер запущен на нужном вам порту (22005 по умолчанию), следуйте данной инструкции:
<ol>
<li>Убедитесь, что сервер выключен
<li>Откройте файл 'mods/deathmatch/[[RU/Server_mtaserver.conf|'''mtaserver.conf''']]' любым текстовым редактором</li>
<li>Проверьте, что HTTP сервер включен:
<div style="padding: 10px">
<div style="padding: 10px">
<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
<object name="user.Username" />
<httpserver>1</httpserver>
</syntaxhighlight>
</syntaxhighlight>
</div>
</div>
 
</li>
У вас должно получить, что-то похожее на:
<li>Измените порт HTTP сервера на свое усмотрение:
<div style="padding: 10px">
<div style="padding: 10px">
<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
<group name="Admin">
<httpport>22005</httpport>
...
<object name="user.Username" />
</group>
</syntaxhighlight>
</syntaxhighlight>
</div>
</div>
</li>
<li>Сохраните изменения и закройте файл конфигурации</li>
<li>Запустите сервер</li>
<li>Если вы меняли список автозапускаемых ресурсов в конфигурационном файле, убедитесь, что следующие ресурсы запущены:
# resourcebrowser
# resourcemanager
# webadmin
# webmap


Они автоматически стартуют согласно стандартному файлу, в случае, если вы только что установили свой сервер.
</li>
</li>
<li>
<li>Откройте веб-браузер (Internet Explorer 6 or 7 НЕ поддерживаются; используйте [http://www.mozilla.com/firefox Mozilla Firefox], [http://www.google.com/chrome Google Chrome], [http://www.apple.com/safari/download Apple Safari], [http://www.opera.com Opera] или другие) и перейдите по URL HTTP server'а: '''http://server:port/'''. Например, если у вас запущен локальный сервер на HTTP порту 22005, используйте '''http://127.0.0.1:22005/'''.</li>
Добавление администратора завершено! Этим способом вы можете добавить необходимое вам количество администраторов, только остерегайтесь создания одинаковых учетных записей и одинаковых ACL прав.<br>
<li>Введите имя пользователя и пароль администратора, которого вы добавили в предыдущей секции.</li>
</li>
</ol>
</ol>
'''Обратите внимание: 1)''' Изменение этих файлов вступят в силу только после перезапуска игрового сервера<br />
 
'''2)''' Существует также другой способ добавления учетных записей и редактирования прав во время работы игрового сервера. Команда '''addaccount <user> <password>''' является встроенной командой для добавления учетных записей, позволяющей вам посредством веб интерфейса управлять ACL правами во время работы игрового сервера. (Этот способ может быть лучшим для вас, если первый способ не работает)
<br />
Теперь вы способны управлять своим сервером через веб-интерфейс.


=== Настройка внешнего веб-сервера ===
=== Настройка внешнего веб-сервера ===
Из соображений производительности и стабильности работы лучше использовать внешний веб-сервер, вместо встроенного веб-сервера. Внешний веб-сервер должен быть доступен всем, чтобы любой пользователь мог скачать необходимые файлы ресурсов для клиентского приложения, а затем подключиться и играть на вашем игровом сервере.
Встроенный веб-сервер также используется для обслуживания файлов ресурсов, запущенных на вашем сервере, и нужен всем подключенным к серверу игрокам. Например, если запущен игровой скрипт с графическим пользовательским интерфейсом или специфическими моделями, они должны быть переданы каждому вновь подключающемуся игроку для правильного функционирования. Это выполняется либо встроенным веб-сервером, либо внешним веб-сервером (который, как правило, чуть быстрее), его нужно настраивать отдельно.
 
Из-за быстродействия или по ряду причин, вы можете решить создать внешний веб сервер, если такая возможность есть. Внешний веб сервер должен быть публично доступен, чтобы любой игрок мог скачать необходимые для подключения и игры на вашем сервере клиентские файлы.


Чтобы разрешить скачивание ресурсов с внешнего веб-сервера, вы должны настроить теги ''httpdownload'' и ''httpdownloadurl'' в настройках вашего сервера:
Чтобы включить скачивание с внешнего веб-сервера, вам следует настроить тег [[RU/Server_mtaserver.conf#httpdownloadurl|httpdownloadurl]] в конфигурации своего сервера:


<div style="padding: 10px">
<div style="padding: 10px">
<syntaxhighlight lang="xml"><httpdownload>1</httpdownload>
<syntaxhighlight lang="xml">
<httpdownloadurl>http://www.myserver.tld/directory/here</httpdownloadurl>
<httpdownloadurl>http://www.myserver.tld/directory/here</httpdownloadurl>
</syntaxhighlight></div>
</syntaxhighlight></div>


После того, как все сжатые файлы ресурсов будут загружены со специализированного сервера, они обычно автоматически распаковываются встроенным веб-сервером, теперь вы можете обеспечить способ для закачки клиентскими приложениями на компьютер несжатых файлов. Несжатые файлы обычно доступны в директории '''<SERVER>/mods/deathmatch/resourcecache'''.
С тех пор, как все стандартные ресурсы, поставляемые с выделенным сервером, упакованы в zip-архивы, и обычно автоматически распаковываются благодаря встроенному веб серверу, теперь вам понадобится предоставить клиентам возможность закачивать себе сжатые файлы. Чтобы настроить MTA на поддержание копии только распакованных клиентских ресурсов, установите [[RU/Server_mtaserver.conf#httpautoclientfiles|httpautoclientfiles]] в конфигурации вашего сервера:
 
<div style="padding: 10px">
<syntaxhighlight lang="xml"><httpautoclientfiles>1</httpautoclientfiles>
</syntaxhighlight></div>


<ol>
Теперь, когда вы запускаете сервер, папка '''<SERVER>/mods/deathmatch/resource-cache/http-client-files''' будет содержать действительные клиентские файлы для хостинга на внешнем веб-сервере. Если веб сервер расположен на том же компьютере, что и сервер, вы можете просто связать директорию надлежащего веб-сервера с '''http-client-files'''. Если веб-сервер расположен на отдельном компьютере, убедитесь, что у него есть доступ к '''http-client-files''' по сети, или поддерживайте удаленную копию с помощью синхронизационного ПО.
<li>Запустите специализированный сервер и выйдите. После этого сжатые zip файлы распакуются в директорию '''<SERVER>/mods/deathmatch/resourcecache'''.</li>
<li>Перейдите в эту директорию и скопируйте ресурсы в доступную для других пользователей директорию вашего внешнего веб сервера. Это можно сделать следующими способами:
<ul>
<li>Если вы не позаботитесь о том, чтобы '''файлы, размещенные на вашем сервере были доступны''': создайте символьную ссылку(Linux), соединение(Windows) или явную копию содержимого директории '''resourcecache''' в общедоступной директории вашего веб-сервера.</li>
<li>Если вы не хотите, чтобы файлы сервера были доступны остальным пользователям с вашего веб-сервера: перейдите в директорию '''resourcecache''' и вручную скопируйте директорию в директорию вашего сервера, доступную для других пользователей, удалите все файлы, предназначенные для сервера (они '''не''' нужны для скачивания клиентским приложениям) которые вы не хотите, чтобы были доступны с вашего веб-сервера.<br />
<br />
Более быстрый способ защиты ваших файлов, предназначенных для сервера в настоящее время недоступен. Инструментальное средство, автоматически копирующее только необходимые для клиентского приложения файлы всех ресурсов с вашего сервера.
</ul>
</li>
</ol>


'''Обратите внимание: 1)''' Пожалуйста избегайте использования любых специальных символов (например ~, !) в ваших адресах URL для скачивания файлов.<br/>
'''Заметка 1''': Пожалуйста, избегайте спецсимволов (напр. ~, !) в ваших URL закачки.<br />
'''2)''' Пожалуйста не используйте слеш в конце ваших URL для скачивания(например, используйте ''hxxp://www.myserver.tld/directory'' вместо ''hxxp://www.myserver.tld/directory/'')
'''Заметка 2''': Пожалуйста, не ставьте слеш в конце URL закачки (напр., используйте ''hxxp://www.myserver.tld/directory'' вместо ''hxxp://www.myserver.tld/directory/'')<br />
'''Заметка 3''': Веб-сервер должен использовать 'ContentType: application/octet-stream' для Lua-файлов. Большинство веб-серверов так и делают по умолчанию, если же нет, вы можете добавить следующую строку в файл .htaccess:<br />
<div style="padding: 10px">
<syntaxhighlight lang="xml">AddType application/octet-stream .lua
</syntaxhighlight></div>


==Запуск сервера==
==Запуск сервера==
Перед запуском сервера убедитесь в том, что вы завершили все настройки сервера!
Начнем с того, что убедимся, что мы закончили все конфигурирование сервера, ведь старт сервера - последний шаг, так что все должно быть готово!


Чтоб запустить серверное приложение MTA:SA DM, дважды щелкните указателем мыши по MTA Server.exe. Убедитесь в том, что брандмауэр или антивирус не ограничивают нормальный доступ  MTA:SA DM к сети. Если все прошло удачно то сервер запущен удачно!
Чтобы запустить сервер, выполните двойной щелчок по MTA Server.exe, убедитесь, что добавили его в исключение фаерволлов и пробросили порты, если это необходимо.


==Установка/обвновление файлов ресурсов на вашем сервере==
==Установка/Обновление ресурсов сервера==
Файлы ресурсов могут быть в двух форматах, либо в формате ZIP или в обычной директории, содержащей файлы сценариев. Серверное приложение MTA:SA DM поддерживает оба формата.
Ресурсы могут быть двух видов, либо в формате ZIP-архива, либо просто обычной папкой со скриптами внутри. MTA:SA сервер поддерживает оба метода.


# Переместите или скопируйте новые ресурсы в директорию <SERVER>\mods\deathmatch\resources.
# Переместите или скопируйте новый ресурс в вашу папку <SERVER>\mods\deathmatch\resources.
# В окне серверного приложения введите команду "refresh" (без выхода из приложения). Это позволит приложению повторно просмотреть директорию с ресурсами и обновить их список при необходимости.
# В окне сервера введите команду [[RU/Server_Commands#refresh|refresh]], эта команда выполнит сканирование папки ресурсов и обновит ресурсы, если требуется.


==Удаление ресурсов==
==Удаление ресурсов==
Ресурсы могут быть легко удалены с вашего сервера, если они вам больше не нужны.
Ресурсы могут запросто удалены с сервера, если более не нужны.


# Удалите ZIP файл или директорию с ресурсами, которые вы хотите удалить
# Удалить ZIP-файл или папку ресурса, если хотите его удалить
# В окне серверного приложения введите команду "refresh" (без выхода из приложения). Это позволит приложению повторно просмотреть директорию с ресурсами и обновить их список при необходимости.
# В окне сервера введите команду "refresh" (без кавычек), эта команда выполнит сканирование папки ресурсов и обновит ресурсы, если требуется.


==Администрирование сервера==
==Администрирование сервера==
Вы можете запустить ресурсы, введя команду "start resourcename" в консоли серверного приложения, или остановить их выполнение введя "stop resourcename".
Вы можете запускать ресурсы, введя команда "start resourcename" в консоли сервера, или останавливать их, введя "stop resourcename".


Также возможно выполнять эти и другие команды администратора в игровой консоле (которую вы можете открыть нажав клавишу ` или F8). Чтобы все это работало, вам сначала необходимо выполнить вход с помощью команды "login username password". Кроме того, вы можете нажать клавишу p для отображения панели администратора - это графический интерфейс, позволяющий вам легко наказать провинившихся игроков.
Также возможно выполнять эти или другие админ-команды из игровой консоли (которую можно вызвать по кнопке ` или F8); чтобы это сработало, для начала нужно залогиниться командой "[[RU/Server_Commands#login|login username password]]". К тому же, вы можете нажать кнопку p (англ.), чтобы вызвать админ-панель: это графический интерфейс, позволяющий с легкостью кикать или банить игроков-нарушителей среди других.


Для получения информации о других командах, введите команду "help" в окне консоли.
Для других команд, введите [[RU/Server_Commands#help|help]] в консоли.


==Запуск игровой карты/режима игры==
==Запуск карты/мода==
Смотрите раздел документации [[Resource:Map manager|mapmanager]] для получения более подробной информации.
Смотрите секцию команд у [[RU/Resource:Map manager|mapmanager]] для дальнейшей информации.
 
==Удаленное администрирование вашим сервером==
В этом разделе предполагается, что вы настроили работу учетной записи с правами пользователя 'Admin', и у вас имеются следующие ресурсы:
# ResourceBrowser
# ResourceManager
# WebAdmin
# WebMap
 
Вы можете получить доступ к этим инструментальным средствам удаленного администрирования, посетив веб-ресурс <nowiki>http://<yourserverip>:<httpport>/resourcebrowser</nowiki> в вашем Firefox.
'''Обратите внимание: Internet Explorer не работает, он не отображает браузер ресурсов, другие веб-браузеры (а именно Opera) будут смешивать результаты'''. Если вы хотите работать в Internet Explorer, то почуствуете неудобство при перекодировании ресурсов:)


==Полезные заметки==
==Полезные заметки==


# Вы также можете обновить ресурсы во время игры, введя команду "refresh" в окне консоли клиентского приложения или команду "/refresh" в окне чата. Это может привести к временным неудобствам, если имеется большое число ресурсов.
# Вы можете также обновлять ресурсы прямо из игры, если у вас есть соответствующие права, введя "refresh" в клиентской консоли или "/refresh" в чате. Это может вызвать секундное подлагивание, если ресурсов много.
# Во всех указаниях, описанных выше под <SERVER> понимался путь к главной директории вашего серверного приложения. В большинстве случаев это C:\Program Files\MTA San Andreas\server
# В инструкциях выше, <SERVER> - путь к главной директории сервер. В большинстве случаев это C:\Program Files\MTA San Andreas\server
# Вы можете выбрать к использованию сервером другой конфигурационный файл, добавив его в командной строке после аргумента --config, напр. mtaserver.exe --config anotherconfig.cfg.
# Не пугайтесь предупреждения об анализе файла settings.xml. Это происходит, когда ваша установка сервера все еще чиста и не была задействована.


====Нужна дополнительная помощь?====
====Нужна помощь?====
Вы можете связаться с командой разработчиков на их [http://forum.mtasa.com/ форумах] или на [irc://irc.multitheftauto.com/mta IRC] каналах (irc.multitheftauto.com #mta - [http://www.mirc.com MIRC])
Почему бы не посетить [http://forum.mtasa.com/ форум] или присоединиться к нам на [https://discord.com/invite/mtasa Discord]


[[de:Server Anleitung]]
[[en:Server Manual]]
[[es:Manual del Servidor]]
[[fr:Manuel Serveur]]
[[hu:Server Manual]]
[[it:Manuale del Server]]
[[it:Manuale del Server]]
[[nl:Server Manual]]
[[pl:Server Manual]]
[[pt-br:Manual do Servidor]]
[[ru:Server Manual]]
[[Category:Поддержка]]

Latest revision as of 17:08, 23 January 2022

Начало

Поднять и поддерживать сервер для своих LAN или интернет-друзей намного легче, чем кажется; просто следуйте этой статье и, надеюсь, вы быстро разберетесь, как хостить свой собственный MTA:SA сервер!

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

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

Linux

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

Если у вас возникли проблемы с ошибками при старте сервера, то некоторые распространенные проблемы и пути их решения изложены здесь:

FreeBSD

Вы можете запустить MTA:SA и на FreeBSD, воспользовавшись 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

Добавление администраторов

Крайне рекомендуется добавить хотя бы одного администратора на сервер, чтобы воспользоваться встроенным веб-сервером для несложной поддержки и настройки сервера. Этот администратор также сможет логиниться прямо из игры и контролировать сервер.

Чтобы добавить администратора, следуйте этим шагам:

  1. Если сервер запущен, добавьте новый аккаунт через ввод команды addaccount name password в окно севрера. Например, чтобы добавить пользователя VasyaPupkin, вам понадобится набрать:
    addaccount VasyaPupkin 123password
    

    Заметка: Если у вас нет доступа к окну сервера, а ресурс 'admin' запущен, вы можете добавить аккаунт-образец через ввод /register VasyaPupkin 123password в чат.

  2. Сервер должен будет отобразить сообщение о том, что аккаунт добавлен.
  3. Затем выключите сервер, введя shutdown в окне сервера.
  4. Удостоверьтесь, что сервер выключен; если он все еще запущен, изменения, которые вы вносите, будут перезаписаны
  5. Откройте файл 'mods/deathmatch/acl.xml' любым текстовым редактором
  6. Добавьте аккаунт в группу 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, который накладывает список ограничений на доступные команды (чтобы не позволять обычным пользователям пользоваться админскими командами).

  7. Это все! Вы можете добавлять столько администраторов и пользователей этим способом столько, сколько захотите, еще посмотрите на другие группы и ACL'ы, например. ACL также доступен через скриптовый движок Lua.
    Рекомендуется взглянуть на веб-интерфейс, как это сделать мы опишем ниже.

Заметка: Для сервера, когда он запущен, есть другие способы добавлять аккаунты и редактировать права. "addaccount <user> <password>" - внутренняя команда для добавления аккаунтов, но вам придется воспользоваться веб-интерфейсом, чтобы добавить эти аккаунты в специфические группы/ACLы!

Использование веб-интерфейса

Выделенный сервер поставляется с некоторыми Lua ресурсами, которые предоставляют хороший простой веб-интерфейс для управления сервером. Это легко может быть использовано для поддержки сервера, так как позволяет вам добавлять пользователей, запускать/останавливать ресурсы и другое.

Ресурсы веб-интерфейса по умолчанию включены и обслуживаются через встроенный HTTP веб-сервер. Чтобы убедиться, что встроенный HTTP веб-сервер запущен на нужном вам порту (22005 по умолчанию), следуйте данной инструкции:

  1. Убедитесь, что сервер выключен
  2. Откройте файл 'mods/deathmatch/mtaserver.conf' любым текстовым редактором
  3. Проверьте, что HTTP сервер включен:
    	<httpserver>1</httpserver>
    
  4. Измените порт HTTP сервера на свое усмотрение:
    	<httpport>22005</httpport>
    
  5. Сохраните изменения и закройте файл конфигурации
  6. Запустите сервер
  7. Если вы меняли список автозапускаемых ресурсов в конфигурационном файле, убедитесь, что следующие ресурсы запущены:
    1. resourcebrowser
    2. resourcemanager
    3. webadmin
    4. webmap
    Они автоматически стартуют согласно стандартному файлу, в случае, если вы только что установили свой сервер.
  8. Откройте веб-браузер (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/.
  9. Введите имя пользователя и пароль администратора, которого вы добавили в предыдущей секции.


Теперь вы способны управлять своим сервером через веб-интерфейс.

Настройка внешнего веб-сервера

Встроенный веб-сервер также используется для обслуживания файлов ресурсов, запущенных на вашем сервере, и нужен всем подключенным к серверу игрокам. Например, если запущен игровой скрипт с графическим пользовательским интерфейсом или специфическими моделями, они должны быть переданы каждому вновь подключающемуся игроку для правильного функционирования. Это выполняется либо встроенным веб-сервером, либо внешним веб-сервером (который, как правило, чуть быстрее), его нужно настраивать отдельно.

Из-за быстродействия или по ряду причин, вы можете решить создать внешний веб сервер, если такая возможность есть. Внешний веб сервер должен быть публично доступен, чтобы любой игрок мог скачать необходимые для подключения и игры на вашем сервере клиентские файлы.

Чтобы включить скачивание с внешнего веб-сервера, вам следует настроить тег 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 сервер поддерживает оба метода.

  1. Переместите или скопируйте новый ресурс в вашу папку <SERVER>\mods\deathmatch\resources.
  2. В окне сервера введите команду refresh, эта команда выполнит сканирование папки ресурсов и обновит ресурсы, если требуется.

Удаление ресурсов

Ресурсы могут запросто удалены с сервера, если более не нужны.

  1. Удалить ZIP-файл или папку ресурса, если хотите его удалить
  2. В окне сервера введите команду "refresh" (без кавычек), эта команда выполнит сканирование папки ресурсов и обновит ресурсы, если требуется.

Администрирование сервера

Вы можете запускать ресурсы, введя команда "start resourcename" в консоли сервера, или останавливать их, введя "stop resourcename".

Также возможно выполнять эти или другие админ-команды из игровой консоли (которую можно вызвать по кнопке ` или F8); чтобы это сработало, для начала нужно залогиниться командой "login username password". К тому же, вы можете нажать кнопку p (англ.), чтобы вызвать админ-панель: это графический интерфейс, позволяющий с легкостью кикать или банить игроков-нарушителей среди других.

Для других команд, введите help в консоли.

Запуск карты/мода

Смотрите секцию команд у mapmanager для дальнейшей информации.

Полезные заметки

  1. Вы можете также обновлять ресурсы прямо из игры, если у вас есть соответствующие права, введя "refresh" в клиентской консоли или "/refresh" в чате. Это может вызвать секундное подлагивание, если ресурсов много.
  2. В инструкциях выше, <SERVER> - путь к главной директории сервер. В большинстве случаев это C:\Program Files\MTA San Andreas\server
  3. Вы можете выбрать к использованию сервером другой конфигурационный файл, добавив его в командной строке после аргумента --config, напр. mtaserver.exe --config anotherconfig.cfg.
  4. Не пугайтесь предупреждения об анализе файла settings.xml. Это происходит, когда ваша установка сервера все еще чиста и не была задействована.

Нужна помощь?

Почему бы не посетить форум или присоединиться к нам на Discord