RU/Server Manual: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (replaced IRC with Discord)
 
(36 intermediate revisions by 14 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE:Руководство по серверу}}
__TOC__
__TOC__


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


==Установка сервера==
==Установка сервера==
The dedicated server application is available in different flavours depending on the platform of the server.
Приложение для выделенного сервера доступно в разных редакциях, зависящих от платформы севрера.


===Установка сервера под Linux===
===Linux===
I installed the server on ubuntu 6.05 LTS. I will add installation instructions for other linux distros at a later time.
Есть несколько путей поднять и запустить сервер на Linux:
This install was done on a fresh os install so a few things have to be installed first.
* [http://linux.mtasa.com Прекомпилированный пакет]
First of all ssh into your server using whatever client you like. I prefer putty.
* [[RU/Building MTASA Server on GNU Linux|Сборка сервера MTASA на GNU/Linux]]
Start by typing  '''sudo apt-get upgrade''' It will prompt you to put your password in again. After the upgrade is done running type
'''sudo apt-get install pico''' this will install the easy to use pico text editor that you will use to edit the config files.
After the install is done running you need to get a copy of libcurl3 for the server to run so type '''sudo apt-get install libcurl3'''
Once again it will ask you for your password. Once this is done now we have to get the server program onto your Linux server. There are a few methods for doing this. you can install a ftp server. you can use putty file transfer. If you know someone with a website you can ask them to put the file on their website then use '''wget http://wwww.websitename.com/file.tar''' Obviously where website name is change to your friends website. Either way once you have the tar file on your server you need to unpack it you do this by using the command '''tar -zxvf filename.tar'''


===Установка сервера под Windows===
Если у вас возникли проблемы с ошибками при старте сервера, то некоторые распространенные проблемы и пути их решения изложены здесь:
Установка MTA:SA DM сервера в Windows легче.
* [[RU/Building MTASA Server on GNU Linux#Поиск и устранение неисправностей]]
*Перейдите на [http://mtasa.com/dp.html страницу загрузки] и прокрутите ниже до "Dedicated servers" секции.
 
*Нажмите на Windows ссылку.
===FreeBSD===
*После загрузки запустите клиент.
 
*Выберете папку где вы хотите установить сервер.
Вы можете запустить MTA:SA и на FreeBSD, воспользовавшись Linux-эмуляцией.
* Включите [http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/linuxemu-lbc-install.html двоичную (бинарную) совместимость с Linux].
* Установите следующие пакеты или скомпилируйте их из портов: hs-terminfo, linux_base-f10, linux-f10-sqlite3
* Установите [http://linux.mtasa.com/ прекомпилированный пакет для Linux]
 
===Windows===
Установка сервера MTA:SA на Windows очень проста.
*Перейдите на [http://mtasa.com/ страницу закачки] и скачайте установщик.
*Когда установщик закачан, запустите его.
*Выберите папку, куда вы хотели бы установить сервер.
*Нажмите Install.
*Нажмите Install.
*Это все, установка завершена!
*Все!
 
''Для полной инструкции по acl.xml (access control list - лист контроля над правами) читайте: [[RU/Access_Control_List|Access Control List]]''<br/><br/>


==Настройка сервера==
==Настройка сервера==
Begin by opening the ''''mtaserver.conf'''' file, which is located in the <SERVER>/mods/deathmatch directory in a text editor, for example Windows Notepad.
Выделенный сервер 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/>


This file is fairly straightforward; every variable has a description of what to do with it and how to change it.
Если вы хотите задать минимальную версию клиента, найдите следующую строку:
<syntaxhighlight lang="xml">
<minclientversion></minclientversion>
</syntaxhighlight>
Правильные значения выглядят наподобие: 1.1.1-9.02320


===Добавление администраторов===
===Добавление администраторов===
''For a full explanation of acl.xml (access control list) read: [[Access_Control_List|Access Control List]]''<br/><br/>
Крайне рекомендуется добавить хотя бы одного администратора на сервер, чтобы воспользоваться встроенным веб-сервером для несложной поддержки и настройки сервера. Этот администратор также сможет логиниться прямо из игры и контролировать сервер.
To add admins to your sever follow these steps:<br>
 
Чтобы добавить администратора, следуйте этим шагам:<br>
<ol>
<ol>
<li>Browse to your servers 'deathmatch' folder and open Accounts.xml</li>
<li>Если сервер запущен, добавьте новый аккаунт через ввод команды '''[[RU/Server_Commands#addaccount|addaccount name password]]''' в окно севрера. Например, чтобы добавить пользователя VasyaPupkin, вам понадобится набрать:
<li>Add a new account into the file with the syntax below
<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 syntax''''
<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>Save and close the file</li>
 
<li>Open acl.xml</li>
Вообще, можно добавлять пользователей в какие угодно группы. Каждая из групп связана с ACL ([[RU/Access Control List|Access Control List]]). Каждый ACL содержит специфический список разрешенных и запрещенных прав. Группы существуют для того, чтобы разным пользователям могли соответствовать разные права. Группа ''Admin'' связана с ''Admin''ским ACL, который пуст (стало быть, разрешены все права). Группа ''Everyone'' связана с ''Default''ным ACL, который накладывает список ограничений на доступные команды (чтобы не позволять обычным пользователям пользоваться админскими командами).
<li>Select the rights of the admin, either Moderator, SuperModerator or Admin</li>
</li>
<li>Within the group you have selected add the account you have created above with the syntax below
<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>
You will finish with something like this:
<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>
You're done! You can add as many admins as you want this way, just keep creating accounts under eachother and the same with the ACL rights.<br>
<li>Введите имя пользователя и пароль администратора, которого вы добавили в предыдущей секции.</li>
</li>
</ol>
</ol>
'''Note''': Changing these files requires a restart of the server<br />
'''Note 2''': There are also ways to add accounts and edit rights for the server while it's running. "addaccount <user> <password>" is an internal command to add accounts, through the web interface you can manage ACL rights while it's running. (This option may be a better option for you if the first does not work)


=== Configuring an external web server ===
<br />
For performance or consistency reasons, you could choose to make use of an external web server already set up and running, instead of the built-in web server. The external web server needs to be accessible for the public, so any client will be able to download the necessary client-side files in order to join and play on your server.
Теперь вы способны управлять своим сервером через веб-интерфейс.
 
=== Настройка внешнего веб-сервера ===
Встроенный веб-сервер также используется для обслуживания файлов ресурсов, запущенных на вашем сервере, и нужен всем подключенным к серверу игрокам. Например, если запущен игровой скрипт с графическим пользовательским интерфейсом или специфическими моделями, они должны быть переданы каждому вновь подключающемуся игроку для правильного функционирования. Это выполняется либо встроенным веб-сервером, либо внешним веб-сервером (который, как правило, чуть быстрее), его нужно настраивать отдельно.
 
Из-за быстродействия или по ряду причин, вы можете решить создать внешний веб сервер, если такая возможность есть. Внешний веб сервер должен быть публично доступен, чтобы любой игрок мог скачать необходимые для подключения и игры на вашем сервере клиентские файлы.


To enable downloading off an external web server, you should configure the ''httpdownload'' and ''httpdownloadurl'' tags in your server configuration:
Чтобы включить скачивание с внешнего веб-сервера, вам следует настроить тег [[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>


Since all the default resources provided with the dedicated server are zipped, and are normally automatically extracted by the built-in web server, you now have to provide a way for the clients to download the unextracted files to their computers. The unextracted files are always available in the '''<SERVER>/mods/deathmatch/resourcecache''' directory.
С тех пор, как все стандартные ресурсы, поставляемые с выделенным сервером, упакованы в zip-архивы, и обычно автоматически распаковываются благодаря встроенному веб серверу, теперь вам понадобится предоставить клиентам возможность закачивать себе сжатые файлы. Чтобы настроить MTA на поддержание копии только распакованных клиентских ресурсов, установите [[RU/Server_mtaserver.conf#httpautoclientfiles|httpautoclientfiles]] в конфигурации вашего сервера:


<ol>
<div style="padding: 10px">
<li>Launch the dedicated server once and exit again. This will extract the zip files into the '''<SERVER>/mods/deathmatch/resourcecache''' directory.</li>
<syntaxhighlight lang="xml"><httpautoclientfiles>1</httpautoclientfiles>
<li>Go into the directory above and copy the resources to your external web server's public directory, this can be done in several ways:
</syntaxhighlight></div>
<ul>
 
<li>If you don't care about your '''server-side files being publically available''': create a symbolic link (Linux), a junction (Windows) or just plain copy the contents of the '''resourcecache''' directory to your public web server directory.</li>
Теперь, когда вы запускаете сервер, папка '''<SERVER>/mods/deathmatch/resource-cache/http-client-files''' будет содержать действительные клиентские файлы для хостинга на внешнем веб-сервере. Если веб сервер расположен на том же компьютере, что и сервер, вы можете просто связать директорию надлежащего веб-сервера с '''http-client-files'''. Если веб-сервер расположен на отдельном компьютере, убедитесь, что у него есть доступ к '''http-client-files''' по сети, или поддерживайте удаленную копию с помощью синхронизационного ПО.
<li>If you don't want your server files to be publically available through your web server: go into the '''resourcecache''' directory and manually copy the folders over to your public web server directory, removing any server-side files (they are '''not''' necessary for the client-side downloading) you do not want to be hosting on your web server.<br />
<br />
A quick way of securing your server-side files is currently not available. We will investigate into developing a tool that automatically copies only the necessary client-side files for all resources on your server.
</ul>
</li>
</ol>


'''Note''': Please try to avoid any special characters (e.g. ~, !) in your download URLs.<br />
'''Заметка 1''': Пожалуйста, избегайте спецсимволов (напр. ~, !) в ваших URL закачки.<br />
'''Note 2''': Please do not use a trailing slash in your download URL (e.g. ''hxxp://www.myserver.tld/directory'' rather than ''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>


==Starting your server==
==Запуск сервера==
Begin by making sure that you have finished all configuration of your server, starting your server is the last stage so everything must be ready!
Начнем с того, что убедимся, что мы закончили все конфигурирование сервера, ведь старт сервера - последний шаг, так что все должно быть готово!


To start your server double click on MTA Server.exe, make sure you allow it through any firewalls and forward ports where nessessary.
Чтобы запустить сервер, выполните двойной щелчок по MTA Server.exe, убедитесь, что добавили его в исключение фаерволлов и пробросили порты, если это необходимо.


==Установка/Обвновление resources на вашем сервере==
==Установка/Обновление ресурсов сервера==
Resources can come in two formats, either a ZIP format or just a normal folder with the script files inside it. The MTA:SA DM server supports both these methods.
Ресурсы могут быть двух видов, либо в формате ZIP-архива, либо просто обычной папкой со скриптами внутри. MTA:SA сервер поддерживает оба метода.


# Move or copy the new resource to your <SERVER>\mods\deathmatch\resources folder.
# Переместите или скопируйте новый ресурс в вашу папку <SERVER>\mods\deathmatch\resources.
# In the server window type in the command "refresh" (without the quotes), this will re-scan the resources folder and update the live resources where necessary.
# В окне сервера введите команду [[RU/Server_Commands#refresh|refresh]], эта команда выполнит сканирование папки ресурсов и обновит ресурсы, если требуется.


==Удаление resources==
==Удаление ресурсов==
Resources can easily be removed from your server if you no longer want them.
Ресурсы могут запросто удалены с сервера, если более не нужны.


# Delete the ZIP file or the folder of the resource you wish to uninstall
# Удалить ZIP-файл или папку ресурса, если хотите его удалить
# In the server window type in the command "refresh" (without the quotes), this will re-scan the resources folder and update the live resources where necessary.
# В окне сервера введите команду "refresh" (без кавычек), эта команда выполнит сканирование папки ресурсов и обновит ресурсы, если требуется.


==Администрирование сервера==
==Администрирование сервера==
You can start resources by typing the command "start resourcename" in the server console, or stop ones with "stop resourcename".
Вы можете запускать ресурсы, введя команда "start resourcename" в консоли сервера, или останавливать их, введя "stop resourcename".


It's also possible to execute these and other admin commands from the ingame console (which you can bring up with the ` key or F8); for this to work, you first need to log in with the command "login username password". Additionally, you can press the p key to bring up the admin panel: this is a graphical interface which allows you to easily kick or ban misbehaving players, among others.
Также возможно выполнять эти или другие админ-команды из игровой консоли (которую можно вызвать по кнопке ` или F8); чтобы это сработало, для начала нужно залогиниться командой "[[RU/Server_Commands#login|login username password]]". К тому же, вы можете нажать кнопку p (англ.), чтобы вызвать админ-панель: это графический интерфейс, позволяющий с легкостью кикать или банить игроков-нарушителей среди других.


For further commands, type "help" in a console.
Для других команд, введите [[RU/Server_Commands#help|help]] в консоли.


==Starting a map/gamemode==
==Запуск карты/мода==
See the commands section of the documentation for [[Resource:Map manager|mapmanager]] for more information.
Смотрите секцию команд у [[RU/Resource:Map manager|mapmanager]] для дальнейшей информации.


==Remotely administrating your server==
==Полезные заметки==
This article assumes you have setup a working account with 'Admin' user rights, and have these resources started:
# ResourceBrowser
# ResourceManager
# WebAdmin
# WebMap


You're able to access these great remote admin tools by visiting <nowiki>http://<yourserverip>:<httpport>/resourcebrowser</nowiki> in your Firefox.
# Вы можете также обновлять ресурсы прямо из игры, если у вас есть соответствующие права, введя "refresh" в клиентской консоли или "/refresh" в чате. Это может вызвать секундное подлагивание, если ресурсов много.
'''NOTE: Internet Explorer will NOT work, it will not display the resource browser, other browsers (Opera namely) will have mixed results'''. If you want it to work in Internet Explorer, feel free to recode the resource :)
# В инструкциях выше, <SERVER> - путь к главной директории сервер. В большинстве случаев это C:\Program Files\MTA San Andreas\server
# Вы можете выбрать к использованию сервером другой конфигурационный файл, добавив его в командной строке после аргумента --config, напр. mtaserver.exe --config anotherconfig.cfg.
# Не пугайтесь предупреждения об анализе файла settings.xml. Это происходит, когда ваша установка сервера все еще чиста и не была задействована.


==Useful Notes==
====Нужна помощь?====
Почему бы не посетить [http://forum.mtasa.com/ форум] или присоединиться к нам на [https://discord.com/invite/mtasa Discord]


# You may also update the resources while ingame as long as you have the correct access levels by typing "refresh" in the clients console or "/refresh" in the chat window. This may cause a second of lag if you have many resources.
[[de:Server Anleitung]]
# In the above instructions, <SERVER> is the path to your server's main directory. In most cases this is C:\Program Files\MTA San Andreas\server
[[en:Server Manual]]
[[es:Manual del Servidor]]
[[fr:Manuel Serveur]]
[[hu:Server Manual]]
[[it:Manuale del Server]]
[[nl:Server Manual]]
[[pl:Server Manual]]
[[pt-br:Manual do Servidor]]
[[ru:Server Manual]]


====Need further help?====
[[Category:Поддержка]]
Why not pop over to our [http://forum.mtasa.com/ Forums] or join us on [irc://irc.multitheftauto.com/mta IRC] (irc.multitheftauto.com #mta - [http://www.mirc.com MIRC])

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