More work!!!

This commit is contained in:
Starystars67
2026-06-27 00:49:53 +01:00
parent 97a7aaf643
commit c115bc9a42
302 changed files with 28263 additions and 10 deletions
+43
View File
@@ -0,0 +1,43 @@
# Участие в разработке BeamMP Docs
BeamMP использует [Material for MkDocs](https://squidfunk.github.io/mkdocs-material) в качестве своей темы. Это тема для [MkDocs](https://www.mkdocs.org). Полную документацию можно найти на их соответствующих сайтах.
## Начало работы
Чтобы внести свой вклад в эти документы, вы можете воспользоваться одним из двух подходов, изложенных ниже:
### 1. Редактировать необработанные файлы разметки
Редактирование необработанных файлов markdown — самый быстрый подход, который лучше всего подходит для быстрых правок, таких как орфография, грамматика или новые фрагменты контента. Однако этот подход требует предварительного знания markdown, поскольку вам нужно будет понимать, что даст ваш вклад.
Если вы предпочитаете именно этот подход, выполните следующие действия:
1. Нажмите «Изменить» на странице, которую вы хотите отредактировать.
2. Создайте форк проекта в своей учетной записи GitHub.
3. Внесите необходимые изменения.
4. Сохраните изменения в своем форке.
5. Подайте запрос на включение изменений в наш репозиторий [здесь](https://github.com/BeamMP/Docs).
После того, как вы создали свой pull request, один из руководителей BeamMP Mod Team рассмотрит ваш pull request и либо одобрит его, либо запросит некоторые изменения. Если изменения были запрошены и вы их выполнили, мы повторно рассмотрим ваш pull request. Затем ваши изменения будут объединены в репозиторий и автоматически развернуты в рамках нашей непрерывной интеграции.
### 2. Вносите изменения с предварительным просмотром в реальном времени
Редактирование наших документов таким способом по-прежнему будет осуществляться по тому же принципу, что и в варианте 1, однако вы сможете предварительно просмотреть свои изменения.
1. Нажмите «Изменить» на странице, которую вы хотите отредактировать.
2. Создайте форк проекта в своей учетной записи GitHub.
3. Клонируйте проект локально.
4. Настройка материалов для MkDocs в соответствии с их руководством [здесь](https://squidfunk.github.io/mkdocs-material/getting-started/).
5. Запустите `mkdocs serve`, чтобы запустить сервер документации с функцией перезагрузки в реальном времени, на который вы клонировали форк.
6. Внесите изменения, которые считаете нужными.
7. Сохраните изменения в своем форке.
8. Подайте запрос на включение изменений в наш репозиторий [здесь](https://github.com/BeamMP/Docs).
## Макет проекта
```
mkdocs.yml # The configuration file.
docs/
index.md # The documentation homepage.
... # Other markdown pages, images and other files.
```
@@ -0,0 +1,45 @@
::: warning "Этот сайт находится в стадии разработки!"
```
This site is being actively worked on.
Feel you could help? Please do by clicking on the page with a pencil on the right!
This can be done any page too.
```
# Справочник по Модам/Внутриигровым Скриптам
BeamMP также позволяет вам создавать собственные плагины на стороне клиента. Мы предоставили несколько функций, которые вы можете использовать для связи с другими многопользовательскими модами и другими игроками через сервер.
# Функции
Список доступных функций для написания скриптов:
Функция | Примечания
--- | ---
`TriggerServerEvent("eventName", "data")` | Запускает событие в серверной среде lua, оба параметра являются строками.
`TriggerClientEvent("eventName", "data")` | Запускает событие в локальной среде lua, оба параметра — строки. Хорошо подходит для связи между плагинами.
`AddEventHandler("eventName", Function)` | Добавляет 2-й параметр в таблицу, который будет вызываться при получении `eventName` (локально или с сервера). `Function` получит 1 параметр — строку, содержащую данные события.
# Фрагменты кода
Например, для анализа чата используйте включенное событие `ChatMessageIncluded` следующим образом:
```lua
local function chatReceived(msg) -- Receive event with parameters
print("chat received: "..msg)
local i = string.find(s, ":") -- Find where our first ':' is, used to separate the sender and message
if i == nil then
print("error parsing message: separator could not be found!")
return -- Could not find separator, cancel function
end
print("index of separator: "..tostring(i))
local sender = string.sub(msg, 1, i-1) -- Substring our input to separate its 2 parts
local message = string.sub(msg, i+1, -1) -- Do whatever you want to with the message
print("sender: " .. sender)
print("message: ".. message)
end
AddEventHandler("ChatMessageReceived", chatReceived) -- Add our event handler to the list managed by BeamMP
```
@@ -0,0 +1,45 @@
::: warning "Этот сайт находится в стадии разработки!"
```
This site is being actively worked on.
Feel you could help? Please do by clicking on the page with a pencil on the right!
This can be done any page too.
```
# Справочник по Модам/Внутриигровым Скриптам
BeamMP также позволяет вам создавать собственные плагины на стороне клиента. Мы предоставили несколько функций, которые вы можете использовать для связи с другими многопользовательскими модами и другими игроками через сервер.
# Функции
Список доступных функций для написания скриптов:
Функция | Примечания
--- | ---
`TriggerServerEvent("eventName", "data")` | Запускает событие в серверной среде lua, оба параметра являются строками.
`TriggerClientEvent("eventName", "data")` | Запускает событие в локальной среде lua, оба параметра — строки. Хорошо подходит для связи между плагинами.
`AddEventHandler("eventName", Function)` | Добавляет 2-й параметр в таблицу, который будет вызываться при получении `eventName` (локально или с сервера). `Function` получит 1 параметр — строку, содержащую данные события.
# Фрагменты кода
Например, для анализа чата используйте включенное событие `ChatMessageIncluded` следующим образом:
```lua
local function chatReceived(msg) -- Receive event with parameters
print("chat received: "..msg)
local i = string.find(s, ":") -- Find where our first ':' is, used to separate the sender and message
if i == nil then
print("error parsing message: separator could not be found!")
return -- Could not find separator, cancel function
end
print("index of separator: "..tostring(i))
local sender = string.sub(msg, 1, i-1) -- Substring our input to separate its 2 parts
local message = string.sub(msg, i+1, -1) -- Do whatever you want to with the message
print("sender: " .. sender)
print("message: ".. message)
end
AddEventHandler("ChatMessageReceived", chatReceived) -- Add our event handler to the list managed by BeamMP
```
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,384 @@
::: warning "Этот сайт находится в стадии разработки!"
```
This site is being actively worked on.
Feel you could help? Please do by clicking on the page with a pencil on the right!
This can be done any page too.
```
# Справочник по Серверным Скриптам
## Версия сервера 2.X
::: предупреждение
```
BeamMP server version 2.X is now unsupported. This documentation is provided as a reference only.
Please update to the latest version for maintenance and support.
```
---
> Это скрипт 2.x. Обращайтесь к нему только если ваш сервер старый/устаревший (версия 2.xx). Для получения последней документации см. [здесь](https://docs.beammp.com/scripting/server/latest-server-reference). {.is-warning}
### Примечания
Чтобы получить вывод функции в консоли сервера, вам нужно обернуть его в оператор `print()`. Например: `print(GetPlayerName(0))` вернет имя первого игрока вашего сервера.
`<PlayersServerID>` начинается с 0.
### Список доступных функций для написания скриптов
#### GetPlayerName(playersServerID)
Возвращает имя игрока в Discord в виде строки
```lua
function onPlayerJoin(playerID)
local name = GetPlayerName(playerID)
-- Do something
end
```
#### GetPlayerDiscordID(playersServerID)
Возвращает имя игрока в Discord в виде строки
```lua
function onPlayerJoin(playerID)
local name = GetPlayerDiscordID(playerID)
-- Do something
end
```
#### GetPlayerHWID(playersServerID)
Возвращает идентификатор игрока в Discord в виде строки
```lua
function onPlayerJoin(playerID)
local name = GetPlayerHWID(playerID)
-- Do something
end
```
#### GetPlayerVehicles(playersServerID)
Возвращает транспортные средства игрока в виде объекта/массива.
```lua
function onChatMessage(playerID, senderName, message)
local vehicleList = GetPlayerVehicles(playerID)
for vehicleID, vehicleData in pairs(vehicleList) do
-- Do something
-- Could also be used to check how many vehicles a player have
end
end
```
#### DropPlayer(playersServerID)
Сбрасывает соединение для определенного игрока. По сути выгоняет его
```lua
function onVehicleSpawn(playerID, vehicleID, vehicleData)
-- Do something
DropPlayer(playerID)
end
```
#### SendChatMessage(playersServerID, сообщение)
Отправляет сообщение по сети указанному пользователю. Используйте -1 для всех
```lua
function onPlayerJoin(playerID)
SendChatMessage(-1, "Someone just joined!")
end
```
#### CancelEvent() -- УСТАРЕЛО
Отменяет событие. Это может произойти скоро. Используйте `return 1` чтобы отменить событие.
#### onInit()
Если объявлено в файле lua, оно будет вызвано после того, как C++ успешно завершит загрузку текущего файла lua.
```lua
function onInit()
print("Server ready")
end
```
#### exit()
Закроет сервер
```lua
function onInit()
print("Server Ready. But who needs a server which is running")
exit() -- Stops the server
end
```
#### CreateThread(functionName, callInterval)
Функция будет выполняться в выделенном потоке, и она будет запускать callInterval раз в секунду. 1 = Она будет запускаться каждую секунду.
```lua
function yourFunction()
for i = 1,10 do
SendChatMessage(-1, "Countdown: "..i)
Sleep(1000)
end
end
CreateThread("yourFunction", 30)
```
УСТАРЕВШИЙ ПРИМЕР Функция будет выполняться в выделенном потоке
```lua
function yourFunction()
for i = 1,10 do
SendChatMessage(-1, "Countdown: "..i)
Sleep(1000)
end
end
CreateThread("yourFunction", 30)
```
#### StopThread(functionName)
Прекратит попытки вызвать функцию потока текущего скрипта.
```lua
function yourFunction()
delayExpired = false
Sleep(10000)
delayExpired = true
end
CreateThread("yourFunction", 30)
-- Do something
if not delayExpired then
StopThread("yourFunction")
else
-- Do something
end
```
#### Sleep(миллисек) - УСТАРЕЛО
Приостановит выполнение на указанное время (предупреждение: это приведет к приостановке всего сервера, если вы не создали поток)
```lua
function countdown()
for i = 1,10 do
SendChatMessage(-1, "Countdown: "..i)
Sleep(1000)
end
end
CreateThread("countdown", 10)
```
#### GetPlayerCount()
Вернет количество подключенных игроков
```lua
function onPlayerJoin(playerID)
SendChatMessage(playerID, "You are the "..GetPlayerCount().."th player!"
end
```
#### RemoveVehicle(playerServerID, VehicleID)
Деспавнит транспортное средство
```lua
function onVehicleSpawn(playerID, vehicleID, vehicleData)
if --[[ Vehicle data equal something it shouldn't be ]] then
RemoveVehicle(playerID, vehicleIID)
end
end
```
#### GetPlayers()
Вернет таблицу идентификаторов с именами
```lua
local function onPlayerJoin(joinedPlayerID)
local players = GetPlayers()
for playerID, playerName in pairs(players) do
if playerID == joinedPlayerID then
-- Do something
end
end
end
```
#### RegisterEvent(eventName, functionName)
Зарегистрирует эту функцию в указанном событии. Оба варианта должны быть строками
```lua
function anyEvent()
-- Do something
end
RegisterEvent("onAnyEventHappen", "anyEvent")
-- Do something
TriggerLocalEvent("onAnyEventHappen")
```
#### TriggerLocalEvent(eventName)
Будет вызывать каждую зарегистрированную функцию в той же папке плагина.
```lua
function anyEvent()
-- Do something
end
RegisterEvent("onAnyEventHappen", "anyEvent")
-- Do something
TriggerLocalEvent("onAnyEventHappen")
```
#### TriggerGlobalEvent(eventName)
Будет вызывать каждую зарегистрированную функцию с этим именем события.
```lua
-- File A
function anyEvent()
-- Do something
end
RegisterEvent("onAnyEventHappen", "anyEvent")
```
```lua
-- File B
TriggerGlobalEvent("onAnyEventHappen")
```
#### TriggerClientEvent(playerServerID, eventName, data)
Вызовет это событие с указанными данными на указанном клиенте (-1 для широковещательной передачи)
```lua
function onPlayerJoin(playerServerID)
TriggerClientEvent(playerServerID, "anyEvent", "You just joined the server")
end
RegisterEvent("onAnyEventHappen", "anyEvent")
```
#### Set(configID, newValue)
установит настройку конфигурации на новое указанное значение из таблицы ниже|
```lua
function onChatMessage(playerID, senderName, message)
if playerID == adminPlayer then
if message == --[[ anything ]] then
Set(3, 10)
end
end
end
```
#### Список доступных настроек конфигурации для команды `Set()`
> Обратите внимание, что они не будут сохранены в файле конфигурации.
Идентификатор конфигурации | Имя | Примет только
--- | --- | ---
`0` | Настройка отладки | правда или ложь
`1` | Настройка приватности | правда или ложь
`2` | Макс. количество автомобилей на игрока | число
`3` | Макс. количество игроков | число
`4` | Карта | нить
`5` | Имя | нить
`6` | Описание | нить
любой другой идентификатор приведет к появлению предупреждения на консоли | |
### Список доступных событий для написания сценариев
#### События по Умолчанию
Пример использования события:
```lua
function onInit()
RegisterEvent("onPlayerJoin", "onPlayerJoin")
end
function onPlayerJoin(playerServerID)
-- Do something
end
```
Если вы не хотите, чтобы на вашем сервере были гости:
```lua
function onInit()
print("noGuests Ready")
RegisterEvent("onPlayerAuth","onPlayerAuth")
end
function onPlayerAuth(name, role, isGuest)
if isGuest then
return "You must be signed in to join this server!"
end
end
```
Событие | Параметры | Описание
--- | --- | ---
`onPlayerAuth` | Имя игрока, роль на форуме, гостевая учетная запись (bool) | Игрок прошел аутентификацию и запрашивает присоединение
`onPlayerConnecting` | Идентификатор игрока | Игрок загружается (до загрузки карты)
`onPlayerJoining` | Идентификатор игрока | Игрок загружает карту и скоро присоединится
`onPlayerJoin` | Идентификатор игрока | Игрок присоединился и загрузился
`onPlayerDisconnect` | Идентификатор игрока | Игрок отключился
`onChatMessage` | Идентификатор отправителя, имя и сообщение чата | Сообщение чата было отправлено. Это было бы хорошо для создания системы команд
`onVehicleSpawn` | Идентификатор игрока, идентификатор транспортного средства и данные транспортного средства | Это вызывается, когда кто-то создает транспортное средство
`onVehicleEdited` | Идентификатор игрока, идентификатор транспортного средства и данные транспортного средства | Это происходит, когда кто-то редактирует транспортное средство или заменяет существующее
`onVehicleDeleted` | Идентификатор игрока и идентификатор транспортного средства | Это происходит, когда кто-то удаляет принадлежащее ему транспортное средство
#### Пользовательские События
Пользовательские события также могут быть созданы для вашего собственного использования. Это делается примерно так же, как и события по умолчанию.
Пример использования пользовательского события:
```lua
function onInit()
RegisterEvent("myCustomEvent", "myCustomEvent")
end
function myCustomEvent(playerServerID, customData)
-- Do something
end
```
Затем его можно вызвать либо со стороны клиента, либо со стороны сервера, используя соответствующие функции.
### Игроки
Когда игрок подключается к вашему серверу, ему назначается serverID, начиная с 0 и далее. serverID используются повторно; если игрок покидает сервер и снова присоединяется, ему не будет назначен новый serverID, он просто получит другой доступный. Когда сервер перезапустится, serverID будут сброшены.
#### Статические идентификаторы
У игроков в BeamMP есть 3 статических идентификатора, которые можно получить из их serverID: имя, discordID и hardwareID или HWID. (Хотя последний из вышеупомянутых не реализован, мы будем действовать так, как будто он реализован). Каждый из трех типов идентификаторов имеет свое собственное происхождение и сильные/слабые стороны при использовании их для идентификации игрока.
ТИП ИДЕНТИФИКАТОРА | ПЛЮСЫ | МИНУСЫ | ФУНКЦИЯ ДЛЯ ПОЛУЧЕНИЯ
--- | --- | --- | :-:
имя | легко получить, просто | не безопасно | GetPlayerName()
DiscordID | довольно безопасно | неудобно | GetPlayerDiscordID()
HWID | чрезвычайно безопасно | трудно получить | GetPlayerHWID()
### Транспортные средства
У транспортных средств в beamMP есть 3 атрибута, на которые обращает внимание сервер: serverID владельца, vehicleID транспортного средства и его данные. ServerID владельца прост, это serverID, у каждого транспортного средства также есть ID, идентификаторы транспортных средств не уникальны для транспортного средства; два транспортных средства могут иметь одинаковый ID, если они принадлежат разным владельцам. В отличие от serverID, vehicleID используются повторно, например, если у меня есть 4 транспортных средства, их идентификаторы — 0, 1, 2 и 3, если я удалю транспортное средство в vehicleID 2, у меня будут 0, 1 и 3, когда я создам новое транспортное средство, новое транспортное средство будет помещено в слот ID 2. Наконец, последний атрибут, который есть у транспортных средств, — это data, data содержит транспортное средство, название, детали и другие данные; как следует из названия. data хранится в виде необработанной строки JSON, поэтому вам понадобится библиотека JSON. В качестве альтернативы вы можете вручную пройти по строке и извлечь необходимую информацию.
@@ -0,0 +1,75 @@
# Начало работы
Чтобы начать разработку для BeamMP вам понадобится как минимум:
- BeamNG.drive, установленный локально
- BeamMP, установленный локально; как минимум лаунчер, дополнительно также сервер
- Git, установленный локально, и учетная запись GitHub.com
- Редактор кода, например VSCode или notepad++
---
# Разница между модом, лаунчером и сервером
BeamMP разделен на три основные части:
- Мод загружается BeamNG, как и любой другой мод транспортного средства или пользовательского интерфейса для игры. Его основная функция — установить локальное соединение с лаунчером и отобразить элементы многопользовательского пользовательского интерфейса. Он в основном написан на Lua, с некоторым количеством JavaScript, HTML и CSS для элементов пользовательского интерфейса. Его репозиторий — [https://github.com/BeamMP/BeamMP](https://github.com/BeamMP/BeamMP)
- Основная функция лаунчера — установить постоянное соединение с модом, а при необходимости — и с выбранным сервером, а также обрабатывать вход пользователя с помощью бэкенда BeamMP. Он написан на C++, предварительно скомпилирован BeamMP и его можно найти по адресу [https://github.com/BeamMP/BeamMP-Launcher](https://github.com/BeamMP/BeamMP-Launcher)
- Сервер устанавливает соединения между одним или несколькими лаунчерами, а также «пульсирует» бэкенд BeamMP, предоставляя такую информацию, как IP, порт, версия, количество игроков и т. д. Кроме того, он управляет и запускает серверные плагины Lua. Он написан на C++, предварительно скомпилирован BeamMP для нескольких различных архитектур ОС и ЦП и может быть найден по адресу [https://github.com/BeamMP/BeamMP-Server](https://github.com/BeamMP/BeamMP-Server)
---
# Настройка среды разработки для работы над модом
## Использование распакованной папки для BeamNG
Для эффективной работы с модами в BeamNG рекомендуется использовать `unpacked` папку, а не упаковывать zip-архивы после каждого изменения.
Откройте папку пользователя BeamNG, перейдя в `%appdata%/Local/BeamNG.drive/0.xx/mods`, где `xx` — последняя версия BeamNG. Создайте папку с именем `unpacked` внутри папки `mods`.
Дополнительную информацию о папке пользователя можно найти по адресу [https://documentation.beamng.com/support/userfolder/](https://documentation.beamng.com/support/userfolder/)
## Включение режима разработчика в лаунчере BeamMP
Чтобы предотвратить удаление вашего локального клона git автоматическим обновлением, необходимо отключить его с помощью `--no-download`. Если вы также не хотите, чтобы лаунчер запускал BeamNG, и хотели бы видеть отладочные распечатки, то рекомендуется использовать `--dev`.
Аргумент | Примечание
:-- | :--
`--help` или `-h` | Выведет следующий список аргументов
`--port <port>` или `-p` | Измените порт прослушивания по умолчанию на `<port>`. Это также должно быть настроено в игре
`--verbose` или `-v` | Подробный режим, выводит отладочные сообщения
`--no-download` | Пропустить загрузку и установку мода BeamMP Lua
`--no-update` | Пропустить применение обновлений лаунчера (необходимо выполнить обновление вручную)
`--no-launch` | Пропустить запуск игры (игру необходимо запустить вручную)
`--dev` | Режим разработчика, то же самое, что и --verbose --no-download --no-launch --no-update
`--game <args...>` или `-- <args...>` | Передает аргументы в игру
## Клонирование репозитория BeamMP в распакованную папку
Хотя вы можете вручную скопировать файлы модов BeamMP из нашего репозитория github, настоятельно рекомендуется использовать систему управления исходным кодом, например git. Сначала создайте форк [https://github.com/BeamMP/BeamMP](https://github.com/BeamMP/BeamMP)
Наиболее эффективным было бы клонировать репозиторий непосредственно в `unpacked` папку.
Для `git` запустите `git clone https://github.com/yourName/BeamMP` из PowerShell или окна CMD, запущенного из `unpacked` папки. Находясь в папке userfolder, убедитесь, что в `mods` не осталось папки `multiplayer` и что теперь есть `unpacked/beammp`.
Теперь попробуйте режим разработчика. Запустите лаунчер BeamMP, запустите BeamNG вручную, после входа в игру убедитесь, что BeamMP — единственный активный мод. Вы должны иметь возможность использовать BeamMP как обычно.
Используя редактор кода, вы теперь можете добавлять или изменять код непосредственно в `unpacked` папке. Затем вы можете попробовать изменения, перезагрузив Lua в игре, нажав `Ctrl+L``F5` если вы внесли изменения в пользовательский интерфейс).
Как только вы будете довольны своими изменениями, вы можете зафиксировать их через git. Посетите [веб-сайт Git-SCM](https://git-scm.com/doc) для получения руководств и документации по использованию Git. Как только ваши изменения будут зафиксированы и отправлены (в ваш форк), вы можете сделать запрос на извлечение.
Если у вас возникнут какие-либо проблемы, смело задавайте их на канале #scripting в нашем [Discord](https://discord.gg/beammp).
---
# Настройка локального сервера
При работе с BeamMP может быть полезно использовать локальный сервер. Вы можете следовать общей [установке сервера](../../server/create-a-server.md) , пропуская первые два шага для чисто локальных подключений.
Установите сервер как закрытый в `serverConfig.toml`, используя любую строку в качестве `AuthKey`.
---
# Правила Внесения Вклада
Подробную информацию о формате кода, формате сообщения о коммите, общих рекомендациях по разработке и т. д. см. в файле `CONTRIBUTING.md` в каждом репозитории. Этот файл содержит более подробную информацию о том, как внести свой вклад. Файл `README.md` в каждом репозитории обычно также содержит шаги сборки (для скомпилированных проектов).
+21
View File
@@ -0,0 +1,21 @@
---
title: Руководства
description: Этот набор страниц содержит некоторые основные руководства по BeamMP.
status: новый
---
::: warning "Этот сайт находится в стадии разработки!"
```
Над этим сайтом ведется активная работа.
Чувствуете, что можете помочь? Пожалуйста, сделайте это, нажав на страницу с карандашом справа!
Это можно сделать на любой странице.
```
# Руководства по Разработке BeamMP
Эта страница будет представлять собой введение и предисловие к созданию клиентского и серверного контента.
Эту страницу еще нужно доработать.
@@ -0,0 +1,101 @@
# Создание многопользовательских модов
## Структура папок и основы файлов
Базовая структура папок и файлов должна выглядеть следующим образом:
```
Resources/
├─ Client/
│ └─ examplePlugin.zip/
│ ├─ scripts/
│ │ └─ modScript.lua
│ └─ lua/
│ └─ ge/
│ └─ extensions/
│ └─ examplePlugin.lua
└─ Server/
└─ examplePlugin/
├─ examplePlugin.lua
└─ further_lua/
└─ further.lua
```
Серверный lua — это необходимый минимум, если вы хотите добавлять пользовательские события, вам также понадобится как минимум клиентский lua, а также modscript.lua
Папка Server должна содержать подпапки, по одной для каждого серверного мода. Хорошей практикой является наличие только одного основного файла lua и добавление дополнительных файлов lua в подпапки. Однако вам не обязательно это делать, сервер загрузит файлы lua в алфавитном порядке, если их несколько.
Папка Client содержит zip-файлы, которые отправляются клиенту, который затем загружает их как мод. Любые другие файлы в папке Client вызовут ошибку при запуске сервера, но за исключением этого будут игнорироваться сервером. ModScript.lua будет прочитан BeamNG и укажет игре, какой плагин загружать.
:::example "" [Загрузите examplePlugin.zip](../../../../assets/content/ResourcesForExamplePlugin.zip)
## Серверный lua
В examplePlugin есть и другие примеры, но вот самый простой, выводящий идентификаторы игроков:
```lua
function onInit() --runs when plugin is loaded
MP.RegisterEvent("onPlayerAuth", "onPlayerAuth") --Provided by BeamMP
print("examplePlugin loaded")
end
--A player has authenticated and is requesting to join
--The player's name (string), forum role (string), guest account (bool), identifiers (table -> ip, beammp)
function onPlayerAuth(player_name, role, isGuest, identifiers)
local ip = identifiers.ip
local beammp = identifiers.beammp or "N/A"
print("onPlayerAuth: player_name: " .. player_name .. " | role: " .. role .. " | isGuest: " .. tostring(isGuest) .. " | identifiers: ip: " .. ip .. " - beammp: " .. beammp)
end
```
`onPlayerAuth` срабатывает, как только игрок хочет присоединиться, см. также [onPlayerAuth в справочнике по скриптам](../../../scripting/server/latest-server-reference/#onplayerauth)
Еще один пример использования onPlayerAuth, но он запретит гостям присоединяться к серверу, отправив клиенту ответное сообщение, которое затем будет показано игроку:
```lua
function onPlayerAuth(playerName, playerRole, isGuest, identifiers)
if isGuest then
return "No guests allowed, please use a BeamMP account"
end
end
```
Дополнительную информацию о серверных функциях, предоставляемых BeamMP, можно найти в [последнем справочнике по серверу](../../../scripting/server/latest-server-reference.md)
## Клиентская часть lua
Это в значительной степени соответствует [расширениям BeamNG](https://documentation.beamng.com/modding/programming/extensions/)
```lua
local M = {}
if extensions.isExtensionLoaded("examplePlugin") then
log("E", "examplePlugin", "examplePlugin loaded on client side")
return
end
return M
```
Выводит на консоль информацию о том, что examplePlugin был загружен
Более подробную информацию см. в [документации BeamNG по отладочным распечаткам](https://documentation.beamng.com/modding/programming/debugging/#a-add-a-log)
## modScript.lua
Обычно содержит только две строки
```lua
load('examplePlugin')
setExtensionUnloadMode('examplePlugin', 'manual')
```
Вы можете добавить вывод журнала, если хотите видеть в журналах, когда ваш modScript обрабатывается BeamNG
```lua
load('examplePlugin')
setExtensionUnloadMode('examplePlugin', 'manual')
log('I', 'modScript', "examplePlugin loaded")
```
@@ -0,0 +1,11 @@
::: warning "Этот сайт находится в стадии разработки!"
```
Над этим сайтом ведется активная работа.
Чувствуете, что можете помочь? Пожалуйста, сделайте это, нажав на страницу с карандашом справа!
Это можно сделать на любой странице.
```
# Введение в разработку BeamNG.drive
@@ -0,0 +1,21 @@
::: warning "Этот сайт находится в стадии разработки!"
```
Над этим сайтом ведется активная работа.
Чувствуете, что можете помочь? Пожалуйста, сделайте это, нажав на страницу с карандашом справа!
Это можно сделать на любой странице.
```
# Создание карты для BeamNG.drive
...
## Введение
...
## Начало работы
...
@@ -0,0 +1,21 @@
::: warning "Этот сайт находится в стадии разработки!"
```
Над этим сайтом ведется активная работа.
Чувствуете, что можете помочь? Пожалуйста, сделайте это, нажав на страницу с карандашом справа!
Это можно сделать на любой странице.
```
# Создание пропсов для BeamNG.drive
...
## Введение
...
## Начало работы
...
@@ -0,0 +1,21 @@
::: warning "Этот сайт находится в стадии разработки!"
```
Над этим сайтом ведется активная работа.
Чувствуете, что можете помочь? Пожалуйста, сделайте это, нажав на страницу с карандашом справа!
Это можно сделать на любой странице.
```
# Создание автомобиля для BeamNG.drive
...
## Введение
...
## Начало работы
...
+11
View File
@@ -0,0 +1,11 @@
::: warning "Этот сайт находится в стадии разработки!"
```
Над этим сайтом ведется активная работа.
Чувствуете, что можете помочь? Пожалуйста, сделайте это, нажав на страницу с карандашом справа!
Это можно сделать на любой странице.
```
# Введение в разработку BeamNG.drive
@@ -0,0 +1,3 @@
# imgui-windows.md
Эту страницу нужно заполнить
@@ -0,0 +1,3 @@
# lua-mods.md
Эту страницу нужно заполнить
@@ -0,0 +1,274 @@
# Создание UI-приложения
Для создания UI-приложения вам понадобятся некоторые знания фреймворка AngularJS, основную документацию можно найти здесь: [AngularJS docs](https://docs.angularjs.org/guide)
## Структура файла
Для работы UI-приложения необходимы четыре важных файла:
- app.js | Содержит основной код, используемый [документацией UI-приложения Javascript](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
- app.html | Код, который отображает [HTML-документы](https://developer.mozilla.org/fr/docs/Web/HTML) вашего приложения
- app.json | Содержит информацию о UI-приложении
- app.png | Файл изображения, отображаемый в селекторе приложений
### Стиль UI-приложения
Мы рекомендуем использовать тег `<style>` для стилизации вашего приложения. Файл .css тоже подойдет, но вы не сможете видеть изменения в режиме реального времени.
## Пример
Этот пример от DanielW. Отдельная ему благодарность
ui\modules\apps\ExampleApp\app.html
```html
<div style="width: 100%; height: 100%;" class="bngApp">
<link type="text/css" rel="stylesheet" href="/ui/modules/apps/ExampleApp/app.css" />
<div id="exampleAppContainer">
<span>Gear: <span>{{ gearName }}</span></span>
<div layout="row" layout-align="center center">
<md-input-container flex>
<label>Input</label>
<input ng-model="message" ng-keydown="sendMessage($event)">
</md-input-container>
<md-button md-no-ink class="md-warn" ng-disabled="!message" ng-click="sendMessage()">Send</md-button>
</div>
<span style="display: block">Messages:</span>
<!-- Область прокрутки -->
<ul bng-nav-scroll style="margin: 0; padding: 0; overflow-y: auto; width: 100%; height: 100%; background-color: #37373740;">
<!-- Перебор сообщений и их отображение -->
<li ng-repeat="message in messages track by $index" style="display: flex; align-items: center; height: 35px;">
<span style="padding: 0 0.2em; width: 100%;">{{ message }}</span>
<!-- Кнопка для удаления сообщения, вызывает функцию `deleteMessage` в `app.js` -->
<md-button md-no-ink class="md-icon-button md-warn" ng-click="deleteMessage($index)">
<md-icon class="material-icons">delete</md-icon>
</md-button>
</li>
</ul>
</div>
</div>
```
Здесь вы можете увидеть тег `<span>`, отображающий передачу вашего транспортного средства, входные данные, используемые для отправки сообщения функции `sendMessage()` в Javascript, и повторяющийся тег `<li>` использующий <b>ng-repeat</b> для переменной `messages`, расположенной в Javascript.
ui\modules\apps\ExampleApp\app.js
```js
angular.module('beamng.apps')
.directive('exampleApp', [function() {
return {
templateUrl: '/ui/modules/apps/ExampleApp/app.html',
replace: true,
restrict: 'EA',
scope: true,
controller: ['$scope', function($scope) {
$scope.gearName = '0'
$scope.message = ''
$scope.messages = []
// Настраиваем потоки, которые нам нужны. Пока что нам нужна только информация о двигателе.
// Можно добавить больше, нужно будет просто поискать доступные потоки.
let steamList = ['engineInfo']
StreamsManager.add(steamList)
$scope.$on('destroy', function() {
StreamsManager.remove(steamList)
})
// Нужно ли вообще писать этот комментарий, объясняя, что делает эта функция?
// Ну, я писал комментарии для многих других вещей, даже когда это было не нужно. Пусть уж этот останется...
$scope.$on('streamsUpdate', function(event, streams) {
if (!streams.engineInfo) // Ранний выход... Наверное, ты и без этого бесполезного комментария понял
return;
// `lua/vehicle/controller/vehicleController.lua:538` (или можно использовать console.log)
let gear = streams.engineInfo[5]
// Обновляем название передачи в HTML при необходимости
if ($scope.gearName !== gear)
$scope.gearName = gear
})
$scope.sendMessage = function(event) {
if (event && event.key !== 'Enter')
return
if ($scope.message == '')
return
// Передаём сообщение в Lua-расширение, чтобы оно его изменило
bngApi.engineLua('extensions.exampleMod.modifyMessage("' + $scope.message + '")')
$scope.message = ''
}
$scope.deleteMessage = function(idx) {
$scope.messages.splice(idx, 1)
}
// Функция `modifyMessage` вызовет этот хук с изменёнными данными
$scope.$on('MessageReady', function(_, modifiedMessage) {
$scope.messages.push(modifiedMessage)
});
}]
}
}])
```
Обратите внимание на использование <b>$scope{/b0}. Это очень важно, поскольку вам нужно будет определить переменные и функции в {b1}$scope</b>, чтобы иметь возможность доступа к ним из <b>Html</b> внутри любого тега <b>ng-*</b>. Таким образом, в этом примере после выполнения функции `sendMessage()` из <b>Html</b> она отправит его в файл lua, расположенный в каталоге расширений мода, и выполнит функцию `modifyMessage()` внутри этого файла lua.
Пример того, как может выглядеть сторона lua:
```lua
local function modifyMessage(message)
message = message .. " [Modified!]"
guihooks.trigger('MessageReady', message)
end
```
^ Это упрощенная версия lua, просто показывающая функцию.
Основное внимание здесь уделяется использованию <b>guihooks.trigger</b>, который запускает событие AngularJS, определенное с помощью `$scope.$on()`. Как вы можете видеть в самом низу файла Javascript, событие называется MessageReady и будет выполнено функцией <b>guihooks.trigger</b> с полезной нагрузкой сообщения, а затем будет помещено в переменную `$scope.messages` для отображения тегом li с помощью <b>ng-repeat</b> в файле <b>Html</b>.
Полный файл lua находится ниже
lua\ge\extensions\exampleMod.lua
```lua
local M = {}
--[[
Это точка входа нашего расширения — именно её загружает игра из файла `modScript.lua`.
В файле modScript можно загружать больше расширений и помещать их в ту же директорию, что и этот файл.
В этом файле мы будем взаимодействовать со следующими компонентами:
1. Наше расширение для автомобиля. Оно сообщает этому расширению, когда нужно отправить данные, и мы их отправляем. См. `vehicle/extensions/auto/exampleVehicleExtension.lua`
2. Ввод. См. `core/input/actions/myActions.json`. Когда привязанная клавиша нажата, вызывается `onActionKeyDown` (функция, экспортируемая ниже)
]]
-- Хуки игровых функций
--------------------------------------------
local function onExtensionLoaded()
log('D', "onExtensionLoaded", "Called")
end
local function onExtensionUnloaded()
log('D', "onExtensionUnloaded", "Called")
end
-- Пользовательские функции
--------------------------------------------
local function onActionKeyDown()
log('D', "onActionKeyDown", "Pressed!")
end
local function onVehicleExtensionLoaded(vehID)
log('D', "onVehicleExtensionLoaded", "Sending some data to the vehicle")
local veh = be:getObjectByID(vehID) -- Если у вас нет ID, можно также использовать `be:getPlayerVehicle(0)`, чтобы получить текущий автомобиль.
if not veh then return end -- Обычная проверка на ошибки
local data = {
["name"] = "Daniel W"
}
veh:queueLuaCommand("extensions.exampleVehicleExtension.onDataReceived('" .. jsonEncode(data) .. "')")
end
local function modifyMessage(message)
message = message .. " [Modified!]"
guihooks.trigger('MessageReady', message)
end
-- Экспорт интерфейса
--------------------------------------------
M.onExtensionLoaded = onExtensionLoaded
M.onExtensionUnloaded = onExtensionUnloaded
M.onActionKeyDown = onActionKeyDown
M.onVehicleExtensionLoaded = onVehicleExtensionLoaded
M.modifyMessage = modifyMessage
--[[ Другие функции могут включать:
- onPreRender(dtReal, dtSim, dtRaw)
- onUpdate(dtReal, dtSim, dtRaw)
- onClientPreStartMission(levelPath)
- onClientPostStartMission(levelPath)
Чтобы найти все возможные функции, выполните поиск в `BeamNG.Drive/lua` по следующему выражению: `extensions.hook(`
--]]
return M
```
Обратите внимание, что очень важно вернуть переменную M (модуль) с необходимыми функциями внутри! Например, без строки `M.modifyMessage = modifyMessage` функция `bngApi.engineLua('extensions.exampleMod.modifyMessage("' + $scope.message + '")')` не сможет найти функцию modifyMessage()
ui\modules\apps\ExampleApp\app.css
```css
#exampleAppContainer {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
align-content: center;
}
#exampleAppContainer > * {
margin: 0;
padding: 0;
}
```
ui\modules\apps\ExampleApp\app.json
```json
{
"domElement": "<example-app></example-app>",
"name": "Example App",
"types": [
"ui.apps.categories.debug"
],
"description": "example-app",
"css": {
"left": "0px",
"height": "auto",
"width": "270px",
"min-width": "200px",
"min-height": "90px",
"top": "0px"
},
"author": "Daniel W",
"version": "0.1",
"directive": "exampleApp"
}
```
Директива должна быть такой же, как в файле <b>Javascript</b>
# Функции Javascript, предоставляемые BeamNG для UI-приложений
```js
bngApi.engineLua("lua_path.function()")
```
Полезно для запуска функции lua с аргументами или без них
# Функции Lua, предоставляемые BeamNG для UI-приложений
```lua
guihooks.trigger("EventName", Payload)
```
Полезная нагрузка может быть любого типа, но лучше хранить ее в виде массива/объекта или строки, чтобы она не потерялась.
<b>ВАЖНО</b> : Иногда может случиться так, что имя события, которое вы используете, уже используется внутри чего-то другого, и это вызовет проблемы, поэтому, например, если ваше приложение называется Nickel, хорошей практикой будет называть каждое событие Angular как NKEventName вместо EventName.
@@ -0,0 +1,13 @@
::: warning "Сайт находится в стадии разработки!"
```
Работа над этим сайтом активно ведётся.
Считаете, что можете помочь? Пожалуйста, сделайте это, нажав на страницу с изображением карандаша справа!
Это можно сделать и на любой странице.
```
# Фрагменты кода CEF для BeamNG.drive
список дел(to-do)
@@ -0,0 +1,60 @@
---
layout: home
hero:
name: Документация BeamMP
text: Всё, что вам нужно знать
tagline: Полные руководства для игроков, владельцев серверов и разработчиков
image:
src: /assets/core/beammp_dark.png
alt: BeamMP
actions:
- theme: brand
text: Начало работы
link: /ru/game/getting-started
- theme: alt
text: Посмотреть на GitHub
link: https://github.com/beammp/docs
features:
- icon: 🎮
title: Для Игроков
details: Узнайте, как установить BeamMP, подключиться к серверам и получить максимум от вашего многопользовательского опыта
link: /ru/game/getting-started
- icon: 🖥️
title: Для Владельцев Серверов
details: Установите и управляйте своим собственным сервером BeamMP с помощью наших полных руководств и ресурсов по устранению неполадок
link: /ru/server/create-a-server
- icon: 💻
title: Для Разработчиков
details: Создавайте моды, ресурсы и UI-приложения с подробной документацией API и примерами кода
link: /ru/guides/index
- icon: ❓
title: Часто Задаваемые Вопросы
details: Найдите быстрые ответы на часто задаваемые вопросы о настройке, устранении неполадок и лучших практиках
link: /ru/FAQ/player-faq
- icon: 📋
title: Правила Сообщества
details: Узнайте о наших рекомендациях сообщества и как сообщать о проблемах или оспаривать решения
link: /ru/community/rules
- icon: 🔗
title: Сообщество
details: Присоединитесь к нашему Discord, следите за нами в социальных сетях и общайтесь с другими игроками и разработчиками BeamMP
link: /ru/community/index
---
Впервые в BeamMP? Ознакомьтесь с нашей страницей [Начало работы](../game/getting-started.md), которая поможет вам быстро начать и получить максимум от игры по сети. По общим вопросам и проблемам, пожалуйста, ознакомьтесь с [Часто задаваемыми вопросами игроков](../FAQ/player-faq.md).
## Для владельцев серверов
Думаете о создании собственного сервера BeamMP? Наше подробное [руководство](../server/create-a-server.md) проведет вас через весь процесс, гарантируя, что у вас будут все инструменты и знания для эффективной настройки сервера.
## Для разработчиков
Откройте для себя тонкости создания ресурсов для сервера BeamMP в нашем [Руководстве по разработке ресурсов](../guides/mod-creation/server/getting-started.md) .
На горизонте нас ждут захватывающие обновления, включая совершенно новую домашнюю страницу, разработанную для улучшения вашего опыта просмотра. Оставайтесь с нами, чтобы узнать больше! :slight_smile:
## Правила Cообщества
Ознакомьтесь с [Правилами Cообщества](https://docs.beammp.com/community/rules/) BeamMP и узнайте, как обжаловать блокировку.
@@ -0,0 +1,60 @@
---
layout: home
hero:
name: Документация BeamMP
text: Всё, что вам нужно знать
tagline: Полные руководства для игроков, владельцев серверов и разработчиков
image:
src: /assets/core/beammp_dark.png
alt: BeamMP
actions:
- theme: brand
text: Начало работы
link: /ru/game/getting-started
- theme: alt
text: Посмотреть на GitHub
link: https://github.com/beammp/docs
features:
- icon: 🎮
title: Для Игроков
details: Узнайте, как установить BeamMP, подключиться к серверам и получить максимум от вашего многопользовательского опыта
link: /ru/game/getting-started
- icon: 🖥️
title: Для Владельцев Серверов
details: Установите и управляйте своим собственным сервером BeamMP с помощью наших полных руководств и ресурсов по устранению неполадок
link: /ru/server/create-a-server
- icon: 💻
title: Для Разработчиков
details: Создавайте моды, ресурсы и UI-приложения с подробной документацией API и примерами кода
link: /ru/guides/index
- icon: ❓
title: Часто Задаваемые Вопросы
details: Найдите быстрые ответы на часто задаваемые вопросы о настройке, устранении неполадок и лучших практиках
link: /ru/FAQ/player-faq
- icon: 📋
title: Правила Сообщества
details: Узнайте о наших рекомендациях сообщества и как сообщать о проблемах или оспаривать решения
link: /ru/community/rules
- icon: 🔗
title: Сообщество
details: Присоединитесь к нашему Discord, следите за нами в социальных сетях и общайтесь с другими игроками и разработчиками BeamMP
link: /ru/community/index
---
Впервые в BeamMP? Ознакомьтесь с нашей страницей [Начало работы](../game/getting-started.md), которая поможет вам быстро начать и получить максимум от игры по сети. По общим вопросам и проблемам, пожалуйста, ознакомьтесь с [Часто задаваемыми вопросами игроков](../FAQ/player-faq.md).
## Для владельцев серверов
Думаете о создании собственного сервера BeamMP? Наше подробное [руководство](../server/create-a-server.md) проведет вас через весь процесс, гарантируя, что у вас будут все инструменты и знания для эффективной настройки сервера.
## Для разработчиков
Откройте для себя тонкости создания ресурсов для сервера BeamMP в нашем [Руководстве по разработке ресурсов](../guides/mod-creation/server/getting-started.md) .
На горизонте нас ждут захватывающие обновления, включая совершенно новую домашнюю страницу, разработанную для улучшения вашего опыта просмотра. Оставайтесь с нами, чтобы узнать больше! :slight_smile:
## Правила Cообщества
Ознакомьтесь с [Правилами Cообщества](https://docs.beammp.com/community/rules/) BeamMP и узнайте, как обжаловать блокировку.
@@ -0,0 +1,60 @@
---
layout: home
hero:
name: Документация BeamMP
text: Всё, что вам нужно знать
tagline: Полные руководства для игроков, владельцев серверов и разработчиков
image:
src: /assets/core/beammp_dark.png
alt: BeamMP
actions:
- theme: brand
text: Начало работы
link: /ru/game/getting-started
- theme: alt
text: Посмотреть на GitHub
link: https://github.com/beammp/docs
features:
- icon: 🎮
title: Для Игроков
details: Узнайте, как установить BeamMP, подключиться к серверам и получить максимум от вашего многопользовательского опыта
link: /ru/game/getting-started
- icon: 🖥️
title: Для Владельцев Серверов
details: Установите и управляйте своим собственным сервером BeamMP с помощью наших полных руководств и ресурсов по устранению неполадок
link: /ru/server/create-a-server
- icon: 💻
title: Для Разработчиков
details: Создавайте моды, ресурсы и UI-приложения с подробной документацией API и примерами кода
link: /ru/guides/index
- icon: ❓
title: Часто Задаваемые Вопросы
details: Найдите быстрые ответы на часто задаваемые вопросы о настройке, устранении неполадок и лучших практиках
link: /ru/FAQ/player-faq
- icon: 📋
title: Правила Сообщества
details: Узнайте о наших рекомендациях сообщества и как сообщать о проблемах или оспаривать решения
link: /ru/community/rules
- icon: 🔗
title: Сообщество
details: Присоединитесь к нашему Discord, следите за нами в социальных сетях и общайтесь с другими игроками и разработчиками BeamMP
link: /ru/community/index
---
Впервые в BeamMP? Ознакомьтесь с нашей страницей [Начало работы](../game/getting-started.md), которая поможет вам быстро начать и получить максимум от игры по сети. По общим вопросам и проблемам, пожалуйста, ознакомьтесь с [Часто задаваемыми вопросами игроков](../FAQ/player-faq.md).
## Для владельцев серверов
Думаете о создании собственного сервера BeamMP? Наше подробное [руководство](../server/create-a-server.md) проведет вас через весь процесс, гарантируя, что у вас будут все инструменты и знания для эффективной настройки сервера.
## Для разработчиков
Откройте для себя тонкости создания ресурсов для сервера BeamMP в нашем [Руководстве по разработке ресурсов](../guides/mod-creation/server/getting-started.md) .
На горизонте нас ждут захватывающие обновления, включая совершенно новую домашнюю страницу, разработанную для улучшения вашего опыта просмотра. Оставайтесь с нами, чтобы узнать больше! :slight_smile:
## Правила Cообщества
Ознакомьтесь с [Правилами Cообщества](https://docs.beammp.com/community/rules/) BeamMP и узнайте, как обжаловать блокировку.
+163
View File
@@ -0,0 +1,163 @@
# Начиная
## **1. Совместимость**
BeamMP полностью совместим с Windows и Linux, совместимость с MacOS находится в разработке. Однако Linux и MacOS являются вторичными платформами, поэтому следует ожидать ошибок.
:::предупреждение
```
BeamMP не будет работать с пиратскими или устаревшими версиями BeamNG.drive.
Служба поддержки BeamMP не оказывает помощь по вопросам, связанным с пиратскими/устаревшими копиями.
```
---
## **2. Установка**
### **2а. Установка Windows**
:::примечание
```
По состоянию на 1 апреля 2026 года, согласно Windows Defender SmartScreen, установщик MSI является «неопознанным приложением».
Чтобы проигнорировать это предупреждение, нажмите «Подробнее», а затем нажмите «Запустить в любом случае».
```
1. Перейдите на [сайт beammp.com](https://beammp.com/) и нажмите кнопку «Скачать сейчас».
2. Запустите установщик `BeamMP_Installer.msi` и следуйте инструкциям.
3. Значок BeamMP Launcher должен появиться на рабочем столе. Если нет, просто введите «BeamMP» в строку поиска Windows.
:::примечание
```
Поскольку при загрузке на карту с множеством созданных транспортных средств подключение может занять больше времени, чем ожидалось.
```
### **2б. Установка Linux**
В настоящее время вам необходимо самостоятельно собрать Launcher. Для этого вам необходимо базовое понимание того, как собрать приложение.
Убедитесь, что у вас установлены базовые инструменты разработки, которые обычно входят в пакеты, например:
- Debian/Ubuntu: `sudo apt install build-essential`
- Fedora: `sudo dnf install cmake gcc gcc-c++ make perl perl-IPC-Cmd perl-FindBin perl-File-Compare perl-File-Copy kernel-headers kernel-devel`
- Arch: `sudo pacman -S base-devel`
- openSUSE: `zypper in -t pattern devel-basis`
- SteamOS (Arch): `sudo pacman -S base-devel linux-api-headers glibc libconfig` (Вам также необходимо выполнить команду `sudo steamos-readonly disable` , но не забудьте включить ее снова после установки пакетов)
Склонируйте `vcpkg`, выполните его начальную сборку (bootstrap) и добавьте в PATH
1.
```bash
git clone https://github.com/microsoft/vcpkg.git
```
1.
```bash
./vcpkg/bootstrap-vcpkg.sh
```
1.
```bash
export VCPKG_ROOT="$(pwd)/vcpkg"
export PATH=$VCPKG_ROOT:$PATH
```
Клонируйте репозиторий BeamMP-Launcher в свою систему с помощью `git`, например: `git clone https://github.com/BeamMP/BeamMP-Launcher.git` [Дополнительная информация о клонировании репозитория GitHub](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository)
Переключитесь на тег, который использовался для [последнего релиза](https://github.com/BeamMP/BeamMP-Launcher/releases/latest). Например, если в последнем релизе использовался `v2.6.4`, выполните команду `git checkout v2.6.4`
Если вы использовали пример команды клонирования, который мы предоставили, вы можете использовать `cd BeamMP-Launcher`, чтобы перейти в корневой каталог проекта.
В корневом каталоге проекта,
1.
```cmake
cmake . -B bin -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-linux
```
1.
```cmake
cmake --build bin --parallel
```
:::примечание ""
```
Если во время сборки не хватит оперативной памяти, можно исключить параметр --parallel — в этом случае сборка будет выполняться только в одном потоке процессора, что позволит сократить объем используемой оперативной памяти.
```
:::примечание ""
```
Не указывая `-DCMAKE_BUILD_TYPE=Release`, вы создаете отладочную версию, которая больше по размеру файла, но не содержит ошибки, из-за которой программа запуска может подключиться к серверу только один раз.
```
:::примечание "Пользователи Fedora" Если vcpkg выдаёт ошибку при компиляции OpenSSL из-за заголовков ядра, убедитесь, что все зависимости установлены: `bash sudo dnf install kernel-headers kernel-devel gcc gcc-c++ make perl` Затем очистите кэш vcpkg: `bash rm -rf $VCPKG_ROOT/buildtrees/openssl` И повторите команду конфигурации cmake.
Переместите готовое приложение из папки `/bin` в отдельную папку и запустите его оттуда:
```bash
mkdir -p ~/beammp-launcher
cp bin/BeamMP-Launcher ~/beammp-launcher/
cd ~/beammp-launcher
./BeamMP-Launcher
```
Нативный Linux-ланчер BeamMP запустится и будет использовать нативную версию BeamNG.drive для Linux
### **2c. Использование beamNG.drive с Proton**
Если вы хотите использовать родной Linux BeamMP-Launcher вместе с BeamNG.drive, работающим через Proton, вы можете сделать это:
Запустите BeamMP-Launcher, используя аргумент `--no-launch` (Это не позволит Launcher запустить собственный Linux BeamNG.drive). Дополнительную информацию об аргументах Launcher можно найти в [разделе Настройка среды разработки](../guides/beammp-dev/beammp-dev.md)
Измените расположение пользовательской папки Proton-BeamNG.drive на расположение Linux-BeamNG.drive (поскольку собственный Linux BeamMP-Launcher в настоящее время записывает только в пользовательскую папку Linux-BeamNG.drive)
Это можно сделать, например, создав символическую ссылку
- Запомните местоположение пользовательской папки Linux-BeamNG.drive (обычно она находится в `~/.local/share/BeamNG.drive`) и переименуйте ее, например, в `BeamNG.drive_old`
- Обратите внимание на расположение пользовательской папки Proton-BeamNG.drive (обычно она находится в `~/.local/share/Steam/steamapps/compatdata/284160/pfx/drive_c/users/steamuser/AppData/Local/BeamNG.drive`)
- Создайте символическую ссылку между обеими папками пользователей `ln -s ~/.local/share/Steam/steamapps/compatdata/284160/pfx/drive_c/users/steamuser/AppData/Local/BeamNG.drive ~/.local/share`
После установки символической ссылки между пользовательскими папками и скомпилированным лаунчером вы можете заставить Steam запустить игру через Proton, при этом лаунчер автоматически запустится со следующей заменой параметров запуска для оригинальной игры, которые можно найти в окне «Свойства» игры в ее записи в Steam:
- `~/BeamMP/BeamMP-Launcher --no-launch & %command% ; killall BeamMP-Launcher`
Обратите внимание, что это предполагает, что вы поместили скомпилированный ранее двоичный файл лаунчера в `/home/user/BeamMP/`, поэтому измените его так, чтобы он соответствовал месту, куда вы поместили готовый двоичный файл, и вам придется перекомпилировать лаунчер с правильной веткой git каждый раз при выпуске обновления лаунчера.
::: tip "Добавление шрифта эмодзи для получения эмодзи в тексте"
```
Для того чтобы эмодзи отображались в списке серверов (как часть пользовательского имени сервера) или во внутриигровом чате, вам нужен шрифт, содержащий эмодзи.
Это можно сделать, например, добавив [Linux-версию шрифта эмодзи Segoe-UI для Windows](https://github.com/mrbvrz/segoe-ui-linux)
```
---
## **3. Использование BeamMP**
1. После запуска лаунчера вы увидите окно терминала. Вскоре после этого должен запуститься стандартный лаунчер BeamNG. **Не** закрывайте окно терминала.
2. В главном меню BeamNG.drive нажмите кнопку `Repository` и убедитесь, что включен <strong>только</strong> мод <code>multiplayerbeammp</code> .
3. Выйдите в главное меню, нажмите «Ещё..», затем кнопку «Мультиплеер», чтобы начать игру по сети.
4. Вам будет предложено войти или играть в качестве гостя (не все серверы допускают гостей). Вы можете создать учетную запись на нашем [форуме](https://forum.beammp.com), а затем войти в BeamMP с теми же учетными данными.
5. Выберите любой понравившийся вам сервер и нажмите `Connect`. Наслаждайтесь!
---
## **4. Известные проблемы**
- Нативный linux BeamMP-Launcher в настоящее время может подключиться к серверу только один раз, после отключения вам нужно перезапустить лаунчер. Вы можете сделать это, не закрывая игру между
- Если вы не видите кнопку «Мультиплеер». Убедитесь, что мод BeamMP присутствует и активирован в «Менеджере модов», затем попробуйте нажать CTRL + L.
- VPN любого типа могут вызывать проблемы с подключением.
- Если Launcher сообщает о каких-либо ошибках, прочтите [FAQ](https://forum.beammp.com/c/faq/35).
Если вам потребуется дополнительная помощь с установкой, вы можете создать сообщение на нашем [форуме](https://forum.beammp.com) или задать вопрос на нашем [сервере Discord](https://discord.gg/beammp).
+163
View File
@@ -0,0 +1,163 @@
# Начиная
## **1. Совместимость**
BeamMP полностью совместим с Windows и Linux, совместимость с MacOS находится в разработке. Однако Linux и MacOS являются вторичными платформами, поэтому следует ожидать ошибок.
:::предупреждение
```
BeamMP не будет работать с пиратскими или устаревшими версиями BeamNG.drive.
Служба поддержки BeamMP не оказывает помощь по вопросам, связанным с пиратскими/устаревшими копиями.
```
---
## **2. Установка**
### **2а. Установка Windows**
:::примечание
```
По состоянию на 1 апреля 2026 года, согласно Windows Defender SmartScreen, установщик MSI является «неопознанным приложением».
Чтобы проигнорировать это предупреждение, нажмите «Подробнее», а затем нажмите «Запустить в любом случае».
```
1. Перейдите на [сайт beammp.com](https://beammp.com/) и нажмите кнопку «Скачать сейчас».
2. Запустите установщик `BeamMP_Installer.msi` и следуйте инструкциям.
3. Значок BeamMP Launcher должен появиться на рабочем столе. Если нет, просто введите «BeamMP» в строку поиска Windows.
:::примечание
```
Поскольку при загрузке на карту с множеством созданных транспортных средств подключение может занять больше времени, чем ожидалось.
```
### **2б. Установка Linux**
В настоящее время вам необходимо самостоятельно собрать Launcher. Для этого вам необходимо базовое понимание того, как собрать приложение.
Убедитесь, что у вас установлены базовые инструменты разработки, которые обычно входят в пакеты, например:
- Debian/Ubuntu: `sudo apt install build-essential`
- Fedora: `sudo dnf install cmake gcc gcc-c++ make perl perl-IPC-Cmd perl-FindBin perl-File-Compare perl-File-Copy kernel-headers kernel-devel`
- Arch: `sudo pacman -S base-devel`
- openSUSE: `zypper in -t pattern devel-basis`
- SteamOS (Arch): `sudo pacman -S base-devel linux-api-headers glibc libconfig` (Вам также необходимо выполнить команду `sudo steamos-readonly disable` , но не забудьте включить ее снова после установки пакетов)
Склонируйте `vcpkg`, выполните его начальную сборку (bootstrap) и добавьте в PATH
1.
```bash
git clone https://github.com/microsoft/vcpkg.git
```
1.
```bash
./vcpkg/bootstrap-vcpkg.sh
```
1.
```bash
export VCPKG_ROOT="$(pwd)/vcpkg"
export PATH=$VCPKG_ROOT:$PATH
```
Клонируйте репозиторий BeamMP-Launcher в свою систему с помощью `git`, например: `git clone https://github.com/BeamMP/BeamMP-Launcher.git` [Дополнительная информация о клонировании репозитория GitHub](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository)
Переключитесь на тег, который использовался для [последнего релиза](https://github.com/BeamMP/BeamMP-Launcher/releases/latest). Например, если в последнем релизе использовался `v2.6.4`, выполните команду `git checkout v2.6.4`
Если вы использовали пример команды клонирования, который мы предоставили, вы можете использовать `cd BeamMP-Launcher`, чтобы перейти в корневой каталог проекта.
В корневом каталоге проекта,
1.
```cmake
cmake . -B bin -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-linux
```
1.
```cmake
cmake --build bin --parallel
```
:::примечание ""
```
Если во время сборки не хватит оперативной памяти, можно исключить параметр --parallel — в этом случае сборка будет выполняться только в одном потоке процессора, что позволит сократить объем используемой оперативной памяти.
```
:::примечание ""
```
Не указывая `-DCMAKE_BUILD_TYPE=Release`, вы создаете отладочную версию, которая больше по размеру файла, но не содержит ошибки, из-за которой программа запуска может подключиться к серверу только один раз.
```
:::примечание "Пользователи Fedora" Если vcpkg выдаёт ошибку при компиляции OpenSSL из-за заголовков ядра, убедитесь, что все зависимости установлены: `bash sudo dnf install kernel-headers kernel-devel gcc gcc-c++ make perl` Затем очистите кэш vcpkg: `bash rm -rf $VCPKG_ROOT/buildtrees/openssl` И повторите команду конфигурации cmake.
Переместите готовое приложение из папки `/bin` в отдельную папку и запустите его оттуда:
```bash
mkdir -p ~/beammp-launcher
cp bin/BeamMP-Launcher ~/beammp-launcher/
cd ~/beammp-launcher
./BeamMP-Launcher
```
Нативный Linux-ланчер BeamMP запустится и будет использовать нативную версию BeamNG.drive для Linux
### **2c. Использование beamNG.drive с Proton**
Если вы хотите использовать родной Linux BeamMP-Launcher вместе с BeamNG.drive, работающим через Proton, вы можете сделать это:
Запустите BeamMP-Launcher, используя аргумент `--no-launch` (Это не позволит Launcher запустить собственный Linux BeamNG.drive). Дополнительную информацию об аргументах Launcher можно найти в [разделе Настройка среды разработки](../guides/beammp-dev/beammp-dev.md)
Измените расположение пользовательской папки Proton-BeamNG.drive на расположение Linux-BeamNG.drive (поскольку собственный Linux BeamMP-Launcher в настоящее время записывает только в пользовательскую папку Linux-BeamNG.drive)
Это можно сделать, например, создав символическую ссылку
- Запомните местоположение пользовательской папки Linux-BeamNG.drive (обычно она находится в `~/.local/share/BeamNG.drive`) и переименуйте ее, например, в `BeamNG.drive_old`
- Обратите внимание на расположение пользовательской папки Proton-BeamNG.drive (обычно она находится в `~/.local/share/Steam/steamapps/compatdata/284160/pfx/drive_c/users/steamuser/AppData/Local/BeamNG.drive`)
- Создайте символическую ссылку между обеими папками пользователей `ln -s ~/.local/share/Steam/steamapps/compatdata/284160/pfx/drive_c/users/steamuser/AppData/Local/BeamNG.drive ~/.local/share`
После установки символической ссылки между пользовательскими папками и скомпилированным лаунчером вы можете заставить Steam запустить игру через Proton, при этом лаунчер автоматически запустится со следующей заменой параметров запуска для оригинальной игры, которые можно найти в окне «Свойства» игры в ее записи в Steam:
- `~/BeamMP/BeamMP-Launcher --no-launch & %command% ; killall BeamMP-Launcher`
Обратите внимание, что это предполагает, что вы поместили скомпилированный ранее двоичный файл лаунчера в `/home/user/BeamMP/`, поэтому измените его так, чтобы он соответствовал месту, куда вы поместили готовый двоичный файл, и вам придется перекомпилировать лаунчер с правильной веткой git каждый раз при выпуске обновления лаунчера.
::: tip "Добавление шрифта эмодзи для получения эмодзи в тексте"
```
Для того чтобы эмодзи отображались в списке серверов (как часть пользовательского имени сервера) или во внутриигровом чате, вам нужен шрифт, содержащий эмодзи.
Это можно сделать, например, добавив [Linux-версию шрифта эмодзи Segoe-UI для Windows](https://github.com/mrbvrz/segoe-ui-linux)
```
---
## **3. Использование BeamMP**
1. После запуска лаунчера вы увидите окно терминала. Вскоре после этого должен запуститься стандартный лаунчер BeamNG. **Не** закрывайте окно терминала.
2. В главном меню BeamNG.drive нажмите кнопку `Repository` и убедитесь, что включен <strong>только</strong> мод <code>multiplayerbeammp</code> .
3. Выйдите в главное меню, нажмите «Ещё..», затем кнопку «Мультиплеер», чтобы начать игру по сети.
4. Вам будет предложено войти или играть в качестве гостя (не все серверы допускают гостей). Вы можете создать учетную запись на нашем [форуме](https://forum.beammp.com), а затем войти в BeamMP с теми же учетными данными.
5. Выберите любой понравившийся вам сервер и нажмите `Connect`. Наслаждайтесь!
---
## **4. Известные проблемы**
- Нативный linux BeamMP-Launcher в настоящее время может подключиться к серверу только один раз, после отключения вам нужно перезапустить лаунчер. Вы можете сделать это, не закрывая игру между
- Если вы не видите кнопку «Мультиплеер». Убедитесь, что мод BeamMP присутствует и активирован в «Менеджере модов», затем попробуйте нажать CTRL + L.
- VPN любого типа могут вызывать проблемы с подключением.
- Если Launcher сообщает о каких-либо ошибках, прочтите [FAQ](https://forum.beammp.com/c/faq/35).
Если вам потребуется дополнительная помощь с установкой, вы можете создать сообщение на нашем [форуме](https://forum.beammp.com) или задать вопрос на нашем [сервере Discord](https://discord.gg/beammp).
+163
View File
@@ -0,0 +1,163 @@
# Начиная
## **1. Совместимость**
BeamMP полностью совместим с Windows и Linux, совместимость с MacOS находится в разработке. Однако Linux и MacOS являются вторичными платформами, поэтому следует ожидать ошибок.
:::предупреждение
```
BeamMP не будет работать с пиратскими или устаревшими версиями BeamNG.drive.
Служба поддержки BeamMP не оказывает помощь по вопросам, связанным с пиратскими/устаревшими копиями.
```
---
## **2. Установка**
### **2а. Установка Windows**
:::примечание
```
По состоянию на 1 апреля 2026 года, согласно Windows Defender SmartScreen, установщик MSI является «неопознанным приложением».
Чтобы проигнорировать это предупреждение, нажмите «Подробнее», а затем нажмите «Запустить в любом случае».
```
1. Перейдите на [сайт beammp.com](https://beammp.com/) и нажмите кнопку «Скачать сейчас».
2. Запустите установщик `BeamMP_Installer.msi` и следуйте инструкциям.
3. Значок BeamMP Launcher должен появиться на рабочем столе. Если нет, просто введите «BeamMP» в строку поиска Windows.
:::примечание
```
Поскольку при загрузке на карту с множеством созданных транспортных средств подключение может занять больше времени, чем ожидалось.
```
### **2б. Установка Linux**
В настоящее время вам необходимо самостоятельно собрать Launcher. Для этого вам необходимо базовое понимание того, как собрать приложение.
Убедитесь, что у вас установлены базовые инструменты разработки, которые обычно входят в пакеты, например:
- Debian/Ubuntu: `sudo apt install build-essential`
- Fedora: `sudo dnf install cmake gcc gcc-c++ make perl perl-IPC-Cmd perl-FindBin perl-File-Compare perl-File-Copy kernel-headers kernel-devel`
- Arch: `sudo pacman -S base-devel`
- openSUSE: `zypper in -t pattern devel-basis`
- SteamOS (Arch): `sudo pacman -S base-devel linux-api-headers glibc libconfig` (Вам также необходимо выполнить команду `sudo steamos-readonly disable` , но не забудьте включить ее снова после установки пакетов)
Склонируйте `vcpkg`, выполните его начальную сборку (bootstrap) и добавьте в PATH
1.
```bash
git clone https://github.com/microsoft/vcpkg.git
```
1.
```bash
./vcpkg/bootstrap-vcpkg.sh
```
1.
```bash
export VCPKG_ROOT="$(pwd)/vcpkg"
export PATH=$VCPKG_ROOT:$PATH
```
Клонируйте репозиторий BeamMP-Launcher в свою систему с помощью `git`, например: `git clone https://github.com/BeamMP/BeamMP-Launcher.git` [Дополнительная информация о клонировании репозитория GitHub](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository)
Переключитесь на тег, который использовался для [последнего релиза](https://github.com/BeamMP/BeamMP-Launcher/releases/latest). Например, если в последнем релизе использовался `v2.6.4`, выполните команду `git checkout v2.6.4`
Если вы использовали пример команды клонирования, который мы предоставили, вы можете использовать `cd BeamMP-Launcher`, чтобы перейти в корневой каталог проекта.
В корневом каталоге проекта,
1.
```cmake
cmake . -B bin -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-linux
```
1.
```cmake
cmake --build bin --parallel
```
:::примечание ""
```
Если во время сборки не хватит оперативной памяти, можно исключить параметр --parallel — в этом случае сборка будет выполняться только в одном потоке процессора, что позволит сократить объем используемой оперативной памяти.
```
:::примечание ""
```
Не указывая `-DCMAKE_BUILD_TYPE=Release`, вы создаете отладочную версию, которая больше по размеру файла, но не содержит ошибки, из-за которой программа запуска может подключиться к серверу только один раз.
```
:::примечание "Пользователи Fedora" Если vcpkg выдаёт ошибку при компиляции OpenSSL из-за заголовков ядра, убедитесь, что все зависимости установлены: `bash sudo dnf install kernel-headers kernel-devel gcc gcc-c++ make perl` Затем очистите кэш vcpkg: `bash rm -rf $VCPKG_ROOT/buildtrees/openssl` И повторите команду конфигурации cmake.
Переместите готовое приложение из папки `/bin` в отдельную папку и запустите его оттуда:
```bash
mkdir -p ~/beammp-launcher
cp bin/BeamMP-Launcher ~/beammp-launcher/
cd ~/beammp-launcher
./BeamMP-Launcher
```
Нативный Linux-ланчер BeamMP запустится и будет использовать нативную версию BeamNG.drive для Linux
### **2c. Использование beamNG.drive с Proton**
Если вы хотите использовать родной Linux BeamMP-Launcher вместе с BeamNG.drive, работающим через Proton, вы можете сделать это:
Запустите BeamMP-Launcher, используя аргумент `--no-launch` (Это не позволит Launcher запустить собственный Linux BeamNG.drive). Дополнительную информацию об аргументах Launcher можно найти в [разделе Настройка среды разработки](../guides/beammp-dev/beammp-dev.md)
Измените расположение пользовательской папки Proton-BeamNG.drive на расположение Linux-BeamNG.drive (поскольку собственный Linux BeamMP-Launcher в настоящее время записывает только в пользовательскую папку Linux-BeamNG.drive)
Это можно сделать, например, создав символическую ссылку
- Запомните местоположение пользовательской папки Linux-BeamNG.drive (обычно она находится в `~/.local/share/BeamNG.drive`) и переименуйте ее, например, в `BeamNG.drive_old`
- Обратите внимание на расположение пользовательской папки Proton-BeamNG.drive (обычно она находится в `~/.local/share/Steam/steamapps/compatdata/284160/pfx/drive_c/users/steamuser/AppData/Local/BeamNG.drive`)
- Создайте символическую ссылку между обеими папками пользователей `ln -s ~/.local/share/Steam/steamapps/compatdata/284160/pfx/drive_c/users/steamuser/AppData/Local/BeamNG.drive ~/.local/share`
После установки символической ссылки между пользовательскими папками и скомпилированным лаунчером вы можете заставить Steam запустить игру через Proton, при этом лаунчер автоматически запустится со следующей заменой параметров запуска для оригинальной игры, которые можно найти в окне «Свойства» игры в ее записи в Steam:
- `~/BeamMP/BeamMP-Launcher --no-launch & %command% ; killall BeamMP-Launcher`
Обратите внимание, что это предполагает, что вы поместили скомпилированный ранее двоичный файл лаунчера в `/home/user/BeamMP/`, поэтому измените его так, чтобы он соответствовал месту, куда вы поместили готовый двоичный файл, и вам придется перекомпилировать лаунчер с правильной веткой git каждый раз при выпуске обновления лаунчера.
::: tip "Добавление шрифта эмодзи для получения эмодзи в тексте"
```
Для того чтобы эмодзи отображались в списке серверов (как часть пользовательского имени сервера) или во внутриигровом чате, вам нужен шрифт, содержащий эмодзи.
Это можно сделать, например, добавив [Linux-версию шрифта эмодзи Segoe-UI для Windows](https://github.com/mrbvrz/segoe-ui-linux)
```
---
## **3. Использование BeamMP**
1. После запуска лаунчера вы увидите окно терминала. Вскоре после этого должен запуститься стандартный лаунчер BeamNG. **Не** закрывайте окно терминала.
2. В главном меню BeamNG.drive нажмите кнопку `Repository` и убедитесь, что включен <strong>только</strong> мод <code>multiplayerbeammp</code> .
3. Выйдите в главное меню, нажмите «Ещё..», затем кнопку «Мультиплеер», чтобы начать игру по сети.
4. Вам будет предложено войти или играть в качестве гостя (не все серверы допускают гостей). Вы можете создать учетную запись на нашем [форуме](https://forum.beammp.com), а затем войти в BeamMP с теми же учетными данными.
5. Выберите любой понравившийся вам сервер и нажмите `Connect`. Наслаждайтесь!
---
## **4. Известные проблемы**
- Нативный linux BeamMP-Launcher в настоящее время может подключиться к серверу только один раз, после отключения вам нужно перезапустить лаунчер. Вы можете сделать это, не закрывая игру между
- Если вы не видите кнопку «Мультиплеер». Убедитесь, что мод BeamMP присутствует и активирован в «Менеджере модов», затем попробуйте нажать CTRL + L.
- VPN любого типа могут вызывать проблемы с подключением.
- Если Launcher сообщает о каких-либо ошибках, прочтите [FAQ](https://forum.beammp.com/c/faq/35).
Если вам потребуется дополнительная помощь с установкой, вы можете создать сообщение на нашем [форуме](https://forum.beammp.com) или задать вопрос на нашем [сервере Discord](https://discord.gg/beammp).
@@ -0,0 +1,323 @@
# Настройки Мультиплеера
## **1. Общие**
??? setting "Продвинутые настройки"
```
Если включено, будут видны все настройки многопользовательской игры
Если выключено, видны только базовые настройки
```
??? setting "Включить защиту от клонирования конфигурации"
```
Если включено, конфигурация вашего транспортного средства будет защищена от сохранения другими игроками
Если выключено, другие игроки смогут сохранить вашу конфигурацию
```
??? setting "Отключить паузу из-за нестабильностей"
```
Если включено, физические нестабильности не будут останавливать игру
Если выключено, нестабильности будут вызывать паузу
::: note ""
Рекомендуется оставить выключенным, так как повторяющиеся нестабильности могут привести к крашу игры
```
??? setting "Использовать упрощённые транспортные средства, если доступны"
```
Если включено, транспортные средства других игроков будут заменяться упрощёнными моделями (как в AI-трафике), если они доступны
Если выключено, будут использоваться оригинальные модели
```
??? setting "Новое меню чата"
```
Если включено, чат отображается в окне [IMGUI](https://github.com/ocornut/imgui), которое можно, например, переместить на другой монитор
Если выключено, чат отображается в стандартном UI приложении
::: note ""
Перетаскивание IMGUI окон может снизить производительность и сбивать программы записи экрана, записывая окно чата вместо основного окна игры
```
??? setting "Включить сглаживание положения автомобиля"
```
Если включено, BeamMP будет использовать алгоритм для сглаживания обновлений позиции транспортного средства через регулярные интервалы. Это может быть полезно для игроков с высоким пингом или при высокой потере пакетов
Если выключено, BeamMP будет обновлять позиции транспортных средств по мере их получения
```
??? setting "Пропускать предупреждение безопасности модов"
```
Если включено, всплывающее окно с предупреждением о безопасности модов не будет отображаться при подключении к серверу с модами
Если выключено, предупреждение будет показываться каждый раз при подключении к серверу с модами
```
??? setting "Включить очередь обновлений/редактирования"
```
Если включено, спавн и изменения транспортных средств других игроков будут помещаться в очередь. Подробнее см. раздел `2. Очередь событий`
Если выключено, спавн и изменения транспортных средств других игроков будут загружаться мгновенно
```
??? setting "Включить автоматическую синхронизацию деталей"
```
Если включено, детали вашего транспортного средства автоматически синхронизируются с другими игроками через несколько секунд
Если выключено, необходимо вручную нажимать кнопку синхронизации деталей в меню выбора деталей для отправки синхронизации другим игрокам
```
??? setting "Выключить переключение на машины других игроков"
```
Если включено, переключение между транспортными средствами пропустит машины других игроков
Если выключено, переключение будет происходить по всем доступным транспортным средствам
```
??? setting "Сделать машины прозрачными при приближении"
```
Если включено, другие машины будут постепенно исчезать по мере приближения
Если выключено, другие машины будут полностью видимы независимо от расстояния
::: note ""
Это влияет только на видимую 3D-модель машины, а не на физическую mesh-сетку. Чтобы также отключить физику, необходимо включить `Упрощённая физика столкновений` в настройках игры
```
??? setting "Показывать ID игроков"
```
Если включено, в списке игроков появится дополнительная колонка с ID каждого игрока. Полезно для разработки или модерации
Если выключено, список игроков будет показывать только имя игрока и пинг
```
??? setting "Разрешить обновление списка серверов в игре"
```
Если включено, список серверов будет обновляться с регулярными интервалами во время игры. Это может вызвать лаги
Если выключено, список серверов обновляется только при открытии главного меню
```
## **2. Очередь событий**
??? setting "Выделить игроков в очереди"
```
Если включено, игроки с ожидающими событиями будут выделены в списке игроков
Если выключено, игроки не будут выделяться индивидуально
```
??? setting "Выделять игроков с очередью"
```
Если установлено `Левая кнопка мыши`, клик по имени игрока в списке левой кнопкой мыши загрузит ожидающие события, правая кнопка — позволит наблюдать за игроком
Если установлено `Правая кнопка мыши`, клик правой кнопкой мыши загрузит ожидающие события, левая кнопка — позволит наблюдать
```
??? setting "Автоматизировать очередь"
```
Если включено, события из очереди будут автоматически загружены после того, как ваш транспорт опустится ниже порога скорости на установленное время таймаута
Если выключено, события загружаются вручную, через кнопку `События` в верхней части экрана или клик по имени игрока в списке
```
??? setting "Порог скорости для срабатывания очереди"
```
Этот параметр определяет порог скорости для автоматической загрузки событий из очереди. Ваш транспорт должен быть медленнее этого порога дольше, чем `Таймаут срабатывания очереди`, чтобы события были загружены
```
??? setting "Таймаут срабатывания очереди"
```
Этот параметр определяет задержку времени для автоматической загрузки событий из очереди. Ваш транспорт должен быть медленнее `Порог скорости для срабатывания очереди` в течение этого времени, чтобы события были загружены
```
??? setting "Не использовать очередь в режиме наблюдения"
```
Если включено, событие будет загружено мгновенно, если вы наблюдаете за другим игроком
Если выключено, событие будет помещено в очередь, как при фокусе на вашем транспортном средстве
```
??? setting "Не использовать очередь с Юнициклами (Снеговиками/Бимлингсами)"
```
Если включено, событие, связанное с снеговиком или бимлингом, будет загружено мгновенно
Если выключено, снеговики/бимлинги будут помещены в очередь, как и другие машины
```
## **3. Настройка стандартного Юницикла**
??? setting "Конфигурация Юницикла по Умолчанию"
```
Этот параметр определяет вариант юницикла, который будет загружаться по умолчанию. Можно выбрать между готовыми конфигурациями или своими сохранёнными настройками
```
??? setting "Автоматически сохранять последний использованный Юницикл"
```
Если включено, последний использованный юницикл автоматически сохранится и загрузится при следующем спавне
Если выключено, будет спавниться конфигурация по умолчанию
```
## **4. Капли**
??? setting "Использовать капли для незаспавнившегося автомобиля"
```
Если включено, вместо незаспавненного транспортного средства будет отображаться placeholder-объект (капля)
Если выключено, незаспавненный транспорт будет невидим
```
??? setting "Изменить цвет"
```
??? setting "Видимость"
Если включено, капля будет нарисована с использованием выбранного цвета.
Если выключено, капля отображаться не будет.
??? setting "RGB HEX значения"
Ожидаемый транспорт: цвет капли при очереди на спавн, стандарт #FF6400
Незаконный транспорт: цвет капли для запрещенного транспорта (например, через сторонний мод), стандарт #000000
Удалённый транспорт: цвет капли для удалённого пользователем транспорта, стандарт #333333
```
## **5. Ники**
??? setting "Скрыть ники игроков"
```
Если включено, ники игроков не отображаются
Если выключено, ники игроков отображаются в зависимости от позиции их машин
```
??? setting "Показывать дистанцию до других игроков"
```
Если включено, к нику будет добавлено расстояние до соответствующего транспортного средства
Если выключено, расстояние отображаться не будет
```
??? setting "Включить/выключть исчезновение ников"
```
Если включено, ники будут появляться/исчезать в зависимости от `Дистанция исчезновения ников` и `Инвертировать направление исчезновения`
Если выключено, ники будут отображаться с обычной непрозрачностью вне зависимости от расстояния
```
??? setting "Дистанция исчезновения ников/Инвертировать направление исчезновения"
```
::: info "Исчезновение"
Ники становятся менее видимыми, чем дальше находится игрок
`Дистанция исчезновения ников` определяет расстояние, на котором ник отображается с минимальной непрозрачностью
::: info "Появление"
Ники становятся более видимыми, чем дальше находится игрок
`Дистанция исчезновения ников` определяет расстояние, на котором ник отображается с максимальной непрозрачностью
```
??? setting "Не скрывать ники полностью"
```
Если включено, ники не могут быть полностью невидимыми, сохраняется минимальная непрозрачность вне зависимости от расстояния
Если выключено, ники могут стать полностью невидимыми
```
??? setting "Обрезать длинные никнеймы и роли"
```
Если включено, `Лимит длины ника` обрежет ники и роли до установленного числа символов
Если выключено, ники и роли отображаются полностью
```
??? setting "Показать наблюдателей под ником автомобиля"
```
Если включено, под ником игрока будет отображаться имя наблюдателя
Если выключено, имена наблюдателей не отображаются
```
??? setting "Показывать никнеймы наблюдателей серым цветом независимо от их роли"
```
Если включено, ник наблюдателя всегда будет окружён серым фоном
Если выключено, фон будет отражать роль наблюдателя цветом
```
## **6. Другие**
??? setting "Показывать сетевую активность в консоле"
```
Если включено, активность сети BeamMP будет отображаться в консоле
Если выключено, активность сети не будет отображаться
::: danger ""
Будьте осторожны с этой настройкой, так как весь вывод консоли также записывается в лог-файлы
При включении эта настройка может привести к росту файлов логов на сотни мегабайт за считанные минуты
```
??? setting "Порт лаунчера"
```
Этот параметр определяет порт для связи с лаунчером
Изменять следует только если стандартный порт 4444 использовать нельзя
Не забудьте также изменить его в конфигурации лаунчера `launcher.cfg`
::: tip ""
Указанный порт — первый из двух. Второй порт используется сразу после него, то есть порт + 1
Первый порт передаёт основные сетевые пакеты, второй — игровые пакеты, оба через TCP
```
+19
View File
@@ -51,7 +51,26 @@
"Version 2.X (Deprecated)": "Версия 2.X (Устаревшая)",
"Contributing": "Участие",
"Getting Started": "Начало работы",
"Get Started": "Начало работы",
"Community": "Сообщество",
"Players": "Игроки",
"Server Owners": "Владельцы серверов",
"Developers": "Разработчики",
"Game Documentation": "Игровая документация",
"Troubleshooting": "Устранение неполадок",
"Install BeamMP": "Установить BeamMP",
"Join Your First Server": "Подключиться к первому серверу",
"First-Time Multiplayer Settings": "Первичная настройка мультиплеера",
"Gameplay Basics": "Основы игрового процесса",
"Mod Safety": "Безопасность модов",
"Host a Server": "Запустить сервер",
"Check for CGNAT": "Проверить CGNAT",
"Server Error Codes": "Коды ошибок сервера",
"BeamMP Scripting Reference": "Справочник скриптинга BeamMP",
"Community Info": "Информация о сообществе",
"Launcher Update Issues": "Проблемы обновления лаунчера",
"Connection / Networking Issues": "Проблемы подключения / сети",
"Defender / Firewall Exclusions": "Исключения Defender / брандмауэра",
"General Information": "Общая информация",
"Rules": "Правила"
}
+22
View File
@@ -0,0 +1,22 @@
# Часто Задаваемые Вопросы Игроков
## Как привязать свой аккаунт Discord?
Связывание вашего аккаунта Discord с аккаунтом BeamMP — новая функция BeamMP. Для этого перейдите в [Настройки аккаунта на форуме](https://forum.beammp.com/my/preferences/account) и подключите свой аккаунт Discord в разделе «Связанные аккаунты» (это видно только при отключенной двухфакторной аутентификации на форуме).
## Как получить ранний доступ?
Ранний доступ (включая фиолетовую метку и другие преимущества) можно получить, поддержав нас финансово на [Patreon](https://patreon.com/BeamMP), купив уровень, сделав пожертвование или ускорив сервер Discord. Пожертвование **x** суммы в долларах США = **x** дополнительных ключей сервера, включая преимущества EA. Ускорение дает вам +4 ключа сервера в дополнение к преимуществам EA.
## Я подписался на Patreon. Как мне получить свои привилегии?
Чтобы автоматически получать бонусы, обязательно выполните следующие действия:
1. Свяжите свой аккаунт Discord на [Patreon](https://www.patreon.com/settings/apps/discord), чтобы получить роли и доступ на сервере Discord.
2. Пожалуйста, убедитесь, что вы используете тот же адрес электронной почты на Patreon, что и для вашей учетной записи BeamMP на [Форуме](https://forum.beammp.com/).
Пожалуйста, будьте терпеливы, синхронизация системы может занять несколько часов, иногда до 12. Если вы не получили свои бонусы в течение 12 часов и выполнили вышеуказанные шаги, обратитесь в службу поддержки BeamMP.
## У меня есть еще вопросы!
Если ваш вопрос или проблема связаны с Игрой или процессом, пожалуйста, обратитесь к разделу [FAQ по Играм](game-faq.md). Если ваш вопрос или проблема связаны с запуском Сервера, пожалуйста, обратитесь к разделу [FAQ по Серверу](server-faq.md). В противном случае, пожалуйста, посетите [форумы](https://forum.beammp.com/c/faq/35), где сообщество может задавать вопросы и получать ответы.
+163
View File
@@ -0,0 +1,163 @@
# Начиная
## **1. Совместимость**
BeamMP полностью совместим с Windows и Linux, совместимость с MacOS находится в разработке. Однако Linux и MacOS являются вторичными платформами, поэтому следует ожидать ошибок.
:::предупреждение
```
BeamMP не будет работать с пиратскими или устаревшими версиями BeamNG.drive.
Служба поддержки BeamMP не оказывает помощь по вопросам, связанным с пиратскими/устаревшими копиями.
```
---
## **2. Установка**
### **2а. Установка Windows**
:::примечание
```
По состоянию на 1 апреля 2026 года, согласно Windows Defender SmartScreen, установщик MSI является «неопознанным приложением».
Чтобы проигнорировать это предупреждение, нажмите «Подробнее», а затем нажмите «Запустить в любом случае».
```
1. Перейдите на [сайт beammp.com](https://beammp.com/) и нажмите кнопку «Скачать сейчас».
2. Запустите установщик `BeamMP_Installer.msi` и следуйте инструкциям.
3. Значок BeamMP Launcher должен появиться на рабочем столе. Если нет, просто введите «BeamMP» в строку поиска Windows.
:::примечание
```
Поскольку при загрузке на карту с множеством созданных транспортных средств подключение может занять больше времени, чем ожидалось.
```
### **2б. Установка Linux**
В настоящее время вам необходимо самостоятельно собрать Launcher. Для этого вам необходимо базовое понимание того, как собрать приложение.
Убедитесь, что у вас установлены базовые инструменты разработки, которые обычно входят в пакеты, например:
- Debian/Ubuntu: `sudo apt install build-essential`
- Fedora: `sudo dnf install cmake gcc gcc-c++ make perl perl-IPC-Cmd perl-FindBin perl-File-Compare perl-File-Copy kernel-headers kernel-devel`
- Arch: `sudo pacman -S base-devel`
- openSUSE: `zypper in -t pattern devel-basis`
- SteamOS (Arch): `sudo pacman -S base-devel linux-api-headers glibc libconfig` (Вам также необходимо выполнить команду `sudo steamos-readonly disable` , но не забудьте включить ее снова после установки пакетов)
Склонируйте `vcpkg`, выполните его начальную сборку (bootstrap) и добавьте в PATH
1.
```bash
git clone https://github.com/microsoft/vcpkg.git
```
1.
```bash
./vcpkg/bootstrap-vcpkg.sh
```
1.
```bash
export VCPKG_ROOT="$(pwd)/vcpkg"
export PATH=$VCPKG_ROOT:$PATH
```
Клонируйте репозиторий BeamMP-Launcher в свою систему с помощью `git`, например: `git clone https://github.com/BeamMP/BeamMP-Launcher.git` [Дополнительная информация о клонировании репозитория GitHub](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository)
Переключитесь на тег, который использовался для [последнего релиза](https://github.com/BeamMP/BeamMP-Launcher/releases/latest). Например, если в последнем релизе использовался `v2.6.4`, выполните команду `git checkout v2.6.4`
Если вы использовали пример команды клонирования, который мы предоставили, вы можете использовать `cd BeamMP-Launcher`, чтобы перейти в корневой каталог проекта.
В корневом каталоге проекта,
1.
```cmake
cmake . -B bin -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-linux
```
1.
```cmake
cmake --build bin --parallel
```
:::примечание ""
```
Если во время сборки не хватит оперативной памяти, можно исключить параметр --parallel — в этом случае сборка будет выполняться только в одном потоке процессора, что позволит сократить объем используемой оперативной памяти.
```
:::примечание ""
```
Не указывая `-DCMAKE_BUILD_TYPE=Release`, вы создаете отладочную версию, которая больше по размеру файла, но не содержит ошибки, из-за которой программа запуска может подключиться к серверу только один раз.
```
:::примечание "Пользователи Fedora" Если vcpkg выдаёт ошибку при компиляции OpenSSL из-за заголовков ядра, убедитесь, что все зависимости установлены: `bash sudo dnf install kernel-headers kernel-devel gcc gcc-c++ make perl` Затем очистите кэш vcpkg: `bash rm -rf $VCPKG_ROOT/buildtrees/openssl` И повторите команду конфигурации cmake.
Переместите готовое приложение из папки `/bin` в отдельную папку и запустите его оттуда:
```bash
mkdir -p ~/beammp-launcher
cp bin/BeamMP-Launcher ~/beammp-launcher/
cd ~/beammp-launcher
./BeamMP-Launcher
```
Нативный Linux-ланчер BeamMP запустится и будет использовать нативную версию BeamNG.drive для Linux
### **2c. Использование beamNG.drive с Proton**
Если вы хотите использовать родной Linux BeamMP-Launcher вместе с BeamNG.drive, работающим через Proton, вы можете сделать это:
Запустите BeamMP-Launcher, используя аргумент `--no-launch` (Это не позволит Launcher запустить собственный Linux BeamNG.drive). Дополнительную информацию об аргументах Launcher можно найти в [разделе Настройка среды разработки](../guides/beammp-dev/beammp-dev.md)
Измените расположение пользовательской папки Proton-BeamNG.drive на расположение Linux-BeamNG.drive (поскольку собственный Linux BeamMP-Launcher в настоящее время записывает только в пользовательскую папку Linux-BeamNG.drive)
Это можно сделать, например, создав символическую ссылку
- Запомните местоположение пользовательской папки Linux-BeamNG.drive (обычно она находится в `~/.local/share/BeamNG.drive`) и переименуйте ее, например, в `BeamNG.drive_old`
- Обратите внимание на расположение пользовательской папки Proton-BeamNG.drive (обычно она находится в `~/.local/share/Steam/steamapps/compatdata/284160/pfx/drive_c/users/steamuser/AppData/Local/BeamNG.drive`)
- Создайте символическую ссылку между обеими папками пользователей `ln -s ~/.local/share/Steam/steamapps/compatdata/284160/pfx/drive_c/users/steamuser/AppData/Local/BeamNG.drive ~/.local/share`
После установки символической ссылки между пользовательскими папками и скомпилированным лаунчером вы можете заставить Steam запустить игру через Proton, при этом лаунчер автоматически запустится со следующей заменой параметров запуска для оригинальной игры, которые можно найти в окне «Свойства» игры в ее записи в Steam:
- `~/BeamMP/BeamMP-Launcher --no-launch & %command% ; killall BeamMP-Launcher`
Обратите внимание, что это предполагает, что вы поместили скомпилированный ранее двоичный файл лаунчера в `/home/user/BeamMP/`, поэтому измените его так, чтобы он соответствовал месту, куда вы поместили готовый двоичный файл, и вам придется перекомпилировать лаунчер с правильной веткой git каждый раз при выпуске обновления лаунчера.
::: tip "Добавление шрифта эмодзи для получения эмодзи в тексте"
```
Для того чтобы эмодзи отображались в списке серверов (как часть пользовательского имени сервера) или во внутриигровом чате, вам нужен шрифт, содержащий эмодзи.
Это можно сделать, например, добавив [Linux-версию шрифта эмодзи Segoe-UI для Windows](https://github.com/mrbvrz/segoe-ui-linux)
```
---
## **3. Использование BeamMP**
1. После запуска лаунчера вы увидите окно терминала. Вскоре после этого должен запуститься стандартный лаунчер BeamNG. **Не** закрывайте окно терминала.
2. В главном меню BeamNG.drive нажмите кнопку `Repository` и убедитесь, что включен <strong>только</strong> мод <code>multiplayerbeammp</code> .
3. Выйдите в главное меню, нажмите «Ещё..», затем кнопку «Мультиплеер», чтобы начать игру по сети.
4. Вам будет предложено войти или играть в качестве гостя (не все серверы допускают гостей). Вы можете создать учетную запись на нашем [форуме](https://forum.beammp.com), а затем войти в BeamMP с теми же учетными данными.
5. Выберите любой понравившийся вам сервер и нажмите `Connect`. Наслаждайтесь!
---
## **4. Известные проблемы**
- Нативный linux BeamMP-Launcher в настоящее время может подключиться к серверу только один раз, после отключения вам нужно перезапустить лаунчер. Вы можете сделать это, не закрывая игру между
- Если вы не видите кнопку «Мультиплеер». Убедитесь, что мод BeamMP присутствует и активирован в «Менеджере модов», затем попробуйте нажать CTRL + L.
- VPN любого типа могут вызывать проблемы с подключением.
- Если Launcher сообщает о каких-либо ошибках, прочтите [FAQ](https://forum.beammp.com/c/faq/35).
Если вам потребуется дополнительная помощь с установкой, вы можете создать сообщение на нашем [форуме](https://forum.beammp.com) или задать вопрос на нашем [сервере Discord](https://discord.gg/beammp).
+22
View File
@@ -0,0 +1,22 @@
# Часто Задаваемые Вопросы Игроков
## Как привязать свой аккаунт Discord?
Связывание вашего аккаунта Discord с аккаунтом BeamMP — новая функция BeamMP. Для этого перейдите в [Настройки аккаунта на форуме](https://forum.beammp.com/my/preferences/account) и подключите свой аккаунт Discord в разделе «Связанные аккаунты» (это видно только при отключенной двухфакторной аутентификации на форуме).
## Как получить ранний доступ?
Ранний доступ (включая фиолетовую метку и другие преимущества) можно получить, поддержав нас финансово на [Patreon](https://patreon.com/BeamMP), купив уровень, сделав пожертвование или ускорив сервер Discord. Пожертвование **x** суммы в долларах США = **x** дополнительных ключей сервера, включая преимущества EA. Ускорение дает вам +4 ключа сервера в дополнение к преимуществам EA.
## Я подписался на Patreon. Как мне получить свои привилегии?
Чтобы автоматически получать бонусы, обязательно выполните следующие действия:
1. Свяжите свой аккаунт Discord на [Patreon](https://www.patreon.com/settings/apps/discord), чтобы получить роли и доступ на сервере Discord.
2. Пожалуйста, убедитесь, что вы используете тот же адрес электронной почты на Patreon, что и для вашей учетной записи BeamMP на [Форуме](https://forum.beammp.com/).
Пожалуйста, будьте терпеливы, синхронизация системы может занять несколько часов, иногда до 12. Если вы не получили свои бонусы в течение 12 часов и выполнили вышеуказанные шаги, обратитесь в службу поддержки BeamMP.
## У меня есть еще вопросы!
Если ваш вопрос или проблема связаны с Игрой или процессом, пожалуйста, обратитесь к разделу [FAQ по Играм](game-faq.md). Если ваш вопрос или проблема связаны с запуском Сервера, пожалуйста, обратитесь к разделу [FAQ по Серверу](server-faq.md). В противном случае, пожалуйста, посетите [форумы](https://forum.beammp.com/c/faq/35), где сообщество может задавать вопросы и получать ответы.
+22
View File
@@ -0,0 +1,22 @@
# Часто Задаваемые Вопросы Игроков
## Как привязать свой аккаунт Discord?
Связывание вашего аккаунта Discord с аккаунтом BeamMP — новая функция BeamMP. Для этого перейдите в [Настройки аккаунта на форуме](https://forum.beammp.com/my/preferences/account) и подключите свой аккаунт Discord в разделе «Связанные аккаунты» (это видно только при отключенной двухфакторной аутентификации на форуме).
## Как получить ранний доступ?
Ранний доступ (включая фиолетовую метку и другие преимущества) можно получить, поддержав нас финансово на [Patreon](https://patreon.com/BeamMP), купив уровень, сделав пожертвование или ускорив сервер Discord. Пожертвование **x** суммы в долларах США = **x** дополнительных ключей сервера, включая преимущества EA. Ускорение дает вам +4 ключа сервера в дополнение к преимуществам EA.
## Я подписался на Patreon. Как мне получить свои привилегии?
Чтобы автоматически получать бонусы, обязательно выполните следующие действия:
1. Свяжите свой аккаунт Discord на [Patreon](https://www.patreon.com/settings/apps/discord), чтобы получить роли и доступ на сервере Discord.
2. Пожалуйста, убедитесь, что вы используете тот же адрес электронной почты на Patreon, что и для вашей учетной записи BeamMP на [Форуме](https://forum.beammp.com/).
Пожалуйста, будьте терпеливы, синхронизация системы может занять несколько часов, иногда до 12. Если вы не получили свои бонусы в течение 12 часов и выполнили вышеуказанные шаги, обратитесь в службу поддержки BeamMP.
## У меня есть еще вопросы!
Если ваш вопрос или проблема связаны с Игрой или процессом, пожалуйста, обратитесь к разделу [FAQ по Играм](game-faq.md). Если ваш вопрос или проблема связаны с запуском Сервера, пожалуйста, обратитесь к разделу [FAQ по Серверу](server-faq.md). В противном случае, пожалуйста, посетите [форумы](https://forum.beammp.com/c/faq/35), где сообщество может задавать вопросы и получать ответы.
+323
View File
@@ -0,0 +1,323 @@
# Настройки Мультиплеера
## **1. Общие**
??? setting "Продвинутые настройки"
```
Если включено, будут видны все настройки многопользовательской игры
Если выключено, видны только базовые настройки
```
??? setting "Включить защиту от клонирования конфигурации"
```
Если включено, конфигурация вашего транспортного средства будет защищена от сохранения другими игроками
Если выключено, другие игроки смогут сохранить вашу конфигурацию
```
??? setting "Отключить паузу из-за нестабильностей"
```
Если включено, физические нестабильности не будут останавливать игру
Если выключено, нестабильности будут вызывать паузу
::: note ""
Рекомендуется оставить выключенным, так как повторяющиеся нестабильности могут привести к крашу игры
```
??? setting "Использовать упрощённые транспортные средства, если доступны"
```
Если включено, транспортные средства других игроков будут заменяться упрощёнными моделями (как в AI-трафике), если они доступны
Если выключено, будут использоваться оригинальные модели
```
??? setting "Новое меню чата"
```
Если включено, чат отображается в окне [IMGUI](https://github.com/ocornut/imgui), которое можно, например, переместить на другой монитор
Если выключено, чат отображается в стандартном UI приложении
::: note ""
Перетаскивание IMGUI окон может снизить производительность и сбивать программы записи экрана, записывая окно чата вместо основного окна игры
```
??? setting "Включить сглаживание положения автомобиля"
```
Если включено, BeamMP будет использовать алгоритм для сглаживания обновлений позиции транспортного средства через регулярные интервалы. Это может быть полезно для игроков с высоким пингом или при высокой потере пакетов
Если выключено, BeamMP будет обновлять позиции транспортных средств по мере их получения
```
??? setting "Пропускать предупреждение безопасности модов"
```
Если включено, всплывающее окно с предупреждением о безопасности модов не будет отображаться при подключении к серверу с модами
Если выключено, предупреждение будет показываться каждый раз при подключении к серверу с модами
```
??? setting "Включить очередь обновлений/редактирования"
```
Если включено, спавн и изменения транспортных средств других игроков будут помещаться в очередь. Подробнее см. раздел `2. Очередь событий`
Если выключено, спавн и изменения транспортных средств других игроков будут загружаться мгновенно
```
??? setting "Включить автоматическую синхронизацию деталей"
```
Если включено, детали вашего транспортного средства автоматически синхронизируются с другими игроками через несколько секунд
Если выключено, необходимо вручную нажимать кнопку синхронизации деталей в меню выбора деталей для отправки синхронизации другим игрокам
```
??? setting "Выключить переключение на машины других игроков"
```
Если включено, переключение между транспортными средствами пропустит машины других игроков
Если выключено, переключение будет происходить по всем доступным транспортным средствам
```
??? setting "Сделать машины прозрачными при приближении"
```
Если включено, другие машины будут постепенно исчезать по мере приближения
Если выключено, другие машины будут полностью видимы независимо от расстояния
::: note ""
Это влияет только на видимую 3D-модель машины, а не на физическую mesh-сетку. Чтобы также отключить физику, необходимо включить `Упрощённая физика столкновений` в настройках игры
```
??? setting "Показывать ID игроков"
```
Если включено, в списке игроков появится дополнительная колонка с ID каждого игрока. Полезно для разработки или модерации
Если выключено, список игроков будет показывать только имя игрока и пинг
```
??? setting "Разрешить обновление списка серверов в игре"
```
Если включено, список серверов будет обновляться с регулярными интервалами во время игры. Это может вызвать лаги
Если выключено, список серверов обновляется только при открытии главного меню
```
## **2. Очередь событий**
??? setting "Выделить игроков в очереди"
```
Если включено, игроки с ожидающими событиями будут выделены в списке игроков
Если выключено, игроки не будут выделяться индивидуально
```
??? setting "Выделять игроков с очередью"
```
Если установлено `Левая кнопка мыши`, клик по имени игрока в списке левой кнопкой мыши загрузит ожидающие события, правая кнопка — позволит наблюдать за игроком
Если установлено `Правая кнопка мыши`, клик правой кнопкой мыши загрузит ожидающие события, левая кнопка — позволит наблюдать
```
??? setting "Автоматизировать очередь"
```
Если включено, события из очереди будут автоматически загружены после того, как ваш транспорт опустится ниже порога скорости на установленное время таймаута
Если выключено, события загружаются вручную, через кнопку `События` в верхней части экрана или клик по имени игрока в списке
```
??? setting "Порог скорости для срабатывания очереди"
```
Этот параметр определяет порог скорости для автоматической загрузки событий из очереди. Ваш транспорт должен быть медленнее этого порога дольше, чем `Таймаут срабатывания очереди`, чтобы события были загружены
```
??? setting "Таймаут срабатывания очереди"
```
Этот параметр определяет задержку времени для автоматической загрузки событий из очереди. Ваш транспорт должен быть медленнее `Порог скорости для срабатывания очереди` в течение этого времени, чтобы события были загружены
```
??? setting "Не использовать очередь в режиме наблюдения"
```
Если включено, событие будет загружено мгновенно, если вы наблюдаете за другим игроком
Если выключено, событие будет помещено в очередь, как при фокусе на вашем транспортном средстве
```
??? setting "Не использовать очередь с Юнициклами (Снеговиками/Бимлингсами)"
```
Если включено, событие, связанное с снеговиком или бимлингом, будет загружено мгновенно
Если выключено, снеговики/бимлинги будут помещены в очередь, как и другие машины
```
## **3. Настройка стандартного Юницикла**
??? setting "Конфигурация Юницикла по Умолчанию"
```
Этот параметр определяет вариант юницикла, который будет загружаться по умолчанию. Можно выбрать между готовыми конфигурациями или своими сохранёнными настройками
```
??? setting "Автоматически сохранять последний использованный Юницикл"
```
Если включено, последний использованный юницикл автоматически сохранится и загрузится при следующем спавне
Если выключено, будет спавниться конфигурация по умолчанию
```
## **4. Капли**
??? setting "Использовать капли для незаспавнившегося автомобиля"
```
Если включено, вместо незаспавненного транспортного средства будет отображаться placeholder-объект (капля)
Если выключено, незаспавненный транспорт будет невидим
```
??? setting "Изменить цвет"
```
??? setting "Видимость"
Если включено, капля будет нарисована с использованием выбранного цвета.
Если выключено, капля отображаться не будет.
??? setting "RGB HEX значения"
Ожидаемый транспорт: цвет капли при очереди на спавн, стандарт #FF6400
Незаконный транспорт: цвет капли для запрещенного транспорта (например, через сторонний мод), стандарт #000000
Удалённый транспорт: цвет капли для удалённого пользователем транспорта, стандарт #333333
```
## **5. Ники**
??? setting "Скрыть ники игроков"
```
Если включено, ники игроков не отображаются
Если выключено, ники игроков отображаются в зависимости от позиции их машин
```
??? setting "Показывать дистанцию до других игроков"
```
Если включено, к нику будет добавлено расстояние до соответствующего транспортного средства
Если выключено, расстояние отображаться не будет
```
??? setting "Включить/выключть исчезновение ников"
```
Если включено, ники будут появляться/исчезать в зависимости от `Дистанция исчезновения ников` и `Инвертировать направление исчезновения`
Если выключено, ники будут отображаться с обычной непрозрачностью вне зависимости от расстояния
```
??? setting "Дистанция исчезновения ников/Инвертировать направление исчезновения"
```
::: info "Исчезновение"
Ники становятся менее видимыми, чем дальше находится игрок
`Дистанция исчезновения ников` определяет расстояние, на котором ник отображается с минимальной непрозрачностью
::: info "Появление"
Ники становятся более видимыми, чем дальше находится игрок
`Дистанция исчезновения ников` определяет расстояние, на котором ник отображается с максимальной непрозрачностью
```
??? setting "Не скрывать ники полностью"
```
Если включено, ники не могут быть полностью невидимыми, сохраняется минимальная непрозрачность вне зависимости от расстояния
Если выключено, ники могут стать полностью невидимыми
```
??? setting "Обрезать длинные никнеймы и роли"
```
Если включено, `Лимит длины ника` обрежет ники и роли до установленного числа символов
Если выключено, ники и роли отображаются полностью
```
??? setting "Показать наблюдателей под ником автомобиля"
```
Если включено, под ником игрока будет отображаться имя наблюдателя
Если выключено, имена наблюдателей не отображаются
```
??? setting "Показывать никнеймы наблюдателей серым цветом независимо от их роли"
```
Если включено, ник наблюдателя всегда будет окружён серым фоном
Если выключено, фон будет отражать роль наблюдателя цветом
```
## **6. Другие**
??? setting "Показывать сетевую активность в консоле"
```
Если включено, активность сети BeamMP будет отображаться в консоле
Если выключено, активность сети не будет отображаться
::: danger ""
Будьте осторожны с этой настройкой, так как весь вывод консоли также записывается в лог-файлы
При включении эта настройка может привести к росту файлов логов на сотни мегабайт за считанные минуты
```
??? setting "Порт лаунчера"
```
Этот параметр определяет порт для связи с лаунчером
Изменять следует только если стандартный порт 4444 использовать нельзя
Не забудьте также изменить его в конфигурации лаунчера `launcher.cfg`
::: tip ""
Указанный порт — первый из двух. Второй порт используется сразу после него, то есть порт + 1
Первый порт передаёт основные сетевые пакеты, второй — игровые пакеты, оба через TCP
```
+46
View File
@@ -0,0 +1,46 @@
Как проверить наличие CGNAT?
## Проблема
Все исключения брандмауэра и правила переадресации портов настроены правильно, но никто не может подключиться к вашему домашнему серверу?
Если у вас проблемы с подключением и вы используете Hosting-Service, обратитесь к ним за помощью. Если вы хотите использовать VPS или не можете разместить сервер дома, взгляните на наш [список партнерских хостинговых услуг](../../server/create-a-server/#partnered-hosting-services-paid) (Документация по настройке сервера).
# Что такое CGNAT?
Подробное объяснение того, что такое CGNAT и почему это может стать проблемой при попытке размещения сервера дома, можно найти на [этой странице](https://en.wikipedia.org/wiki/Carrier-grade_NAT).
# Как проверить наличие CGNAT?
## Метод 1:
Откройте командную строку, запустите `tracert -4 beammp.com`. Это выведет серию сетевых переходов. Дождитесь завершения операции (может занять до 30 переходов). Проверьте первые несколько IP-адресов после IP вашего маршрутизатора/модема/шлюза. Если после первого перехода появляется несколько IP-адресов в диапазоне `100.64.xx` - `100.127.xx` или `10.xx.xx.xx`, скорее всего, вы находитесь за CGNAT.
:::примечание
```
Первый переход будет вашим роутером/модемом/шлюзом и отличается в зависимости от устройства.
Официальные диапазоны для локальных сетей следующие:
``10.0.0.xxx`` - ``192.168.xxx.xxx`` - ```172.16.xxx.xxx``
```
## Метод 2:
Узнайте WAN IP на вашем маршрутизаторе, посмотрев его на его интерфейсе. Сравните его с IP, опубликованным, например, на https://whatsmyip.org. Если они НЕ совпадают, вы находитесь за CGNAT.
## Метод 3/Решение:
Обратитесь за помощью к своему интернет-провайдеру. В зависимости от вашего интернет-провайдера, они могут не предлагать выделенные *динамические* IP-адреса. Помните, что статический IP-адрес не является обязательным.
::: warning
```
Интернет-провайдеры могут предлагать выделенные IP-адреса только как платную услугу.
Проверьте цены у наших партнёрских хостинговых сервисов — это может оказаться дешевле этой платы!
```
Пример сети, не являющейся CGNAT:
![изображение](https://github.com/user-attachments/assets/fee21a50-cbb0-4322-9c26-d9f04f88ae37)
Теги: Сервер, 10060 10061, CGNAT, Сбой подключения, Переадресация портов, Брандмауэр
+22
View File
@@ -0,0 +1,22 @@
# Коды Ошибок
На этой странице содержатся все коды ошибок, которые может отображать сервер.
---
Код | Описание | Возможное решение
--- | --- | ---
10022 | Возникла проблема с привязкой к порту | Проверьте, не используется ли порт сервера другой службой, если да, используйте другую.
10048 | Адрес уже используется | На этом порту запущен другой сервер или программа BeamMP, используйте другой.
10051 | Сеть недоступна | Неправильная переадресация портов или аналогичные проблемы. Проверьте, что все настроено правильно.
10052 | Сброс сети | Происходит, если сеть обрывает соединение во время установки соединения. Повторите попытку соединения.
10053 | Соединение прервано | Вызвано тайм-аутом или ошибкой сети. Повторите попытку подключения.
10054 | Сброс соединения пиром | Клиент отключился от вашего сервера.
10060 | Время ожидания соединения истекло | Возникла проблема с переадресацией портов. Ознакомьтесь с [пошаговыми инструкциями](create-a-server.md#1-port-forwarding) .
10061 | В соединении отказано | Возникла проблема с переадресацией портов. Ознакомьтесь с [пошаговыми инструкциями](create-a-server.md#1-port-forwarding) .
10064 | Хост недоступен | Маловероятная ошибка, но она означает, что хост вышел из строя из-за его отключения или закрытия портов.
10065 | Хост недостижим | Нет интернета или плохая переадресация портов, пожалуйста, следуйте [инструкциям руководства](create-a-server.md#1-port-forwarding) .
::: note
Если вы немного знаете, как работают сети / сокеты, для любого другого кода, не указанного в этом списке, вы можете обратиться к [https://learn.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2](https://learn.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2) .
+89
View File
@@ -0,0 +1,89 @@
# Часто задаваемые вопросы и известные проблемы
Список часто задаваемых вопросов и известных ошибок.
---
## **Сервер**
---
### **Как мне настроить свои собственные серверы?**
Всю информацию о настройке собственного сервера можно найти [здесь](https://docs.beammp.com/server/create-a-server/).
---
### **Можно ли создать сервер с использованием Linux?**
Мы предоставляем бинарные файлы для многих дистрибутивов Linux [здесь](https://github.com/BeamMP/BeamMP-Server/releases/latest). Если для вашей операционной системы/дистрибутива нет бинарных файлов, вы можете собрать их самостоятельно, загрузив исходный код на нашем [GitHub](https://github.com/BeamMP/BeamMP-Server), руководство можно найти [здесь](https://github.com/BeamMP/BeamMP-Server#build-instructions).
---
### **Каковы минимальные системные требования для запуска сервера BeamMP?**
- ОЗУ: 50+ МБ полезной памяти (не считая накладных расходов ОС)
- Процессор: &gt;1 ГГц, желательно многоядерный
- ОС: Windows, Linux (теоретически любая POSIX)
- Графический процессор: Нет
- HDD: 10 МБ + Моды/Плагины
- Пропускная способность: загрузка 5-10 Мбит/с
---
## **Игроки за пределами моей сети не могут присоединиться к моему серверу, размещенному на моем собственном сервере.**
Прочитайте руководство по переадресации портов, которое доступно [здесь](https://docs.beammp.com/server/port-forwarding/). Ниже приведен краткий обзор наиболее важных шагов. Если другие игроки, пытаясь подключиться к вашему серверу, получают код ошибки 10060, 10061 или 10038 в своем лаунчере BeamMP, то вам следует проверить следующие шаги:
- Перенаправьте порт 30814 (или любой другой порт, указанный в ServerConfig.toml), протоколы TCP и UDP.
- Разрешить BeamMP через брандмауэр Windows, разрешить как входящие, так и исходящие соединения. Отключение брандмауэра обычно НЕ работает.
- Убедитесь, что вы не используете VPN (это может вызвать проблемы).
- Убедитесь, что сервер действительно работает, без ошибок и предупреждений.
Вы можете проверить, успешно ли выполнен проброс портов, с помощью CheckBeamMP, пока сервер работает.
<form action="https://check.beammp.com/api/v2/beammp" method="get" target="_blank">
<label for="ip">IP-адрес:</label>
<input type="text" id="ip" name="ip"><br>
<label for="port">Порт:</label>
<input type="text" id="port" name="port"><br>
<input type="submit" value="CheckBeamMP">
</form>
Примечания:
- Некоторые интернет-провайдеры не предоставляют выделенные адреса IPv4 для вашего соединения (CGNAT), поэтому переадресация портов может быть невозможна, несмотря на то, что она доступна в маршрутизаторе.
- Переадресация портов невозможна, если вы используете мобильное (4G/5G) интернет-подключение.
---
### **Я вижу свой сервер, размещенный на собственном сервере, в списке серверов, но не могу подключиться к нему сам**
Если сервер запущен на той же машине, что и игра, вам самим придется использовать Direct Connect для присоединения с IP 127.0.0.1 и портом вашего сервера. Чтобы вы могли присоединиться на свой собственный сервер через список серверов, ваш маршрутизатор должен поддерживать NAT-loopback, но эту функцию поддерживают не многие домашние маршрутизаторы.
---
## **Разнообразный**
---
### **Где я могу найти код?**
Весь исходный код можно найти на нашем [GitHub](https://github.com/BeamMP). Прежде чем что-либо делать, помните, что код подчиняется нашим [Условиям использования](https://forum.beammp.com/t/terms-of-use-v1-0/43) и лицензиям:
Код | Лицензия
--- | :-:
Сервер | [ЛИЦЕНЗИЯ](https://github.com/BeamMP/BeamMP-Server/blob/master/LICENSE)
Пусковая установка | [ЛИЦЕНЗИЯ](https://github.com/BeamMP/BeamMP-Launcher/blob/master/README.md)
Клиент Луа | [ЛИЦЕНЗИЯ](https://github.com/BeamMP/BeamMP/blob/development/LICENSE.md)
---
### **Я нашел ошибку или эксплойт, что мне делать?**
Если проблема связана с кодом, и вы знаете, как использовать GitHub, создайте новую «Проблему» в соответствующем репозитории на нашем [GitHub](https://github.com/BeamMP). Мы используем рабочий процесс, основанный на проблемах, поэтому даже если у вас уже есть исправление ошибки, рассмотрите возможность открытия новой «Проблемы», а затем подайте «Запрос на извлечение», который решит вашу «Проблему». Более подробную информацию о содействии можно найти [здесь](https://github.com/BeamMP/BeamMP/blob/development/CONTRIBUTING.md).
Если у вас нет учетной записи GitHub или вы не знаете, как пользоваться GitHub, вы можете связаться с нами следующими способами:
- Если это не что-то деликатное, вы можете создать сообщение на нашем [Форуме BeamMP](https://forum.beammp.com) или сообщить об этом на нашем [Официальном Discord](https://discord.gg/beammp).
- Если информация конфиденциальная, вы можете напрямую сообщить о проблеме нашему сотруднику в [Discord](https://discord.gg/beammp).
+297
View File
@@ -0,0 +1,297 @@
# Установка Сервера
## **Создание Сервера**
Основы настройки серверного приложения
---
### **Обзор**
**Создание домашнего сервера бесплатно, размещение его на VPS проще и безопаснее**
Серверы являются неотъемлемой частью BeamMP; игроки подключаются друг к другу через сервер. Они работают нативно на Windows и Linux.
Вы можете создавать частные серверы, к которым смогут присоединиться только приглашенные вами люди, или публичные серверы, которые будут отображаться в нашем официальном списке серверов.
Запуск сервера — это процесс из нескольких шагов! Если у вас возникнут какие-либо проблемы, смело задавайте их на нашем [форуме](https://forum.beammp.com) или на нашем [сервере Discord](https://discord.gg/beammp) в канале `#support`. Также обратитесь к разделу [«Обслуживание сервера»](server-maintenance.md) для получения дополнительной информации.
Перед использованием обязательно прочтите [ЛИЦЕНЗИЮ](https://raw.githubusercontent.com/BeamMP/BeamMP-Server/master/LICENSE) сервера.
Примечание: *сервер поддерживает только IPv4. Если вы не знаете, какой у вас IPv4, посмотрите на IP-адрес, который вы видите на [*whatsmyip.org*](https://www.whatsmyip.org/) — если он содержит* двоеточия `_:_` *, это **IPv6**. В этом случае вам следует дополнительно выяснить, есть ли у вас IPv4. Вы можете позвонить своему интернет-провайдеру, чтобы узнать это, или спросить кого-то, кто живет с вами (если они разбираются в технологиях, они могут знать!). Поддержка IPv6 планируется.*
## Настройка Сервера
Настройка состоит из следующих шагов, вам следует выполнить их все.
### **1. Переадресация портов**
::: информация
```
Если вы используете VPS (виртуальный частный сервер), корневой сервер или планируете разместить этот сервер локально (с игроками в одном доме с вами), вы можете пропустить этот шаг.
Этот шаг необходим, если вы хотите, чтобы кто-то **вне** вашего домохозяйства присоединился к вашему домашнему серверу (за пределами вашей локальной сети).
::: danger ":material-scale-balance: ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ:"
**Переадресация портов — это риск**.
Переадресуя порты, вы осознаете риски открытия портов в вашей домашней сети для публики и, следовательно, лишаете себя права привлекать BeamMP к ответственности за **любой** ущерб, который может быть причинен вам или вашему домохозяйству.
Мы не несем ответственности за какой-либо контент на любых внешних связанных сервисах или веб-сайтах.
Поэтому рекомендуется разместить сервер на одном из наших партнерских сервисов!
*Пожалуйста, ознакомьтесь с [этим руководством по переадресации портов](port-forwarding.md)*
```
#### Партнерские услуги хостинга (платные):
- [Хостинг Горизонта](https://hrzn.link/beammp)
- [RackGenius](https://rackgeni.us/beammp-plans)
- [Подключить хостинг](https://connecthosting.net/beammp)
- [Хостинг Assetto](https://assettohosting.com/en/games/beamng)
- [ZAP-Хостинг](https://zap-hosting.com/itsbeammp)
- [HostHavoc](https://hosthavoc.com/)
- [PedalHost](https://pedal.host/)
- [Хостинг Vyper](https://vyperhosting.com/r/beammp)
- [BisectHosting](https://www.bisecthosting.com/beammp-server-hosting)
- [Хостинг Four Seasons](https://fourseasonshosting.com)
- [Vertuo Хостинг](https://vertuohosting.com)
- [Винхеберг](https://winheberg.fr/offres/gaming/beammp?lang=en)
- [Ваббанод](https://wabbanode.com/partner/beammp)
- [Айcлайн Хостинг](https://iceline-hosting.com/games/beammp)
#### 1.1 Брандмауэр
В зависимости от настроек вам может потребоваться разрешить BeamMP-Server проходить через ваш брандмауэр. Это касается Windows (отключение брандмауэра обычно **не** работает) и многих предустановленных серверов Linux.
Там вы хотите разрешить BeamMP-Server через брандмауэр, **как входящие, так и исходящие соединения**, и **как TCP, так и UDP**. Если ваш брандмауэр запрашивает порт вместо этого, это должен быть тот же порт, который вы использовали на шаге «1. Переадресация портов» (обычно 30814).
Для более детализированного руководства, обратитесь к [этой странице документации](https://docs.beammp.com/FAQ/Defender-exclusions/). Если у вас остались проблемы, вы можете спросить о них на [Форуме](https://forum.beammp.com) или нашем [Discord сервере](https://discord.gg/beammp) в `#support` канале.
### **2. Получение ключа аутентификации**
«Ключ аутентификации», часто называемый «AuthKey», необходим для того, чтобы сделать **общедоступный** сервер доступным для списка серверов. Хотя рекомендуется добавлять authkey и к частным серверам. У вас есть ограниченное количество ключей. Один ключ может использоваться на одном сервере одновременно, поэтому вы не можете запустить два сервера одновременно с одним и тем же ключом. Дополнительные ключи можно получить, поддержав проект. Прочитайте [эту статью](https://docs.beammp.com/support/player-faq/) для получения дополнительной информации.
::: warning
```
НИКОГДА НЕ ДЕЛИТЕСЬ ЭТИМ КЛЮЧОМ И НЕ ПОКАЗЫВАЙТЕ ЕГО НИКОМУ. ОТНОСИТЕСЬ К НЕМУ КАК К ПАРОЛЮ.
```
:::
Для этого шага вам понадобится учетная запись [Discord](https://discord.com). Это необходимо для предотвращения спама.
#### 2.1. Доступ к странице ключей
Войдите в [Keymaster](https://beammp.com/keymaster) через Discord. На домашней странице Keymaster нажмите «Ключи» в левой части экрана:
<figure markdown="">![](../../assets/content/keymaster_homepage.png)</figure>
#### 2.2 Создание ключа
Чтобы создать свой ключ, нажмите на зеленую кнопку «+» в правом верхнем углу.
<figure markdown="">![](../../assets/content/keymaster_new_key.png)</figure>
#### 2.3. Заполнение ключевой информации
Далее заполните поле Имя сервера (это просто имя ключа, а не фактическое имя сервера в списке), затем нажмите «Создать». Пример:
<figure class="image image_resized" style="width:44.84%;" markdown="">![](../../assets/content/keymaster_server_name.png)</figure>
В конечном итоге это должно выглядеть примерно так:
<figure markdown="">![](../../assets/content/keymaster_key_done.png)</figure>
#### 2.4 Копирование ключа
Теперь скопируйте текст в поле «Ключ», в этом примере это `3173a2e-6az0-4542-a3p0-ddqq5ff95558` и сохраните его для следующего шага. Вы можете сделать это, щелкнув по буферу обмена справа от ключа:
<figure markdown="">![](../../assets/content/keymaster_copy_key.png)</figure>
### **3. Установка**
BeamMP-Server доступен для Windows и Linux. Следующие два раздела посвящены Windows и Linux.
#### 3.а. Установка на Windows
Для установки Linux см. следующий шаг.
Пожалуйста, убедитесь, что у вас перенаправлены порты, прежде чем пытаться разместить сервер дома! Без перенаправления портов вы не сможете разместить сервер для общественности!
1. Для запуска сервера убедитесь, что у вас установлены [Visual C++ Redistributables](https://aka.ms/vs/17/release/vc_redist.x64.exe).
2. Загрузите исполняемый файл сервера с [beammp.com](https://www.beammp.com/). У вас должен получиться исполняемый файл, который называется примерно так: `BeamMP-Server.exe`.
3. После загрузки создайте где-нибудь папку и поместите туда `BeamMP-Server.exe`. Это то место, где будет находиться ваш сервер.
4. Запустите сервер один раз, дважды щелкнув по нему. Это сгенерирует все необходимые файлы для вас, как только вы увидите текст, вы можете закрыть его и перейти к следующему шагу. Вы должны увидеть файл `ServerConfig.toml` рядом с вашим `BeamMP-Server.exe`.
5. (необязательно) Для быстрого доступа в будущем вы можете легко создать ярлык на рабочем столе для `BeamMP-Server.exe` используя **[Щелкните правой кнопкой мыши]** &gt; **Отправить на** &gt; **Рабочий стол (создать ярлык).**
Теперь перейдите к шагу [4. Конфигурация](#4-configuration).
#### 3.б. Установка на Linux
##### Использование нашей сборки (рекомендуется)
Этот шаг будет работать на всех дистрибутивах, для которых мы предоставляем [здесь](https://github.com/BeamMP/BeamMP-Server/releases/latest) файлы. Если у вас другой дистрибутив или архитектура, обратитесь к шагу «Сборка из исходного кода» ниже.
1. Убедитесь, что у вас установлены зависимости, перечисленные [здесь](https://github.com/BeamMP/BeamMP-Server#runtime-dependencies).
2. Перейдите на сайт [beammp.com](https://beammp.com/) и нажмите кнопку «Загрузить сервер», вы будете перенаправлены на страницу релиза сервера на GitHub.
3. Загрузите правильную версию для вашего дистрибутива. Для простоты с этого момента она будет называться `BeamMP-Server-xxx`, где `xxx` обозначает версию для используемого вами дистрибутива.
4. После загрузки вы должны увидеть один файл с именем `BeamMP-Server-xxx`, среди прочих, которые вы можете пока проигнорировать. Создайте где-нибудь папку и поместите туда `BeamMP-Server-xxx`. Это то место, где будет находиться ваш сервер.
5. Откройте терминал, перейдите в папку, в которую вы поместили `BeamMP-Server-xxx`, и выполните `chmod +x BeamMP-Server-xxx`. Это гарантирует, что у вас есть разрешения на его запуск.
6. Запустите сервер один раз, запустив его с помощью `./BeamMP-Server-xxx`. Это сгенерирует все необходимые файлы для вас, как только вы увидите текст, вы можете закрыть его и перейти к следующему шагу. Вы должны увидеть файл `ServerConfig.toml` рядом с вашим `BeamMP-Server-xxx`.
7. (необязательно) Настоятельно рекомендуется настроить пользователя с именем `beammpserver` (или похожим), поскольку мы НЕ рекомендуем запускать сервер как root, sudo или с вашей личной учетной записью пользователя. Затем вам следует предпринять шаги, чтобы убедиться, что вы запускаете сервер только как этот пользователь.
Теперь перейдите к шагу «4. Конфигурация».
##### Сборка из источника
Другие дистрибутивы в дополнение к тем, которые уже имеют [здесь](https://github.com/BeamMP/BeamMP-Server/releases/latest) двоичный файл, вероятно, тоже будут работать, но официально не поддерживаются. Если вы хотите собрать его самостоятельно, вы можете сделать это, загрузив исходный код на нашем [GitHub](https://github.com/BeamMP/BeamMP-Server), руководство можно найти [здесь](https://github.com/BeamMP/BeamMP-Server#build-instructions).
В конце обязательно запустите свой сервер один раз с помощью `./BeamMP-Server`, а затем переходите к следующему шагу.
### **4. Конфигурация**
Теперь, когда вы запустили сервер один раз, он должен был создать некоторые файлы и, вероятно, выдать одну или две ошибки. Это потому, что мы еще не закончили. В вашей папке должны быть эти файлы:
<figure markdown="">![](../../assets/content/after-running-once.png)</figure>
Они называются «ServerConfig.toml», «Server.log» и «BeamMP-Server.exe»! (В зависимости от ваших настроек вы можете не увидеть расширения [.toml] [.log] [.exe])
Откройте `ServerConfig.toml` с помощью текстового редактора, например `Notepad`. Это можно сделать с помощью [Правый клик] → «Открыть с помощью…» и выбора текстового редактора.
Вот пример конфигурации:
```TOML
[General]
Port = 30814
AuthKey = "auth-key"
AllowGuests = false
LogChat = false
Debug = false
IP = "::"
Private = true
InformationPacket = true
Name = "Test Server"
Tags = "Freeroam,Modded,Racing,Police"
MaxCars = 2
MaxPlayers = 10
Map = "/levels/ks_nord/info.json"
Description = "Total Random Beam MP Server"
ResourceFolder = "Resources"
```
::: информация
```
Это ваш файл конфигурации. Он использует формат TOML. Дополнительную информацию об этом файле и переменных см. в разделе [Обслуживание сервера](server-maintenance.md).
Ваш сервер **НЕ** будет отображаться в списке серверов, пока установлено значение `Private = true`. _Если_ вы хотите, чтобы он отображался в списке, установите значение **`Private = false`**.
```
Пока что нас интересует только поле `AuthKey`. В кавычки `"` нужно вставить свой AuthKey, скопированный на первом шаге.
Для нашего примера ключ должен выглядеть следующим образом:
```TOML
AuthKey = '3173a2e-6az0-4542-a3p0-ddqq5ff95558'
```
Присвойте своему серверу имя в поле `Name`. Вы можете форматировать его с помощью цветов и других средств; подробности см. в [этом разделе о настройке имени](server-maintenance.md#customize-the-look-of-your-server-name) на странице обслуживания сервера.
Если вы выбрали другой **порт**, отличный от **30814**, обязательно замените его здесь в разделе `Port`.
### **5. Проверка**
Теперь снова запустите сервер и посмотрите, выдает ли он еще сообщения `[ERROR]` или `[WARN]`. Теперь сервер должен оставаться открытым. В следующих шагах (6.) ниже вы можете узнать, как присоединиться к серверу.
---
#### 5.1 Как добавить моды на свой сервер
Моды транспортных средств и моды карт устанавливаются по-разному, но оба требуют, чтобы вы поместили их в папку вашего сервера (`Resources/Client`). Просто перетащите любой мод, который вы хотите добавить, в эту папку.
::: предупреждение
```
Если вы получили сообщение «Готово» или «Начало» при попытке присоединиться к серверу после добавления модов, скорее всего, вы добавили на сервер несовместимый или сломанный мод.
Несовместимость модов может также возникнуть между 2 или более модами. Если у вас установлены клиентские моды, проверьте [это руководство](../../FAQ/How-to-deactivate-mods.md) об удалении модов из вашей игры.
```
#### 5.2 Общие моды
Если вы хотите добавить только модифицированные транспортные средства, вы можете поместить zip-файл мода в папку `Resources/Client`. Они будут автоматически загружены любым, кто присоединится к вашему серверу.
#### 5.3 Карты
Все стандартные карты (карты, которые не являются модами) работают сразу «из коробки» и не требуют установки. Вам нужно лишь изменить параметр `Map` в файле `ServerConfig.toml` на любое из [этих](server-maintenance.md#all-vanilla-maps-names). Для любых других, модифицированных карт, сделайте следующее:
1. Поместите `.zip`-файл вашей карты в папку вашего сервера (`Resources/Client`).
2. Далее, загляните в zip-файл карты (не извлекайте его) и откройте папку `levels`. В этой папке должна быть просто еще одна папка с названием карты, например, «myawesomedriftmap2021». Обязательно скопируйте или запомните это название *точно так, как оно написано в названии этой папки.*
3. Откройте `ServerConfig.toml`. В настройках `Map` вы должны увидеть `/levels/MAPNAME/info.json`, где `MAPNAME`, скорее всего, что-то вроде `gridmap_v2`. Теперь вам нужно заменить `MAPNAME` на имя папки из последнего шага, в том примере это было `myawesomedriftmap2021`. В итоге это должно выглядеть так (для этого примера) и ***должно*** иметь `/info.json` в конце.
```TOML
Map = '/levels/myawesomedriftmap2021/info.json'
```
Теперь, когда кто-то присоединится к вашему серверу, он должен автоматически загрузить карту и работать так, как и ожидалось.
**Если это НЕ работает**, установите карту в одиночную игру BeamNG.drive, запустите ее и войдите в карту. Затем откройте консоль, нажав клавишу `~` (*тильда*) (если у вас не американская раскладка клавиатуры, посмотрите на действие **Toggle System Console** в меню **Options &gt; Controls &gt; Bindings** в разделе **General Debug**), и запустите `print(getMissionFilename())`. Это должно показать вам имя для использования.
Вот и все! Ваша модифицированная карта теперь должна быть доступна для присоединения!
### **6. Как присоединиться к вашему серверу**
Как вы и другие игроки можете присоединиться к вашему серверу.
#### 6.a. Присоединение к собственному серверу (как частному, так и публичному)
Если ваш сервер размещен на том же ПК, на котором работает игра, вы должны присоединиться к серверу с помощью прямого подключения, для этого нажмите **вкладку Direct Connect** слева от списка серверов. Оставьте там информацию по умолчанию (должно быть 127.0.0.1 и соответствующий порт), затем нажмите Connect.
Если ваш сервер размещен на другом ПК в вашей локальной сети, вам необходимо найти локальный IP-адрес этой машины и напрямую подключиться, используя этот локальный IP-адрес.
Если ваш сервер размещен за пределами вашего дома (например, VPS), вам необходимо найти [публичный IP-адрес](https://whatismyipaddress.com/) этой машины и подключиться напрямую через него.
#### 6.б. Присоединение других людей к вашему приватному серверу
Вам необходимо предоставить другим пользователям публичный IP-адрес вашего сервера. Однако будьте осторожны, сообщая свой публичный IP-адрес незнакомцам! Чтобы присоединиться к вашему частному серверу, игроки должны перейти на **вкладку Direct Connect** в BeamMP, затем ввести свой IP и порт.
#### 6.c. Присоединение других людей к вашему публичному серверу
Чтобы присоединиться к вашему публичному серверу, они могут просто перейти к списку серверов, ввести имя сервера и нажать «подключиться». Если вы не уверены в имени своего сервера, это будет имя, которое вы указали в `ServerConfig.toml`. Убедитесь, что фильтры поиска отключены, а Карта установлена на «Любая», если вы не можете ее найти. Вы также можете проверить веб-сайт [Keymaster](https://beammp.com/keymaster) на предмет IP-адреса сервера.
Если вы или ваши друзья столкнулись с ошибкой «Сбой подключения!», проверьте окно запуска на наличие кодов вроде 10060, 10061, 10030. Это означает, что у вас либо есть CGNAT IPv4, либо вы сделали что-то неправильно на шаге **1 Переадресация портов** или **1.1. Межсетевой экран**. Чтобы проверить, есть ли у вас CGNAT IPv4, найдите WAN IP-адрес на интерфейсе маршрутизатора. Сравните его с вашим [публичным IP-адресом](https://www.whatsmyip.org/). Если они одинаковы, вы не находитесь за CGNAT. Поддержка IPv6 пока **НЕ** реализована.
### **7. Как проверить подключение вашего сервера BeamMP**
Введите публичный IPv4-адрес и порт сервера ниже, затем нажмите «CheckBeamMP».
<form action="https://check.beammp.com/api/v2/beammp" method="get" target="_blank">
<label for="ip">IP-адрес:</label>
<input type="text" id="ip" name="ip"><br>
<label for="port">Порт:</label>
<input type="text" id="port" name="port"><br>
<input type="submit" value="CheckBeamMP">
</form>
::: warning "Я хочу использовать VPN, например RadminVPN, Hamachi или аналогичный."
```
BeamMP не поддерживает эти VPN, так как они часто вызывают проблемы. Одна из этих проблем — непереадресация трафика UDP. Чтобы решить эту проблему, обратитесь к разделу 1.
::: question "Но почему это работало в прошлом?"
Это происходит из-за того, что разработчики этих приложений обновляют свое программное обеспечение и вносят изменения, которые BeamMP не контролирует.
Разработчики этих приложений должны обеспечить поддержку конкретных вариантов использования, таких как BeamMP-Server.
```
## Все еще сталкиваетесь с проблемами?
Откройте тему на [форуме](https://forum.beammp.com) или на нашем [сервере Discord](https://discord.gg/beammp) в канале `#support`.
+297
View File
@@ -0,0 +1,297 @@
# Установка Сервера
## **Создание Сервера**
Основы настройки серверного приложения
---
### **Обзор**
**Создание домашнего сервера бесплатно, размещение его на VPS проще и безопаснее**
Серверы являются неотъемлемой частью BeamMP; игроки подключаются друг к другу через сервер. Они работают нативно на Windows и Linux.
Вы можете создавать частные серверы, к которым смогут присоединиться только приглашенные вами люди, или публичные серверы, которые будут отображаться в нашем официальном списке серверов.
Запуск сервера — это процесс из нескольких шагов! Если у вас возникнут какие-либо проблемы, смело задавайте их на нашем [форуме](https://forum.beammp.com) или на нашем [сервере Discord](https://discord.gg/beammp) в канале `#support`. Также обратитесь к разделу [«Обслуживание сервера»](server-maintenance.md) для получения дополнительной информации.
Перед использованием обязательно прочтите [ЛИЦЕНЗИЮ](https://raw.githubusercontent.com/BeamMP/BeamMP-Server/master/LICENSE) сервера.
Примечание: *сервер поддерживает только IPv4. Если вы не знаете, какой у вас IPv4, посмотрите на IP-адрес, который вы видите на [*whatsmyip.org*](https://www.whatsmyip.org/) — если он содержит* двоеточия `_:_` *, это **IPv6**. В этом случае вам следует дополнительно выяснить, есть ли у вас IPv4. Вы можете позвонить своему интернет-провайдеру, чтобы узнать это, или спросить кого-то, кто живет с вами (если они разбираются в технологиях, они могут знать!). Поддержка IPv6 планируется.*
## Настройка Сервера
Настройка состоит из следующих шагов, вам следует выполнить их все.
### **1. Переадресация портов**
::: информация
```
Если вы используете VPS (виртуальный частный сервер), корневой сервер или планируете разместить этот сервер локально (с игроками в одном доме с вами), вы можете пропустить этот шаг.
Этот шаг необходим, если вы хотите, чтобы кто-то **вне** вашего домохозяйства присоединился к вашему домашнему серверу (за пределами вашей локальной сети).
::: danger ":material-scale-balance: ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ:"
**Переадресация портов — это риск**.
Переадресуя порты, вы осознаете риски открытия портов в вашей домашней сети для публики и, следовательно, лишаете себя права привлекать BeamMP к ответственности за **любой** ущерб, который может быть причинен вам или вашему домохозяйству.
Мы не несем ответственности за какой-либо контент на любых внешних связанных сервисах или веб-сайтах.
Поэтому рекомендуется разместить сервер на одном из наших партнерских сервисов!
*Пожалуйста, ознакомьтесь с [этим руководством по переадресации портов](port-forwarding.md)*
```
#### Партнерские услуги хостинга (платные):
- [Хостинг Горизонта](https://hrzn.link/beammp)
- [RackGenius](https://rackgeni.us/beammp-plans)
- [Подключить хостинг](https://connecthosting.net/beammp)
- [Хостинг Assetto](https://assettohosting.com/en/games/beamng)
- [ZAP-Хостинг](https://zap-hosting.com/itsbeammp)
- [HostHavoc](https://hosthavoc.com/)
- [PedalHost](https://pedal.host/)
- [Хостинг Vyper](https://vyperhosting.com/r/beammp)
- [BisectHosting](https://www.bisecthosting.com/beammp-server-hosting)
- [Хостинг Four Seasons](https://fourseasonshosting.com)
- [Vertuo Хостинг](https://vertuohosting.com)
- [Винхеберг](https://winheberg.fr/offres/gaming/beammp?lang=en)
- [Ваббанод](https://wabbanode.com/partner/beammp)
- [Айcлайн Хостинг](https://iceline-hosting.com/games/beammp)
#### 1.1 Брандмауэр
В зависимости от настроек вам может потребоваться разрешить BeamMP-Server проходить через ваш брандмауэр. Это касается Windows (отключение брандмауэра обычно **не** работает) и многих предустановленных серверов Linux.
Там вы хотите разрешить BeamMP-Server через брандмауэр, **как входящие, так и исходящие соединения**, и **как TCP, так и UDP**. Если ваш брандмауэр запрашивает порт вместо этого, это должен быть тот же порт, который вы использовали на шаге «1. Переадресация портов» (обычно 30814).
Для более детализированного руководства, обратитесь к [этой странице документации](https://docs.beammp.com/FAQ/Defender-exclusions/). Если у вас остались проблемы, вы можете спросить о них на [Форуме](https://forum.beammp.com) или нашем [Discord сервере](https://discord.gg/beammp) в `#support` канале.
### **2. Получение ключа аутентификации**
«Ключ аутентификации», часто называемый «AuthKey», необходим для того, чтобы сделать **общедоступный** сервер доступным для списка серверов. Хотя рекомендуется добавлять authkey и к частным серверам. У вас есть ограниченное количество ключей. Один ключ может использоваться на одном сервере одновременно, поэтому вы не можете запустить два сервера одновременно с одним и тем же ключом. Дополнительные ключи можно получить, поддержав проект. Прочитайте [эту статью](https://docs.beammp.com/support/player-faq/) для получения дополнительной информации.
::: warning
```
НИКОГДА НЕ ДЕЛИТЕСЬ ЭТИМ КЛЮЧОМ И НЕ ПОКАЗЫВАЙТЕ ЕГО НИКОМУ. ОТНОСИТЕСЬ К НЕМУ КАК К ПАРОЛЮ.
```
:::
Для этого шага вам понадобится учетная запись [Discord](https://discord.com). Это необходимо для предотвращения спама.
#### 2.1. Доступ к странице ключей
Войдите в [Keymaster](https://beammp.com/keymaster) через Discord. На домашней странице Keymaster нажмите «Ключи» в левой части экрана:
<figure markdown="">![](../../assets/content/keymaster_homepage.png)</figure>
#### 2.2 Создание ключа
Чтобы создать свой ключ, нажмите на зеленую кнопку «+» в правом верхнем углу.
<figure markdown="">![](../../assets/content/keymaster_new_key.png)</figure>
#### 2.3. Заполнение ключевой информации
Далее заполните поле Имя сервера (это просто имя ключа, а не фактическое имя сервера в списке), затем нажмите «Создать». Пример:
<figure class="image image_resized" style="width:44.84%;" markdown="">![](../../assets/content/keymaster_server_name.png)</figure>
В конечном итоге это должно выглядеть примерно так:
<figure markdown="">![](../../assets/content/keymaster_key_done.png)</figure>
#### 2.4 Копирование ключа
Теперь скопируйте текст в поле «Ключ», в этом примере это `3173a2e-6az0-4542-a3p0-ddqq5ff95558` и сохраните его для следующего шага. Вы можете сделать это, щелкнув по буферу обмена справа от ключа:
<figure markdown="">![](../../assets/content/keymaster_copy_key.png)</figure>
### **3. Установка**
BeamMP-Server доступен для Windows и Linux. Следующие два раздела посвящены Windows и Linux.
#### 3.а. Установка на Windows
Для установки Linux см. следующий шаг.
Пожалуйста, убедитесь, что у вас перенаправлены порты, прежде чем пытаться разместить сервер дома! Без перенаправления портов вы не сможете разместить сервер для общественности!
1. Для запуска сервера убедитесь, что у вас установлены [Visual C++ Redistributables](https://aka.ms/vs/17/release/vc_redist.x64.exe).
2. Загрузите исполняемый файл сервера с [beammp.com](https://www.beammp.com/). У вас должен получиться исполняемый файл, который называется примерно так: `BeamMP-Server.exe`.
3. После загрузки создайте где-нибудь папку и поместите туда `BeamMP-Server.exe`. Это то место, где будет находиться ваш сервер.
4. Запустите сервер один раз, дважды щелкнув по нему. Это сгенерирует все необходимые файлы для вас, как только вы увидите текст, вы можете закрыть его и перейти к следующему шагу. Вы должны увидеть файл `ServerConfig.toml` рядом с вашим `BeamMP-Server.exe`.
5. (необязательно) Для быстрого доступа в будущем вы можете легко создать ярлык на рабочем столе для `BeamMP-Server.exe` используя **[Щелкните правой кнопкой мыши]** &gt; **Отправить на** &gt; **Рабочий стол (создать ярлык).**
Теперь перейдите к шагу [4. Конфигурация](#4-configuration).
#### 3.б. Установка на Linux
##### Использование нашей сборки (рекомендуется)
Этот шаг будет работать на всех дистрибутивах, для которых мы предоставляем [здесь](https://github.com/BeamMP/BeamMP-Server/releases/latest) файлы. Если у вас другой дистрибутив или архитектура, обратитесь к шагу «Сборка из исходного кода» ниже.
1. Убедитесь, что у вас установлены зависимости, перечисленные [здесь](https://github.com/BeamMP/BeamMP-Server#runtime-dependencies).
2. Перейдите на сайт [beammp.com](https://beammp.com/) и нажмите кнопку «Загрузить сервер», вы будете перенаправлены на страницу релиза сервера на GitHub.
3. Загрузите правильную версию для вашего дистрибутива. Для простоты с этого момента она будет называться `BeamMP-Server-xxx`, где `xxx` обозначает версию для используемого вами дистрибутива.
4. После загрузки вы должны увидеть один файл с именем `BeamMP-Server-xxx`, среди прочих, которые вы можете пока проигнорировать. Создайте где-нибудь папку и поместите туда `BeamMP-Server-xxx`. Это то место, где будет находиться ваш сервер.
5. Откройте терминал, перейдите в папку, в которую вы поместили `BeamMP-Server-xxx`, и выполните `chmod +x BeamMP-Server-xxx`. Это гарантирует, что у вас есть разрешения на его запуск.
6. Запустите сервер один раз, запустив его с помощью `./BeamMP-Server-xxx`. Это сгенерирует все необходимые файлы для вас, как только вы увидите текст, вы можете закрыть его и перейти к следующему шагу. Вы должны увидеть файл `ServerConfig.toml` рядом с вашим `BeamMP-Server-xxx`.
7. (необязательно) Настоятельно рекомендуется настроить пользователя с именем `beammpserver` (или похожим), поскольку мы НЕ рекомендуем запускать сервер как root, sudo или с вашей личной учетной записью пользователя. Затем вам следует предпринять шаги, чтобы убедиться, что вы запускаете сервер только как этот пользователь.
Теперь перейдите к шагу «4. Конфигурация».
##### Сборка из источника
Другие дистрибутивы в дополнение к тем, которые уже имеют [здесь](https://github.com/BeamMP/BeamMP-Server/releases/latest) двоичный файл, вероятно, тоже будут работать, но официально не поддерживаются. Если вы хотите собрать его самостоятельно, вы можете сделать это, загрузив исходный код на нашем [GitHub](https://github.com/BeamMP/BeamMP-Server), руководство можно найти [здесь](https://github.com/BeamMP/BeamMP-Server#build-instructions).
В конце обязательно запустите свой сервер один раз с помощью `./BeamMP-Server`, а затем переходите к следующему шагу.
### **4. Конфигурация**
Теперь, когда вы запустили сервер один раз, он должен был создать некоторые файлы и, вероятно, выдать одну или две ошибки. Это потому, что мы еще не закончили. В вашей папке должны быть эти файлы:
<figure markdown="">![](../../assets/content/after-running-once.png)</figure>
Они называются «ServerConfig.toml», «Server.log» и «BeamMP-Server.exe»! (В зависимости от ваших настроек вы можете не увидеть расширения [.toml] [.log] [.exe])
Откройте `ServerConfig.toml` с помощью текстового редактора, например `Notepad`. Это можно сделать с помощью [Правый клик] → «Открыть с помощью…» и выбора текстового редактора.
Вот пример конфигурации:
```TOML
[General]
Port = 30814
AuthKey = "auth-key"
AllowGuests = false
LogChat = false
Debug = false
IP = "::"
Private = true
InformationPacket = true
Name = "Test Server"
Tags = "Freeroam,Modded,Racing,Police"
MaxCars = 2
MaxPlayers = 10
Map = "/levels/ks_nord/info.json"
Description = "Total Random Beam MP Server"
ResourceFolder = "Resources"
```
::: информация
```
Это ваш файл конфигурации. Он использует формат TOML. Дополнительную информацию об этом файле и переменных см. в разделе [Обслуживание сервера](server-maintenance.md).
Ваш сервер **НЕ** будет отображаться в списке серверов, пока установлено значение `Private = true`. _Если_ вы хотите, чтобы он отображался в списке, установите значение **`Private = false`**.
```
Пока что нас интересует только поле `AuthKey`. В кавычки `"` нужно вставить свой AuthKey, скопированный на первом шаге.
Для нашего примера ключ должен выглядеть следующим образом:
```TOML
AuthKey = '3173a2e-6az0-4542-a3p0-ddqq5ff95558'
```
Присвойте своему серверу имя в поле `Name`. Вы можете форматировать его с помощью цветов и других средств; подробности см. в [этом разделе о настройке имени](server-maintenance.md#customize-the-look-of-your-server-name) на странице обслуживания сервера.
Если вы выбрали другой **порт**, отличный от **30814**, обязательно замените его здесь в разделе `Port`.
### **5. Проверка**
Теперь снова запустите сервер и посмотрите, выдает ли он еще сообщения `[ERROR]` или `[WARN]`. Теперь сервер должен оставаться открытым. В следующих шагах (6.) ниже вы можете узнать, как присоединиться к серверу.
---
#### 5.1 Как добавить моды на свой сервер
Моды транспортных средств и моды карт устанавливаются по-разному, но оба требуют, чтобы вы поместили их в папку вашего сервера (`Resources/Client`). Просто перетащите любой мод, который вы хотите добавить, в эту папку.
::: предупреждение
```
Если вы получили сообщение «Готово» или «Начало» при попытке присоединиться к серверу после добавления модов, скорее всего, вы добавили на сервер несовместимый или сломанный мод.
Несовместимость модов может также возникнуть между 2 или более модами. Если у вас установлены клиентские моды, проверьте [это руководство](../../FAQ/How-to-deactivate-mods.md) об удалении модов из вашей игры.
```
#### 5.2 Общие моды
Если вы хотите добавить только модифицированные транспортные средства, вы можете поместить zip-файл мода в папку `Resources/Client`. Они будут автоматически загружены любым, кто присоединится к вашему серверу.
#### 5.3 Карты
Все стандартные карты (карты, которые не являются модами) работают сразу «из коробки» и не требуют установки. Вам нужно лишь изменить параметр `Map` в файле `ServerConfig.toml` на любое из [этих](server-maintenance.md#all-vanilla-maps-names). Для любых других, модифицированных карт, сделайте следующее:
1. Поместите `.zip`-файл вашей карты в папку вашего сервера (`Resources/Client`).
2. Далее, загляните в zip-файл карты (не извлекайте его) и откройте папку `levels`. В этой папке должна быть просто еще одна папка с названием карты, например, «myawesomedriftmap2021». Обязательно скопируйте или запомните это название *точно так, как оно написано в названии этой папки.*
3. Откройте `ServerConfig.toml`. В настройках `Map` вы должны увидеть `/levels/MAPNAME/info.json`, где `MAPNAME`, скорее всего, что-то вроде `gridmap_v2`. Теперь вам нужно заменить `MAPNAME` на имя папки из последнего шага, в том примере это было `myawesomedriftmap2021`. В итоге это должно выглядеть так (для этого примера) и ***должно*** иметь `/info.json` в конце.
```TOML
Map = '/levels/myawesomedriftmap2021/info.json'
```
Теперь, когда кто-то присоединится к вашему серверу, он должен автоматически загрузить карту и работать так, как и ожидалось.
**Если это НЕ работает**, установите карту в одиночную игру BeamNG.drive, запустите ее и войдите в карту. Затем откройте консоль, нажав клавишу `~` (*тильда*) (если у вас не американская раскладка клавиатуры, посмотрите на действие **Toggle System Console** в меню **Options &gt; Controls &gt; Bindings** в разделе **General Debug**), и запустите `print(getMissionFilename())`. Это должно показать вам имя для использования.
Вот и все! Ваша модифицированная карта теперь должна быть доступна для присоединения!
### **6. Как присоединиться к вашему серверу**
Как вы и другие игроки можете присоединиться к вашему серверу.
#### 6.a. Присоединение к собственному серверу (как частному, так и публичному)
Если ваш сервер размещен на том же ПК, на котором работает игра, вы должны присоединиться к серверу с помощью прямого подключения, для этого нажмите **вкладку Direct Connect** слева от списка серверов. Оставьте там информацию по умолчанию (должно быть 127.0.0.1 и соответствующий порт), затем нажмите Connect.
Если ваш сервер размещен на другом ПК в вашей локальной сети, вам необходимо найти локальный IP-адрес этой машины и напрямую подключиться, используя этот локальный IP-адрес.
Если ваш сервер размещен за пределами вашего дома (например, VPS), вам необходимо найти [публичный IP-адрес](https://whatismyipaddress.com/) этой машины и подключиться напрямую через него.
#### 6.б. Присоединение других людей к вашему приватному серверу
Вам необходимо предоставить другим пользователям публичный IP-адрес вашего сервера. Однако будьте осторожны, сообщая свой публичный IP-адрес незнакомцам! Чтобы присоединиться к вашему частному серверу, игроки должны перейти на **вкладку Direct Connect** в BeamMP, затем ввести свой IP и порт.
#### 6.c. Присоединение других людей к вашему публичному серверу
Чтобы присоединиться к вашему публичному серверу, они могут просто перейти к списку серверов, ввести имя сервера и нажать «подключиться». Если вы не уверены в имени своего сервера, это будет имя, которое вы указали в `ServerConfig.toml`. Убедитесь, что фильтры поиска отключены, а Карта установлена на «Любая», если вы не можете ее найти. Вы также можете проверить веб-сайт [Keymaster](https://beammp.com/keymaster) на предмет IP-адреса сервера.
Если вы или ваши друзья столкнулись с ошибкой «Сбой подключения!», проверьте окно запуска на наличие кодов вроде 10060, 10061, 10030. Это означает, что у вас либо есть CGNAT IPv4, либо вы сделали что-то неправильно на шаге **1 Переадресация портов** или **1.1. Межсетевой экран**. Чтобы проверить, есть ли у вас CGNAT IPv4, найдите WAN IP-адрес на интерфейсе маршрутизатора. Сравните его с вашим [публичным IP-адресом](https://www.whatsmyip.org/). Если они одинаковы, вы не находитесь за CGNAT. Поддержка IPv6 пока **НЕ** реализована.
### **7. Как проверить подключение вашего сервера BeamMP**
Введите публичный IPv4-адрес и порт сервера ниже, затем нажмите «CheckBeamMP».
<form action="https://check.beammp.com/api/v2/beammp" method="get" target="_blank">
<label for="ip">IP-адрес:</label>
<input type="text" id="ip" name="ip"><br>
<label for="port">Порт:</label>
<input type="text" id="port" name="port"><br>
<input type="submit" value="CheckBeamMP">
</form>
::: warning "Я хочу использовать VPN, например RadminVPN, Hamachi или аналогичный."
```
BeamMP не поддерживает эти VPN, так как они часто вызывают проблемы. Одна из этих проблем — непереадресация трафика UDP. Чтобы решить эту проблему, обратитесь к разделу 1.
::: question "Но почему это работало в прошлом?"
Это происходит из-за того, что разработчики этих приложений обновляют свое программное обеспечение и вносят изменения, которые BeamMP не контролирует.
Разработчики этих приложений должны обеспечить поддержку конкретных вариантов использования, таких как BeamMP-Server.
```
## Все еще сталкиваетесь с проблемами?
Откройте тему на [форуме](https://forum.beammp.com) или на нашем [сервере Discord](https://discord.gg/beammp) в канале `#support`.
+245
View File
@@ -0,0 +1,245 @@
# Обслуживание Сервера
Руководства, советы и рекомендации по настройке и обслуживанию сервера BeamMP.
## Как установить
Инструкции по установке см. в разделе [Установка сервера](create-a-server.md).
## Файл ServerConfig
Конфигурация сервера, представляющая собой файл `ServerConfig.toml`, использует [формат TOML](https://toml.io/en/).
*ПРИМЕЧАНИЕ*: *Старый* файл конфигурации сервера назывался `Server.cfg`, но он больше не используется, и сервер выдаст предупреждение, если он все еще присутствует. Также обратите внимание, что два формата конфигурации **несовместимы** друг с другом.
По умолчанию в конфигурации есть один раздел, называемый `[General]`, который содержит следующие значения:
Ключ | Тип значения | Описание
--- | --- | ---
Порт | 1024-65535 | Сетевой порт, по которому сервер будет доступен. (Должен быть уникальным и не использоваться другим сервисом на том же хосте).
AuthKey | Формат AuthKey `xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` где все x — буквенно-цифровые символы (цифры и буквы) | Используется для идентификации публичного сервера в бэкенде.
AllowGuests | правда/ложь | Определяет, разрешено ли гостям подключаться к серверу или нет.
LogChat | правда/ложь | Если включено (true), сообщения чата записываются в файл server.log.
Отлаживать | правда/ложь | При включении (true) будет отображаться больше сообщений в журнале и предоставляться больше информации. Включите это, если у вас возникнут проблемы. Включение этого параметра значительно увеличит размер файла журнала.
Частный | правда/ложь | Если включено (true), ваш сервер не будет отображаться в списке серверов. Любой с правильным IP и портом все равно сможет подключиться.
InformationPacket | правда/ложь | Если включено (true), сервер будет позволять неаутентифицированным клиентам получать ту же информацию, что и в списке серверов, но напрямую с сервера.
Имя | Любой "текст" | Отображается как имя/заголовок вашего сервера в списке серверов. Вы можете использовать специальные символы для форматирования с помощью цветов и стилей.
Tags | См. список разрешённых тегов ниже. | Теги для поиска, например: Police, Racing и т.д.
МаксКарс | Любое число ≥ 1 | Максимальное количество машин на игрока. Любые дополнительные машины, которые игрок попытается создать, будут мгновенно удалены.
MaxPlayers | Любое число ≥ 1 | Максимальное количество игроков на сервере. Это не влияет на количество транспортных средств.
Карта | Допустимое местоположение на карте, например `/levels/gridmap_v2/info.json` | Карта, которую будет размещать ваш сервер. Должна быть установлена либо по умолчанию (список можно найти ниже), либо как серверный мод.
Описание | Любой "текст" | Отображается как описание сервера в списке серверов (если сервер публичный). Вы можете использовать специальные символы для форматирования с помощью цветов и стилей.
ResourceFolder | Корректный путь к папке, например: "D:\Server\BeamMP\Resources" | Полезно хранить сервер и папку ресурсов отдельно.
ImScaredOfUpdates | правда/ложь | Определяет, будет ли сервер автоматически обновляться при выходе новой версии.
UpdateReminderTime | Любое число с суффиксом s, min, h или d (например, 30s). | Задаёт интервал напоминаний об обновлении, выводимых в терминал.
Другие разделы могут и должны использоваться серверными плагинами (скоро появится API Lua), например: `[MyMod]`.
AuthKey **ДОЛЖЕН** быть установлен вами. Он будет пустым по умолчанию и должен быть заполнен вашим AuthKey с шага установки ранее. Не делитесь этим ключом ни с кем и на снимках экрана полностью размывайте его.
### Все названия ванильных карт
Вот все карты акций:
- /levels/gridmap_v2/info.json
- /levels/johnson_valley/info.json
- /levels/automation_test_track/info.json
- /levels/восточное_побережье_США/info.json
- /levels/hirochi_raceway/info.json
- /уровни/италия/info.json
- /levels/jungle_rock_island/info.json
- /уровни/промышленный/info.json
- /levels/маленький_остров/info.json
- /уровни/smallgrid/info.json
- /levels/юта/info.json
- /levels/западное_побережье_США/info.json
- /уровни/обучение_водителей/info.json
- /levels/derby/info.json
### Настройте внешний вид имени вашего сервера
Используйте эти специальные символы перед текстом, и к этому тексту в списке серверов будет применен эффект:
Ценить | Описание
:-: | ---
`^r` | Перезагрузить
`^p` | Новая строка (только описания)
`^n` | Подчеркнуть
`^l` | Смелый
`^m` | Зачеркивание
`^o` | Курсив
`^0` | Черный
`^1` | Синий
`^2` | Зеленый
`^3` | светло-голубой
`^4` | Красный
`^5` | Розовый
`^6` | Апельсин
`^7` | Серый
`^8` | Темно-серый
`^9` | Светло-фиолетовый
`^a` | Светло-зеленый
`^b` | светло-голубой
`^c` | Темно-оранжевый
`^d` | светло-розовый
`^e` | Желтый
`^f` | Белый
### Настройте теги вашего сервера
Теги могут использоваться для того, чтобы позволить людям искать определенный тип сервера. Ваш serverConfig.toml будет сгенерирован с тегом freeroam `Tags = "Freeroam"`.
Вы можете добавить несколько тегов, разделенных запятой `Tags = "Events,Offroad,lang:english"`, регистр не учитывается.
Вы можете выбрать из следующего списка:
- Возраст/Содержание:
- `Mature/18+`
- Типы игрового процесса:
- `Freeroam`
- `Roleplay`
- `Economy`
- `Traffic`
- Категории гонок:
- `Racing`
- `Racing:NASCAR`
- `Racing:Track`
- `Racing:Drag`
- `Racing:Rally`
- `Touge`
- Бездорожье и испытания:
- `Offroad`
- `Crawling`
- `Dakar`
- `Challenge`
- События разрушения:
- `Derby`
- `Arena`
- Погодные и временные условия:
- `Snow/Ice`
- `Rain`
- `Night`
- `Weather`
- Режимы игры:
- `Gamemode`
- `Gamemode:Racing`
- `Gamemode:Rally`
- `Gamemode:Drag`
- `Gamemode:Derby`
- `Gamemode:Infection`
- `Gamemode:Cops-Robbers`
- `Gamemode:Delivery`
- `Gamemode:Sumo`
- Сообщество и события:
- `Scenarios`
- `Events`
- `Leaderboard`
- Модификации:
- `Modded`
- `Mod:BeamPaint`
- `Mod:BeamJoy`
- `Mod:CEI`
- Языки:
- `Lang:English`
- `Lang:Russian`
- `Lang:French`
- `Lang:Spanish`
- `Lang:Portuguese`
- `Lang:German`
- `Lang:Polish`
- `Lang:Arabic`
- Другой:
- `Vanilla`
- `Moderated`
Если тег отсутствует в этом списке, вы можете отправить запрос на его добавление [здесь](https://forum.beammp.com/t/introducing-server-tags/1320081)
## Файл Server.log
Этот файл будет сгенерирован при запуске сервера. Это зеркало сообщений, которые вы видите в консоли при запуске сервера. Вам следует прикреплять этот файл каждый раз, когда вам нужна поддержка от нашей службы поддержки, и он никогда не покажет ваш AuthKey, поэтому вы обычно можете отправить его без изменений.
Формат следующий (префикс $ означает «переменная», пояснение ниже):
```
[$DATE $TIME] $CONTEXT [$LOG_LEVEL] $MESSAGE
```
Где:
- `$DATE` — дата сообщения, например 21/07/2021
- `$TIME` — время сообщения, например 11:05:23
- `$CONTEXT` (виден только в режиме отладки и в основном актуален для разработчиков) — контекст сообщения, который может быть:
- `(Player ID) “Player Name”`, где ID игрока полезен для модерации
- Короткое имя, например «HeartbeatThread»
- `$LOG_LEVEL` — один из уровней важности сообщения:
- `DEBUG`: отображается только в режиме отладки, обычно является спамом и важен только для разработчиков.
- `INFO`: Общая информация
- `LUA`: Сообщение от плагина Lua
- `WARN`: Описывает то, что не должно происходить, обычно
- `ERROR`: Что-то пошло не так или произошло очень неожиданно.
- `FATAL`: Произошло что-то, что привело к отключению сервера.
- `$MESSAGE` само сообщение, обычно то, на что следует обратить внимание и что следует понять. В некоторых случаях это может быть зашифровано, но общее правило заключается в том, что пока нет видимых проблем с сервером и нет ОШИБОК, все хорошо.
## Обновление сервера
### Зачем обновлять
Всякий раз, когда выходит новое обновление, вам рекомендуется обновить свой сервер. Обычно это включает исправления ошибок, улучшения стабильности и безопасности, наряду с общими новыми функциями и т. д., которые вводятся.
Чтобы получать новости об обновлениях по мере их выхода, подпишитесь на канал «обновления» сервера Discord, ищите его на форумах или посетите/спросите на [странице релизов GitHub](https://github.com/BeamMP/BeamMP-Server/releases).
### Как обновить
#### Если вы пользуетесь услугами хостинг-провайдера, являющегося партнером BeamMP
Если вы используете хостинг-провайдера, партнера BeamMP, инструкции ниже, скорее всего, не сработают. Мы рекомендуем дождаться более подробной информации от вашего хостинг-провайдера или связаться с ним для получения помощи.
#### Самостоятельное управление сервером
Сервер обновляется путем замены старого исполняемого файла на новый. Если вы не уверены, как это сделать, ниже приведены пошаговые инструкции для Windows и Linux.
Если вы собрали из исходников, просто пересоберите. Убедитесь, что выполнили `git submodule update --init --recursive` перед пересборкой.
#### В Windows
1. Для запуска сервера убедитесь, что у вас установлены [Visual C++ Redistributables](https://aka.ms/vs/17/release/vc_redist.x64.exe).
2. Перейдите на [BeamMP.com](https://beammp.com/) и нажмите кнопку «Загрузить сервер».
3. После загрузки вы должны увидеть один файл с именем `BeamMP-Server.exe`. Мы назовем его «новый исполняемый файл».
4. Перейдите в папку, где находится ваш текущий исполняемый файл `BeamMP-Server.exe` (обычно это та же папка, где находится ваш `ServerConfig.toml`). Мы будем называть его «старым исполняемым файлом».
5. Замените старый исполняемый файл новым исполняемым файлом (например, скопировав или переместив новый исполняемый файл в папку).
#### На Линуксе
1. Перейдите на [BeamMP.com](https://beammp.com/) и нажмите кнопку «Загрузить сервер», вы будете перенаправлены на страницу релиза сервера на Github.
2. Загрузите правильную версию для вашего дистрибутива. Для простоты теперь он будет называться `BeamMP-Server-xxx`, где `xxx` обозначает версию для используемого вами дистрибутива.
3. После загрузки вы должны увидеть один файл с именем `BeamMP-Server-xxx` в зависимости от версии, которую вы скачали. Мы назовем его «новый исполняемый файл».
4. Перейдите в папку, где находится ваш текущий исполняемый файл `BeamMP-Server-xxx` (обычно это та же папка, где находится ваш `ServerConfig.toml`). Мы будем называть его «старым исполняемым файлом».
5. Замените старый исполняемый файл новым исполняемым файлом (например, скопировав или переместив новый исполняемый файл в папку).
6. Откройте терминал в той папке, где вы только что заменили исполняемый файл, и выполните `sudo chmod +x BeamMP-Server-xxx`. Это позволит убедиться, что сервер может быть запущен.
### Автоматические обновления
Сервер не поддерживает автоматические обновления или уведомления об обновлениях (пока).
Однако вы можете запросить API GitHub для получения последней версии, проверив версию сервера по тегам. Вы можете получить это с помощью GET из `https://api.github.com/repos/BeamMP/BeamMP-Server/git/refs/tags`.
+236
View File
@@ -0,0 +1,236 @@
# Переадресация Портов
::: danger ":material-scale-balance: ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ:"
```
**Переадресация портов — это риск**.
Используя переадресацию портов, вы осознаете риски открытия портов в вашей домашней сети для публики и, следовательно, лишаете себя права привлекать BeamMP к ответственности за **любой** ущерб, который может быть причинен вам или вашему домохозяйству.
Мы не несем ответственности за какой-либо контент на любых внешних связанных сервисах или веб-сайтах.
<u>**Если вы не понимаете это руководство, рассмотрите возможность обращения к одному из наших партнеров.**</u>
```
::: warning
```
Пожалуйста, убедитесь, что ваш маршрутизатор не является устройством исключительно 4G/5G. Если это гибридное устройство, обязательно выберите адаптер с кабельным подключением далее в разделе 3 этого руководства!
```
## Как настроить переадресацию портов.
Создание правила переадресации портов включает несколько подробных сетевых терминов. Будьте готовы записать несколько заметок по мере прохождения процесса.
В этом руководстве 4 основных шага.
## Краткое руководство. (Более подробное руководство приведено ниже)
<div class="grid cards" markdown>
</div>
<ul data-md-type="list" data-md-list-type="unordered" data-md-list-tight="false">
<li data-md-type="list_item" data-md-list-type="unordered">
<p data-md-type="paragraph">:material-dns:{ .lg .middle } <strong data-md-type="double_emphasis">Назначьте статический IP-адрес вашему компьютеру или устройствам</strong></p>
<hr data-md-type="hrule">
<p data-md-type="paragraph">Это необходимо для предотвращения изменения IP-адреса вашего устройства и нарушения правила переадресации портов.</p>
<p data-md-type="paragraph"><a href="https://portforward.com/router.htm#1" data-md-type="link">:octicons-arrow-right-24: Просмотр информации о вашем маршрутизаторе</a></p>
</li>
<li data-md-type="list_item" data-md-list-type="unordered">
<p data-md-type="paragraph">:material-router-wireless:{ .lg .middle } <strong data-md-type="double_emphasis">Войдите в свой маршрутизатор</strong></p>
<hr data-md-type="hrule">
<p data-md-type="paragraph">Обычно это можно сделать, найдя IP-адрес «шлюза по умолчанию», который можно найти, выполнив <code data-md-type="codespan">ipconfig</code> в командной строке и введя его в адресную строку веб-браузера.</p>
</li>
<li data-md-type="list_item" data-md-list-type="unordered">
<p data-md-type="paragraph">:material-lan-connect:{ .lg .middle } <strong data-md-type="double_emphasis">Перенаправьте порты на ваш компьютер</strong></p>
<hr data-md-type="hrule">
<p data-md-type="paragraph">Найдите раздел переадресации портов в веб-интерфейсе маршрутизатора. Большинство маршрутизаторов перечисляют раздел переадресации портов в разделе «Сеть», «Дополнительно» или «Локальная сеть».</p>
</li>
<li data-md-type="list_item" data-md-list-type="unordered">
<p data-md-type="paragraph">:material-test-tube:{ .lg .middle } <strong data-md-type="double_emphasis">Проверьте, что ваш порт правильно перенаправлен</strong></p>
<hr data-md-type="hrule">
<p data-md-type="paragraph">Используйте такой инструмент, как CheckBeamMP, чтобы проверить, работает ли правило.</p>
<div data-md-type="block_html">
<form action="https://check.beammp.com/api/v2/beammp" method="get" target="_blank">
<label for="ip">IP-адрес:</label>
<input type="text" id="ip" name="ip"><br>
<label for="port">Порт:</label>
<input type="text" id="port" name="port"><br>
<input type="submit" value="CheckBeamMP">
</form>
</div>
</li>
</ul>
<div data-md-type="block_html"></div>
## Подробное руководство
### 1. Назначение статического IP-адреса
### Метод 1: настройка статического IP-адреса с использованием резервирования DHCP
Другой способ задать статический IP-адрес в локальной сети — использовать функцию резервирования DHCP вашего маршрутизатора. Не все маршрутизаторы имеют эту функцию, поэтому это может быть неподходящим вариантом для вас. Пожалуйста, найдите в Интернете модель вашего маршрутизатора, чтобы найти руководство.
Если вам удалось это сделать, перейдите сразу к [шагу 2.](port-forwarding.md#2-log-in-to-your-router)
### Метод 2: Назначение статического IP-адреса в Windows
#### 1.1. Найдите свой текущий IP-адрес, шлюз и DNS-серверы:
Прежде чем мы сможем настроить статический IP-адрес, нам нужно знать ваши текущие сетевые настройки. Вам нужно будет записать их, поэтому приготовьте блокнот. Для этого шага мы воспользуемся командной строкой.
Откройте командную строку. 3 основных способа:
- Нажмите клавишу Windows, затем начните вводить фразу «cmd», затем нажмите Enter, когда увидите выделенную строку «Командная строка».
<figure class="image image_resized" style="width:62%;" markdown="">![](../../assets/content/win11-open-cmd.png)</figure>
После того, как вы окажетесь в командной строке, выполните следующую команду:
```
ipconfig /all
```
Вы увидите много данных. Если у вас есть виртуальные или несколько сетевых адаптеров, то вы увидите еще больше данных. Обычно можно увидеть много виртуальных адаптеров, если у вас установлен Hyper-V или Docker.
<figure class="image image_resized" style="width:62%;" markdown="">![](../../assets/content/win11-command-prompt-ipconfig-highlighted.png)</figure>
Рекомендуется использовать проводное сетевое соединение, которое будет запускать этот сервер, однако он будет работать и через беспроводное соединение. Вам нужно будет найти в этом списке адаптер, который имеет активное подключение к Интернету. Прокрутите список и найдите тот, которому назначен шлюз по умолчанию. Многие из виртуальных адаптеров не будут иметь шлюза по умолчанию.
Ниже приведены примеры локальных адресов IPv4, которые должен иметь хотя бы один из адаптеров. Вам нужно будет записать информацию о вашем адаптере.
- 192.168.xx
- 10.xxx
- 172.16.xx - 172.31.xx
Маска подсети (скорее всего 255.255.255.0) Основной шлюз (скорее всего 192.168.0.1 или 192.168.1.1)
::: info "Обратите внимание"
BeamMP в настоящее время не поддерживает IPv6 для хостинга сервера.
:::
#### 1.2.Изменение настроек адаптера
Теперь нам нужно изменить настройки вашего сетевого адаптера, чтобы ваш ПК сохранил текущую конфигурацию IP. Чтобы получить доступ к настройкам вашей сети, самый быстрый способ:
- Нажмите один раз клавишу Windows.
- Введите фразу «сетевые подключения», пока не увидите «Просмотр сетевых подключений».
- Нажмите клавишу Enter.
<figure class="image image_resized" style="width:62%;" markdown="">![](../../assets/content/win11-start-menu-view-network-connections.png)</figure>
Вы должны увидеть список сетевых подключений на вашем компьютере. Если у вас установлены Hyper-V или Docker, их может быть много. Найдите все адаптеры, которые не называются "Hyper-V".
<figure class="image image_resized" style="width:62%;" markdown="">![](../../assets/content/win11-network-connections.png)</figure>
Щелкните правой кнопкой мыши по вашему адаптеру и выберите свойства. Если `Internet Protocol Version 4` не отмечен, то это неправильный адаптер. Выберите другой.
<figure class="image image_resized" style="width:62%;" markdown="">![](../../assets/content/win11-ethernet-properties-highlighted.png)</figure>
Дважды щелкните по `Internet Protocol Version 4` Измените `Obtain an IP address automatically` на `Use the following IP address` .
Заполните поля IP-адрес, маска подсети, шлюз по умолчанию и предпочитаемый DNS-сервер, используя информацию из командной строки (ipconfig /all).
В качестве альтернативы вместо использования своих DNS-серверов вы можете использовать DNS-серверы CloudFlare или Google:
- CloudFlare DNS: 1.1.1.1, 1.0.0.1
- Google DNS: 8.8.8.8, 8.8.4.4
<figure class="image image_resized" style="width:62%;" markdown="">![](../../assets/content/win11-network-settings-static-ip.png)</figure>
Нажмите Ok, затем нажмите Ok еще раз, и ваш адаптер теперь изменен с DHCP на статический. Поищите в Интернете, чтобы убедиться, что у вас все еще есть подключение к Интернету. Если нет, то измените настройки обратно на Получить IP-адрес автоматически и попробуйте следующий метод.
### 2. Войдите в свой маршрутизатор.
Теперь, когда на вашем устройстве есть статический IP-адрес, вы готовы перенаправить порт для BeamMP!
Для начала нам нужно войти в ваш роутер. Ранее одна из настроек, которую вы записали, это ваш Default Gateway. Это IP-адрес вашего роутера.
Большинство маршрутизаторов используют локально размещенную веб-страницу для управления. Чтобы просмотреть меню и настройки маршрутизатора:
- Откройте веб-браузер. Firefox, Chrome или Edge должны работать нормально.
- В адресной строке введите IP-адрес вашего шлюза по умолчанию, например 192.168.0.1 или 192.168.1.1, и нажмите Enter.
Теперь вы должны увидеть экран входа в систему вашего маршрутизатора. Не все маршрутизаторы требуют входа в систему, но большинство требуют. Вам необходимо знать имя пользователя и пароль вашего маршрутизатора. Если вы никогда не входили в систему раньше, ваши имя пользователя и пароль, скорее всего, установлены на заводские значения по умолчанию или, в некоторых случаях, написаны на наклейке вашего маршрутизатора.
Ниже перечислены некоторые из наиболее распространенных заводских имен пользователей и паролей:
Имя пользователя | Пароль
--- | ---
админ | админ
админ | пароль
{пустой} | админ
{пустой} | пароль
Попробуйте различные комбинации admin, password и оставьте записи пустыми. *Там, где написано blank, попробуйте оставить значение пустым.*
### 3. Создайте правила пересылки!
#### 3.1. Найдите раздел пересылки
Найдите раздел переадресации портов в веб-интерфейсе маршрутизатора. Перемещайтесь по маршрутизатору, нажимая вкладки или ссылки в верхней или левой части каждой страницы. Большинство маршрутизаторов перечисляют раздел переадресации портов в разделе «Сеть», «Дополнительно» или «Локальная сеть». Найдите его по следующим ключевым словам:
- Переадресация портов
- Пересылка
- Переадресация диапазона портов
- Виртуальные серверы
- Приложения и игры
- Расширенные настройки/параметры
- НАТ
#### 3.2. Введите данные
Как только вы найдете раздел переадресации портов вашего маршрутизатора, вы готовы ввести необходимую информацию. На вашем маршрутизаторе будет место для ввода портов, которые нужно переадресовать, и IP-адрес назначения, чтобы указать эти переадресованные порты. Если на вашем маршрутизаторе указаны как внутренние, так и внешние порты, сделайте их одинаковыми.
Для BeamMP требуются как UDP-, так и TCP-порт 30814 (если вы не изменили это в [ServerConfig.toml](create-a-server.md#4-configuration) ).
::: info "Примечание"
Хотя **порт** по умолчанию - **30814** , вы можете выбрать любой другой номер больше 1024, но меньше 65535, но вам нужно записать, что вы выбрали, если это не 30814. Вам нужно перенаправить как **TCP** , так и **UDP** . Рекомендуется придерживаться порта по умолчанию, так как он вряд ли будет использоваться другой службой на вашем ПК. Однако, если вы размещаете несколько серверов на одной машине, каждому серверу нужен свой порт. Например, сервер 1: 30814, сервер 2: 30815.
:::
На некоторых маршрутизаторах вам может потребоваться создать два правила: одно для UDP и одно для TCP, в то время как другие удобны и позволяют сделать и то, и другое с помощью одного правила!
На большинстве маршрутизаторов есть кнопка «Сохранить», а на некоторых маршрутизаторах требуется перезапуск или перезагрузка, чтобы изменения вступили в силу.
### 4. Время тестировать!
Есть несколько способов проверить соединение.
Наш рекомендуемый способ — использовать наш инструмент **CheckBeamMP**, так как он проверяет проблемы и протоколы, специфичные для BeamMP.
<form action="https://check.beammp.com/api/v2/beammp" method="get" target="_blank">
<label for="ip">IP-адрес:</label>
<input type="text" id="ip" name="ip"><br>
<label for="port">Порт:</label>
<input type="text" id="port" name="port"><br>
<input type="submit" value="CheckBeamMP">
</form>
Это можно сделать, получив свой публичный IPv4-адрес, это опять же можно сделать несколькими способами. Основной способ — использовать веб-сайт [whatsmyip.org](https://whatsmyip.org/) . Это простой веб-сайт, который отображает ваш публичный IP-адрес. Вам следует искать IP-адрес в формате: xxx.xxx.xxx.xxx
Перейдите по следующей ссылке и замените «IP» на ваш реальный адрес IPv4, а «Port» на порт вашего сервера. Не оставляйте пробелов. https://check.beammp.com/api/v2/beammp/ip/port
::: success "статус:ok"
```
Если вы получили результат, аналогичный приведенному выше, то теперь вы можете присоединиться к своему серверу!
Присоединиться можно двумя способами: либо напрямую, используя данные, введенные вами в «Вероятно UP», либо, если ваш сервер настроен как «публичный», через список серверов.
Поскольку вы размещаете сервер локально, используйте 127.0.0.1 (localhost), если сервер работает на том же компьютере, что и вы, или LAN IPv4 локальной машины, на которой работает сервер.
```
::: failure "статус:ошибка"
```
Если соединение полностью отсутствует, ваш интернет-провайдер может использовать CGNAT (трансляцию сетевых адресов операторского класса). Для получения более подробной информации, пожалуйста, проверьте [Как проверить наличие CGNAT?](../FAQ/How-to-check-for-CGNAT.md),
или откройте тикет в службу поддержки сервера на нашем [сервере Discord](https://discord.gg/beammp) в канале `#support`, и один из наших сотрудников займется вашим тикетом!
Если вы видите, что работает только TCP, а UDP не работает, еще раз проверьте правила брандмауэра и переадресации портов.
```
@@ -0,0 +1,25 @@
# Как узнать IP моего Сервера?
## Для серверов VPS-хостинга
Если вы размещаете сервер с помощью одного из наших партнерских хостинговых сервисов, IP будет опубликован в соответствующем интерфейсе управления сервером. Вы также можете найти IP для вашего сервера(ов) на веб-сайте [Keymaster](https://keymaster.beammp.com/login).
## Для домашних серверов
Для серверов, размещенных дома, откройте [whatsmyip.org](https://whatsmyip.org) в браузере. Это выведет публичный адрес IPv4, с которым с вами связываются из Интернета.
Обратите внимание, что 127.0.0.1 — это локальный адрес (localhost), и его можно использовать только самому себе, если сервер запущен на том же компьютере. Если у вас всё ещё возникают проблемы с подключением к серверу, размещённому дома, проверьте [проброс портов](https://docs.beammp.com/server/port-forwarding/), а также используйте CheckBeamMP
<form action="https://check.beammp.com/api/v2/beammp" method="get" target="_blank">
<label for="ip">IP-адрес:</label>
<input type="text" id="ip" name="ip"><br>
<label for="port">Порт:</label>
<input type="text" id="port" name="port"><br>
<input type="submit" value="CheckBeamMP">
</form>
## Как проверить наличие CGNAT?
Взгляните на [эту страницу](https://docs.beammp.com/FAQ/How-to-check-for-CGNAT/) , чтобы определить, можете ли вы разместить сервер дома или нет.
Теги: IP, Сервер, Сбой Подключения, 10060/10061
@@ -0,0 +1,52 @@
# Как создать исключения в брандмауэре и антивирусе Защитника Windows?
::: info
```
Перед изменением настроек брандмауэра убедитесь, что ваша сеть в параметрах Windows настроена как частная (при условии, что вы действительно находитесь в частной сети).
::: danger ":material-scale-balance: DISCLAIMER:"
**Исключения в Firewall / Defender представляют собой риск**.
Создавая исключения, вы осознаёте риски, связанные с разрешением программам на вашем ПК и открытием портов вашей домашней сети для публичного доступа, и, следовательно, лишаете себя права привлекать BeamMP к ответственности за **любые** возможные убытки или ущерб, которые могут возникнуть у вас или вашего домохозяйства.
Мы не несём ответственности за любой контент, размещённый на внешних сервисах или сайтах, на которые ведут ссылки.
```
## 1. Исключение для BeamMP-Launcher в брандмауэре Защитника.
1. Откройте `Windows Defender Firewall with advanced setting`.
2. В окне нажмите `Inbound`, чтобы открыть вкладку исключений для входящих подключений.
3. Нажмите `Create new rule` в правом верхнем углу, чтобы создать новое исключение.
4. Выберите `Program`, чтобы создать исключение для конкретной программы.
5. Введите полный путь к файлу `BeamMP-Launcher.exe`. По умолчанию это `%appdata%\BeamMP-Launcher\BeamMP-Launcher.exe` (без кавычек).
6. Обязательно разрешите подключение
7. Дайте исключению имя (например, «BeamMP-Launcher») и сохраните его.
8. Перезагрузите компьютер.
## 1.1 Исключение сервера BeamMP из списка блокировки брандмауэра Защитника.
1. Откройте `Windows Defender Firewall with advanced setting`.
2. В окне нажмите `Inbound`, чтобы открыть вкладку «Исключения для входящих».
3. Нажмите `Create new rule` в правом верхнем углу, чтобы создать новое исключение.
4. Выберите`Port` чтобы создать исключение для конкретной программы.
5. Укажите тот же порт, что и в ServerConfig.toml.
6. Введите полный путь к файлу `BeamMP-Server.exe`. Файл находится в той папке, в которую вы его поместили после загрузки.
7. Убедитесь, что вы разрешили подключения
8. Дайте имя исключению (прим. "BeamMP-Server") и сохраните его.
9. Перезагрузите компьютер.
## 2. Исключение BeamMP-Launcher/Server из списка мониторинга Антивируса Защитника.
1. Откройте приложение `Windows Security`.
2. Нажмите на первый пункт `virus and threat protection`.
3. Нажмите `Manage settings` в разделе «Параметры защиты от вирусов и угроз».
4. Прокрутите страницу вниз, чтобы перейти на вкладку `Exclusions`.
5. Там нажмите «Добавить исключение» и выберите `process`.
6. Введите `BeamMP-Launcher.exe` или `BeamMP-Server.exe` в поле и сохраните.
7. Перезагрузите компьютер.
## Все еще сталкиваетесь с проблемами?
Откройте тему на [форуме](https://forum.beammp.com) или на нашем [сервере Discord](https://discord.gg/beammp) в канале `#support`.
+24
View File
@@ -0,0 +1,24 @@
# Коды Ошибок
На этой странице содержатся все коды ошибок, которые может отображать лаунчер.
---
Код | Описание | Возможное решение
--- | --- | ---
10048 | Что-то другое уже использует порт запуска | Убедитесь, что одновременно запущен только ОДИН экземпляр BeamMP-Launcher. Попробуйте перезагрузить ПК.
10038 / 10060 / 10061 | Ни один сервер не ответил по указанному IP-адресу и/или порту | Если вы являетесь владельцем сервера, проверьте правила переадресации портов и/или брандмауэра, найденные на [BeamMP-Server](https://docs.beammp.com/server/create-a-server). Если вы не являетесь владельцем сервера, выберите другой сервер или свяжитесь с владельцем, если он вам известен.
10054 | Сброс соединения пиром | Сервер, к которому вы подключаетесь, отключился.
Не удалось найти игру, пожалуйста, запустите ее. Сообщите об этом, если проблема сохранится код 3. | Лаунчеру не удалось найти информацию об игре (каталог игры, каталог профиля, версию и т. д.) в записи реестра. | Запустите игру хотя бы один раз, чтобы создать значения реестра.
Не удалось найти игру, пожалуйста, запустите ее. Сообщите об этом, если проблема сохранится код 4. | Программа запуска не смогла прочитать информацию об игре (каталог игры, каталог профиля, версию и т. д.) в записи реестра. | Эта ошибка чаще всего появляется у пользователей с **пиратскими копиями** игры. Если вы купили игру, запустите ее хотя бы один раз, чтобы были созданы значения реестра.
Не удалось запустить игру! Лаунчер скоро закроется | Лаунчеру не удалось найти исполняемый файл игры. | Запустите игру хотя бы один раз, прежде чем снова запускать лаунчер.
Игра закрыта! Лаунчер скоро закроется | Игра была закрыта. | Это сообщение появится при закрытии игры или если игра не запустится.
Обновление лаунчера не удалось! | Лаунчеру не удалось загрузить новую версию | Проверьте подключение к Интернету и правила брандмауэра/антивируса, чтобы лаунчер не был заблокирован.
Ошибка инициализации файла регистратора | Лаунчер не имеет возможности создавать файлы | Запустите лаунчер от имени администратора.
Пожалуйста, закройте игру и попробуйте еще раз. | Игра уже открыта и лаунчер не может очистить папку `multiplayer/mods` | Закройте игру и повторите попытку.
Пожалуйста, запустите игру хотя бы один раз. | Программа запуска пыталась, но не смогла изменить каталог игры. | Запустите игру хотя бы один раз, прежде чем снова запускать лаунчер.
Основные серверы офлайн! Извините за неудобства! | Лаунчеру не удалось проверить наличие обновления | Проверьте подключение к интернету и правила брандмауэра. Если с вашей стороны проблем нет, проверьте [канал обновлений BeamMP](https://discord.com/channels/601558901657305098/697596153943949352) на нашем Discord.
Извините, произошел сбой в работе системы бэкэнда! Не волнуйтесь, скоро все заработает! | Бэкэнд BeamMP не ответил | Проверьте подключение к интернету и правила брандмауэра. Если с вашей стороны проблем нет, проверьте [канал обновлений BeamMP](https://discord.com/channels/601558901657305098/697596153943949352) на нашем Discord.
Застрял при обновлении | Лаунчер завис на этапе обновления и не переходит к следующему шагу. | Запустите лаунчер от имени администратора и проверьте правила антивируса, чтобы лаунчер не блокировался.
Если лаунчер сразу закрывается, проверьте файл `Launcher.log` в папке, куда вы установили BeamMP.
+64
View File
@@ -0,0 +1,64 @@
# Часто задаваемые вопросы
Список часто задаваемых вопросов.
---
## **Клиент**
---
### **Как установить BeamMP?**
Полное руководство по установке BeamMP на Windows можно найти [здесь](https://docs.beammp.com/game/getting-started/).
---
### **Работает ли BeamMP на взломанной версии BeamNG?**
BeamMP не будет работать с пиратскими или устаревшими версиями BeamNG.drive. Команда поддержки BeamMP не предлагает поддержку по проблемам с пиратскими / устаревшими копиями.
---
### **Работает ли BeamMP на Linux?**
Клиент официально не поддерживается в Linux. Однако вы можете следовать нашему [руководству по использованию BeamMP в Linux](../game/getting-started/#2b-linux-installation)
---
### **Почему мой антивирус или Защитник Windows помечает лаунчер?**
Некоторые антивирусные программы могут помечать BeamMP как угрозу из-за его взаимодействия с сетью и другими вещами. В коде **нет вирусов**. Код для лаунчера, сервера и клиента lua можно найти на нашем [GitHub](https://github.com/BeamMP).
---
### **У меня плохая производительность игрового процесса. Что мне делать?**
Мы прилагаем все усилия, чтобы сделать многопользовательский режим максимально стабильным. Если вы уже снизили графические настройки, а производительность все еще низкая, рассмотрите возможность игры на сервере с меньшим количеством игроков. Игра в основном зависит от CPU, когда вы играете с большим количеством людей, поэтому старые CPU (даже четырехъядерные) будут страдать, если людей больше, чем горстка. (Общее практическое правило: 1 машина на поток CPU)
---
## **Разнообразный**
---
### **Где я могу найти код?**
Весь исходный код можно найти на нашем [GitHub](https://github.com/BeamMP). Перед внесением любых изменений помните, что код подчиняется нашим [Условиям использования](https://forum.beammp.com/t/terms-of-use-v1-0/43) и лицензиям:
Код | Лицензия
--- | :-:
Сервер | [ЛИЦЕНЗИЯ](https://github.com/BeamMP/BeamMP-Server/blob/master/LICENSE)
Пусковая установка | [ЛИЦЕНЗИЯ](https://github.com/BeamMP/BeamMP-Launcher/blob/master/LICENSE)
Клиент Луа | [ЛИЦЕНЗИЯ](https://github.com/BeamMP/BeamMP/blob/development/LICENSE)
---
### **Я нашел ошибку или эксплойт, что мне делать?**
Если проблема связана с кодом, и вы знаете, как использовать Github, откройте новую «Проблему» в соответствующем репозитории на нашем [GitHub](https://github.com/BeamMP). Мы используем рабочий процесс, основанный на проблемах, поэтому даже если у вас уже есть исправление ошибки, рассмотрите возможность открытия новой «Проблемы», а затем откройте «Запрос на извлечение» с решениями для проблемы. Более подробную информацию о содействии можно найти [здесь](https://github.com/BeamMP/BeamMP/blob/development/CONTRIBUTING.md).
Если у вас нет учетной записи GitHub, вы не знаете, как пользоваться GitHub, или у вас есть другие вопросы, вы можете связаться с нами следующими способами:
- Если это не что-то деликатное, вы можете создать сообщение на нашем [форуме BeamMP](https://forum.beammp.com) или сообщить об этом на нашем [официальном Discord](https://discord.gg/beammp).
- Если информация конфиденциальная, вы можете напрямую сообщить о проблеме нашему сотруднику в [Discord](https://discord.gg/beammp).
@@ -0,0 +1,20 @@
# Проблема
Launcher не может обновиться или показывает пустой экран? Это краткое руководство объясняет, как вручную обновить Launcher.
::: note
```
Ты должен был уже установить или использовать BeamMP с помощью установщика, предоставленного на [нашем сайте](https://beammp.com), прежде чем продолжить.
```
# Загрузка и установка нового лаунчера
1. Загрузите последнюю версию Launcher напрямую с [GitHub](https://github.com/BeamMP/BeamMP-Launcher/releases/latest/download/BeamMP-Launcher.exe).
2. Перейдите в каталог BeamMP-Launcher.exe. По умолчанию эта папка находится в `C:\Users\<username>\AppData\Roaming\`. Заменить<username> с именем пользователя вашего Windows. Если вы установили BeamMP в другом месте, например <code>D:\BeamMP-Launcher</code>, то поместите Launcher в соответствующую папку BeamMP-Launcher.</username>
3. Если применимо, замените существующий Launcher новым в папке BeamMP-Launcher.
4. Запустите BeamMP-Launcher как обычно, чтобы проверить его работу.
## Проблема все еще не решена?
Создайте тикет поддержки на нашем [Сервере Discord](https://discord.gg/BeamMP). Теги: Launcher, скачать