# Руководство Сервера # Окружение На сервер влияет состояние различных внешних параметров: - Папка «Ресурсы» - ENV (переменные среды) - Аргументы командной строки - Файл ServerConfig.toml - Рабочий каталог ## Папка Ресурсов Папка ресурсов создается при запуске сервера вместе с подкаталогами "Client" и "Server". Подкаталог "Server" принимает папки внутри себя, каждая из которых содержит как минимум один файл `.lua`. Каждая из этих папок в подкаталоге "Server" называется «плагином». Файлы `.lua`, содержащиеся в каталоге корневом каталоге плагина, перезагружаются на ходу при изменении. Подкаталог "Client" принимает *только* файлы `.zip`, которые загружаются при запуске сервера и, как предполагается, не изменяются во время выполнения. ## ОКРУЖАЮЩАЯ СРЕДА ### Общие Настройки Начиная с версии Server v3.2.0, сервер BeamMP принимает переменные среды, которые **переопределяют** настройки в ServerConfig.toml. Все переменные ServerConfig, которые существуют в категории/разделе "General", имеют PascalCase, переменные среды имеют ALL_CAPS и префикс `BEAMMP_`. Например, настройка `MaxPlayers`, преобразованная в ALL_CAPS, имеет вид `MAX_PLAYERS` (обратите внимание на `_`, где начинается новое слово), а с префиксом она становится `BEAMMP_MAX_PLAYERS`. Это формат, который используется для всех настроек "General". Существуют следующие переменные ENV: - `BEAMMP_DEBUG` - `BEAMMP_PRIVATE` - `BEAMMP_PORT` - `BEAMMP_MAX_CARS` - `BEAMMP_MAX_PLAYERS` - `BEAMMP_MAP` - `BEAMMP_NAME` - `BEAMMP_DESCRIPTION` - `BEAMMP_TAGS` - `BEAMMP_RESOURCE_FOLDER` - `BEAMMP_AUTH_KEY` - `BEAMMP_LOG_CHAT` Любые переменные среды, соответствующие параметрам конфигурации, которые являются строками или числами, должны быть строками, например `BEAMMP_NAME="Cool Server"`, `BEAMMP_NAME=Server1`, `BEAMMP_PORT=12345`. Переменные среды, соответствующие параметрам конфигурации, которые являются логическими значениями (true/false, on/off), должны быть либо `true`, либо `1` (оба означают ON), либо любым другим значением (означающим OFF). ### Настройки Провайдера Эти переменные среды позволяют хостинг-провайдерам (и другим пользователям с большим количеством серверов), далее именуемым «провайдерами», перезаписывать определенные настройки, специфичные для провайдера. #### `BEAMMP_PROVIDER_PORT_ENV` (начиная с версии 3.3.0) Если задана непустая строка, это заменяет переменную `BEAMMP_PORT` на другую, чтобы прочитать переменную из существующего ENV. Например, Pterodactyl может выставлять `SERVER_PORT` как ENV. Чтобы использовать его с BeamMP-Server, вам придется сделать `BEAMMP_PORT=${SERVER_PORT}`, что немного глупо. Вместо этого теперь можно использовать `BEAMMP_PROVIDER_PORT_ENV="SERVER_PORT"`, что заставит BeamMP-Server прочитать порт из переменной ENV `SERVER_PORT`. #### `BEAMMP_PROVIDER_DISABLE_CONFIG` (начиная с версии 3.3.0) Если установлено значение `1` или `true`, `ServerConfig.toml` **не создаётся** и **не считывается**, даже если существует. Для работы сервера необходимо установить `BEAMMP_AUTH_KEY`. #### `BEAMMP_PROVIDER_UPDATE_MESSAGE` (начиная с версии 3.2.2) Если задано непустое значение, это заменяет все сообщение об обновлении, которое по умолчанию выглядит как "НОВАЯ ВЕРСИЯ ВЫШЛА! Пожалуйста, обновитесь до новой версии..." и т. д. **ОБЯЗАТЕЛЬНО**, чтобы предоставленное вами сообщение об обновлении содержало `{}` где-то, что сервер заменит на новый номер версии. Например, ваше сообщение об обновлении может выглядеть так: ```sh BEAMMP_PROVIDER_UPDATE_MESSAGE="NEW VERSION of the BeamMP-Server has been released: {}! Please follow the update guide here: https://example.com/update-guide" ``` Что приведет к появлению сообщения об обновлении, например: ``` NEW VERSION of the BeamMP-Server has been released: v5.0.2! Please follow the update guide here: https://example.com/update-guide ``` Пожалуйста, постарайтесь четко разъяснить пользователям необходимость обновления и объясните, как это сделать. ## Аргументы командной строки Запустите BeamMP Server с аргументом `--help` , чтобы узнать больше. Например: `./BeamMP-Server --help` . ## ServerConfig.toml Этот файл генерируется при первом запуске. Комментарии внутри файла — самый современный способ понять, что делает каждая настройка. ## Рабочий каталог Решающим фактором при определении места создания ServerConfig.toml, файлов журналов сервера и папки Resources является рабочий каталог сервера, а не местоположение исполняемого файла сервера. # Ограничения В Бэкэнде BeamMP действуют следующие ограничения, которые влияют на Серверы: - Имя ограничено 250 символами - Описание ограничено 1000 символами - Карта ограничена 100 символами - Теги ограничены 100 символами