Сервер BeamMP для BeamNG.drive: карты, моды и Lua-плагины загружаются через панель, а трафик машин между игроками идёт через ноды в Германии на Ryzen 9
Выберите подходящий тариф для вашего проекта
BeamMP-Server не стартует без AuthKey из кабинета keymaster.beammp.com. Ключ вставляется в поле переменной в панели, руками ServerConfig.toml править не нужно: панель подставляет значение в конфиг при каждом запуске. С заполненным ключом сервер появляется в списке серверов BeamMP - это мультиплеерное меню, которое открывается после установки бесплатного клиента BeamMP поверх BeamNG.drive. Переключатель Private убирает сервер из списка
В переменной Map выбирается одна из карт BeamNG.drive: gridmap_v2, west_coast_usa, east_coast_usa, italy, utah, jungle_rock_island, hirochi_raceway, industrial, small_island, smallgrid, automation_test_track, driver_training, derby. Кастомная карта кладётся zip-архивом в Resources/Client
BeamMP пересылает состояние каждой машины всем подключённым игрокам, поэтому трафик и нагрузка растут от числа спавнов, а не от числа людей. Переменные MaxCars и MaxPlayers задают потолок: до 10 машин на игрока и до 100 слотов. Если пошли просадки, снижать нужно в первую очередь MaxCars, а не количество мест
Папка Resources/Client принимает zip-архивы с машинами, картами и UI - они скачиваются каждому, кто заходит на сервер. Папка Resources/Server хранит плагины, каждый в своей подпапке минимум с одним .lua файлом, и lua-файлы верхнего уровня перечитываются на лету. Загрузка через файловый менеджер панели или SFTP
Физику машин считает сам BeamNG.drive у игрока, а сервер BeamMP раздаёт их состояние всем подключённым. Значит, решают частота ядра и низкая задержка канала, а не количество ядер. Тарифы разворачиваются на Intel i9-9900K, AMD Ryzen 9 7950X3D и AMD Ryzen 9 9950X, линейка выбирается прямо в корзине. Диски везде NVMe SSD, ноды стоят в дата-центрах Германии
Трафик фильтруется на уровне сети. Для BeamMP это важно вдвойне: игра держит TCP и UDP на одном порту, и защита закрывает оба протокола, а адрес сервера публично виден в списке BeamMP
Автоматические копии сервера в S3-хранилище и планировщик задач в панели: ночной рестарт, бэкап перед заездом, откат к нужной точке. Сам BeamMP-Server разворачивается при создании сервера, а перевод на нужный релиз мы делаем по тикету - это выручает, когда Lua-плагин ещё не адаптирован под свежую сборку
Недавно мы представили YourControl - это современная игровая панель, которую мы довели до нашего идеала. Безусловно ещё много открытых предложений, и они будут реализованы в ближайшее время
| Характеристика | Pterohost |
|---|---|
| Процессоры | Intel i9-9900K / Ryzen 9 7950X3D / Ryzen 9 9950X |
| Серверное ПО | BeamMP-Server 3.x на Debian |
| Порт | Из вашей аллокации, TCP и UDP на одном номере (в BeamMP по умолчанию 30814) |
| Слоты | MaxPlayers до 100 |
| Машины | MaxCars до 10 на игрока |
| Карты | 13 стоковых, свои через Resources/Client |
| Моды | Resources/Client (.zip), Resources/Server (Lua) |
| DDoS-защита | Guard Rise (L3/L4/L7) |
| Панель управления | YourControl |
Один ключ AuthKey. Он выдаётся бесплатно в кабинете keymaster.beammp.com и вставляется в поле переменной в панели. Без ключа BeamMP-Server не запускается вовсе. После запуска с ключом сервер виден в списке серверов BeamMP, если переменная Private выставлена в false. Сам список живёт в мультиплеерном меню клиента BeamMP, который игроки ставят поверх BeamNG.drive
Zip-архивы модов загружаются в папку Resources/Client через файловый менеджер панели или SFTP и подхватываются при старте сервера. Каждый входящий игрок скачивает их автоматически, ставить моды вручную ему не нужно. Автоматической установки из мастерской у BeamMP нет: архивы вы загружаете сами
Каждый плагин - это отдельная папка внутри Resources/Server, в которой лежит хотя бы один файл .lua. Lua-файлы в корне папки плагина перечитываются на лету, поэтому мелкие правки не требуют перезапуска. Загрузка тем же файловым менеджером или по SFTP
Официальный минимум скромный - около 50 МБ на сам процесс: сервер не считает физику и памяти ест мало. Запас мы закладываем под другое - клиентские моды, Lua-плагины и файловый кэш. Отсюда наши ориентиры: 2 ГБ на компанию до 6 игроков, 3 ГБ на 8-10, 6 ГБ на публичный сервер 20-24. Это ровно те же цифры, что в таблице тарифов, отдельной формулы на игрока у BeamMP нет
Сервер пересылает состояние каждой машины всем подключённым, поэтому трафик и нагрузка растут от количества спавнов. Двадцать игроков с одной машиной дешевле, чем десять с тремя. В панели за это отвечает MaxCars: по конфигурации egg его можно поднять до 10 на игрока, но начинать разумно с 1-2
Порт выдаётся вместе с аллокацией сервера, и панель сама подставляет его номер в ServerConfig.toml - у самого BeamMP по умолчанию стоит 30814. Нужны и TCP, и UDP на одном номере, отдельного порта под запросы у BeamMP нет. Игрокам достаточно найти сервер по имени в списке BeamMP или подключиться по адресу и порту из панели через Direct Connect
Переключите переменную Private в true и перезапустите сервер. Он пропадёт из публичного списка BeamMP, но останется доступен по прямому адресу и порту через Direct Connect. AuthKey при этом всё равно нужен
Нет. BeamMP не отвечает на стандартные запросы вроде A2S и отдаёт статистику через собственный бэкенд, поэтому счётчик игроков на карточке сервера в панели для BeamMP не работает. Кто на сервере, видно в консоли и в логах, а также в списке серверов BeamMP
Купленная в Steam BeamNG.drive и бесплатный клиент BeamMP поверх неё - лаунчер с модом, который добавляет в игру мультиплеерное меню. Без него сервер в списке не появится и подключиться не выйдет. Дальше игрок либо выбирает сервер в списке, либо вводит адрес и порт вручную через Direct Connect, а клиентские моды из Resources/Client докачиваются при входе сами
Все ноды стоят в дата-центрах Германии на NVMe-дисках. Средний пинг из России - 40-60 мс, из Европы - 5-20 мс. Для BeamMP это заметно: весь обмен между игроками идёт через сервер, и чем ниже задержка, тем меньше рассинхрон машин