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 до переподключения.Очевидно, чтобы изменения сохранялись, вам также нужно будет установить их в вашей конфигурации.Конфигурация обратного прокси
Пример для Nginx
WebSocket’ы в nginx требуют передачи заголовковUpgrade и Connection, мы следуем примеру конфигурации nginx для WebSocket согласно их документации.
Пример для Caddy
Caddy должен автоматически передавать правильные заголовки, просто используя обычную директивуreverse_proxy.
Однако будьте осторожны: перезагрузка конфигурации закроет активные WebSocket-соединения по умолчанию (я не уверен, почему это поведение по умолчанию), что приведёт к отключению ваших игроков от сервера, поэтому мы рекомендуем установить stream_timeout и stream_close_delay.