Skip to main content
Начиная с Robust Toolbox версии 271.1.0 движок поддерживает режим высокоскоростной передачи данных («high bandwidth») с использованием WebSocket. Это позволяет таким функциям, как загрузка/скачивание ресурсов администратором, иметь более высокую пропускную способность, чем поддерживает обычный сетевой уровень игры, но требует дополнительной настройки сервера. Контент может реализовывать дополнительные функции через интерфейс ITransferManager. В отличие от обычного игрового трафика, Robust не реализует уровень шифрования для данных WebSocket. Поэтому рекомендуется размещать HTTP API статуса игры за обратным прокси, который предоставляет TLS, иначе трафик будет незащищённым. Мы предполагаем, что вы знаете, как настроить ваш веб-сервер с SSL, или, по крайней мере, знаете, что делать, если вы не хотите шифровать данные.

Конфигурация игрового сервера

Основные CVars находятся здесь (Обратите внимание: это перманентная ссылка, к моменту написания этой страницы могло появиться больше CVars). Главная переменная, о которой стоит беспокоиться — transfer.http_endpoint, она должна указывать на HTTP API сервера (тот самый, с /status и /info, если вы когда-либо к нему обращались). В большинстве случаев это будет то же значение, что и hub.server_url, но с заменой ss14:// на http:// и ss14s:// на https://, и добавлением номера порта (по умолчанию :1212).
Вы можете установить эти параметры напрямую на работающем сервере, отредактировав CVars с помощью команды sudo cvar.Обратите внимание, что только игроки, подключающиеся после включения системы http-передачи, будут использовать высокоскоростные системы, в то время как уже подключённые игроки останутся на запасном варианте lidgren до переподключения.Очевидно, чтобы изменения сохранялись, вам также нужно будет установить их в вашей конфигурации.
Пример из Wizard’s Den Vulture:
Если вы не хотите использовать шифрование или хотите использовать IP, ваша конфигурация может выглядеть так:
Если вы не используете обратный прокси… это должно просто работать! Попробуйте (пере)подключиться и проверьте, успешно ли вы подключаетесь!

Конфигурация обратного прокси

Большинство веб-серверов поддерживают перезагрузку конфигурации без необходимости полного перезапуска. Вам стоит делать это особенно после настройки websocket, так как закрытие соединения отключит всех игроков. И перезапуск веб-сервера приведёт к закрытию всех соединений.Поэтому вместо systemctl restart nginx используйте systemctl reload nginx (или то, что используется для вашего веб-сервера).Если вы используете что-то нестандартное, найдите, как перезагрузить его конфигурацию на месте.

Пример для Nginx

WebSocket’ы в nginx требуют передачи заголовков Upgrade и Connection, мы следуем примеру конфигурации nginx для WebSocket согласно их документации.

Пример для Caddy

Caddy должен автоматически передавать правильные заголовки, просто используя обычную директиву reverse_proxy. Однако будьте осторожны: перезагрузка конфигурации закроет активные WebSocket-соединения по умолчанию (я не уверен, почему это поведение по умолчанию), что приведёт к отключению ваших игроков от сервера, поэтому мы рекомендуем установить stream_timeout и stream_close_delay.
Последнее изменение 21 июня 2026 г.