Maintenance
Это обновление приносит исправления и улучшения!
Звуки выстрелов на дальние расстояния, ярлыки сумок для команды, оптимизация обработки игроков, DLC-набор Exhibit и многое другое!
Поддержка
Обновление этого месяца немного легче по содержанию по сравнению с последними — разработчики сосредоточились на решении ряда давних багов и внесении улучшений. Команда прорабатывает обратную связь от сообщества, чтобы сгладить некоторые наиболее навязчивые проблемы и сделать повседневный геймплей немного приятнее. Обычно, если баги сохраняются в игре несколько лет, на это есть веская причина: либо их трудно воспроизвести, либо исправление требует серьёзной работы.

Смотрим вперёд — в ноябре готовятся значительные изменения меты и баланса.
Ноябрь принесёт долгожданное обновление Naval. Оно добавит модульные лодки с пушками (конечно же) и многое другое. Вы сможете кастомизировать свой корабль, отправляться в плавание по морям, исследовать новые океанские монументы и даже открывать маленькие острова за горизонтом.

В декабре Rust будет отмечать 12 лет Расту. Да-да, двенадцать!
Кроме того, вскоре будет анонсирован DLC-кроссовер Warhammer X Rust.
Дальность звуков выстрелов
Сетевая система Rust устроена так, что весь мир делится на «гриды». Игроки видят только несколько гридов вокруг себя и не могут взаимодействовать с тем, что за их пределами.
Из-за этого выстрелы и другие звуки раньше можно было услышать только внутри того грида, в котором находился игрок. Это делало мир ощутимо меньше и «закрытее». Некоторые серверы уменьшали или увеличивали размер грида ради снижения сетевой нагрузки, но вместе с этим звуки стрельбы пропадали ещё больше, что усугубляло ситуацию.
Теперь выстрелы могут обрабатываться на дистанциях, отличных от сетевого радиуса, что делает Rust более живым и добавляет новые особенности в мету — ведь у разных видов оружия появились преимущества и недостатки на слух.

Раньше звук распространялся максимум на ~350 метров (размер стандартного грида). Это значение было одинаковым для всего оружия.
Новые значения такие:
- Пистолеты / SAR / SKS / ПП / Дробовики — 400 метров
- AK / LR — 500 метров
- Пулемёты / Миниган / Снайперские винтовки (Bolt Action Rifle / L9) — 600 метров
Может показаться, что это всего лишь +50 метров на нижнем уровне, но теперь эти дополнительные метры будут проникать в соседние гриды (чего раньше не было). Это позволит слышать гораздо больше событий вокруг.
Но стоит помнить: теперь и другие игроки смогут услышать вас издалека, если вы используете более мощное оружие, такое как AK или болтовка.
Ярлыки командных спальников
Раньше было трудно понять, какие спальники принадлежат каким тиммейтам. Даже если они подписывали их, всё равно было непросто разобраться.

Теперь, если у вас есть привилегия строительства и в руках молоток, при наведении на спалку вы сможете видеть, кому из членов команды она принадлежит.
Индикаторы повреждений миникоптера
Для миникоптера были добавлены визуальные и звуковые эффекты повреждений, чтобы игрокам было проще понимать его текущее состояние.
По мере получения урона будут появляться прогрессирующие эффекты, как и у других вертолётов, с порогами в 45% и 20% оставшегося здоровья.

Теперь, если вы видите миникоптер, улетающий с рейда с дымом за кормой и не можете попасть по пилоту, вы будете знать — цельтесь в корпус!
Улучшения смещения листвы
Система смещения листвы была улучшена для более плавных переходов. Теперь это касается и случаев, когда объекты удаляются, и ситуаций с движущимися источниками, такими как игроки.
В результате смещение стало выглядеть более естественным и реалистичным.

Объёмные облака включены по умолчанию
В прошлом патче разработчики добавили новые объёмные облака как альтернативу 2D-облакам. Однако они находились в экспериментальных настройках и были отключены по умолчанию.

Теперь объёмные облака включены по умолчанию, а в долгосрочной перспективе они полностью заменят 2D-облака. Настройка для них перенесена в обычное меню графики, а уровни качества теперь привязаны к графическим пресетам.
Кроме того, консольная переменная graphics.vclouds
заменена на graphics.volumetric_clouds
.
Прочие изменения
DLC-набор Exhibit Decor Pack
В этом месяце выходит Exhibit Decor Pack — яркая коллекция предметов интерьера, которые помогут наполнить вашу базу светом и уютом.
Набор можно приобрести в игре или в магазине предметов Rust в Steam.
Гирлянды с лампочками
Создайте тёплую атмосферу с помощью декоративных гирлянд. Хоть для садовой вечеринки, хоть для рейда — будут смотреться отлично.

Манекен для одежды
По прозвищу «Мэнни». Наряжайте его в любимые шмотки и ставьте в нужную позу. Можно даже быстро переодеться, поменяв одежду с ним местами.

Настенный шкафчик
Крепится на стену и позволяет хранить мелкие предметы внутри или на нижней полке. Вместимость — 18 слотов.

Передвижные прожекторы
Осветите действие с помощью подвижных прожекторов. Наведите на них молотком — и они повернутся к вам! Доступны в настенной и напольной версиях.

Фейерверочные гирлянды
Более мелкие и мерцающие, чем обычные гирлянды. Добавляют магии даже в постапокалипсис.

Флуоресцентные лампы
Излучают яркий ультрафиолетовый свет. Отличный выбор для грядок. Доступны в настенной и потолочной версиях.

Люстра
Добавьте немного шика своей базе с помощью регулируемой люстры. Её можно поднимать и опускать на нужную высоту. Самое время построить парадную лестницу в своём 2х1.

Электрическая настольная лампа
Сделайте долгую ночь уютнее с электрической настольной лампой. А друг может почитать вам сказку 😉

Кресла-мешки
Удобные кресла, в которых можно отдохнуть. Доступны в двух вариантах.

Обои
Максимум стиля для интерьера: тёмный ковёр с длинным ворсом, шестиугольные настенные панели и потолок, расписанный золотыми звёздами.

Параллельная обработка игроков — часть 2
В девблоге «Jungle Update» разработчики рассказывали об эксперименте с пакетной обработкой игроков на серверах. Тогда речь шла о том, что нужно перестроить код и выполнять больше операций партиями, а не для каждого игрока отдельно. Это позволило использовать Burst и параллельное выполнение заданий, что ускорило проверки NoClip на сервере.
В этом обновлении шагнули дальше — ещё больше частей кода обновления игроков переведены на пакетную/конвейерную форму. Это помогло нагляднее увидеть зависимости между стадиями обработки. В итоге удалось определить, какие процессы можно выполнять параллельно на рабочих потоках. Благодаря этому часть логики, связанной с игроками, теперь вынесена на воркеры, разгружая главный поток.

На данный момент это работает в экспериментальном режиме, управляемом переменной сервера UsePlayerUpdateJobs 2. На EU Staging Server эта система тестировалась пару недель — пока что всё стабильно, но гарантий масштабируемости на серверах с высоким онлайном нет.
Теоретически это должно дать такие плюсы:
- более быстрая работа серверной окклюзии (подробнее ниже);
- избегание лишних вычислений состояния игрока с помощью кэшей кадров;
- использование управляемых потоков для разгрузки (например, отправка снапшотов сущностей и сообщений об их удалении переведена туда).
Разработчики надеются, что это позволит серверам лучше масштабироваться с ростом числа игроков и снизить «узкие места» в обработке.
План — постепенно выкатывать систему на релизные сервера, подтверждая стабильность и производительность. Пока тестировалось только на EU Staging, поэтому не хватает данных о «реальной» нагрузке. После успешного развёртывания можно будет выявить новые узкие места и расширить параллельную обработку.
Оптимизация серверной окклюзии
В рамках этого переписывания был пересмотрен код серверной окклюзии, так как он выполнял слишком много проверок за кадр. В некоторых случаях это занимало до 8 мс, например, при 10 000 запросах окклюзии для 350 игроков, даже если реально нужно было обработать лишь ~500 путей.

Теперь при включённом UsePlayerUpdateJobs 2 работает так:
- убираются дублирующиеся запросы (если игрок А проверяет видимость игрока B, достаточно одного запроса A→B);
- запросы запускаются параллельно;
- результаты кэшируются на время кадра, что позволяет повторно их использовать.
Разработчики надеются, что с ростом количества игроков выгода будет только выше.
Дальнейшие шаги
Переписанный код обновления игроков позволяет лучше понимать порядок выполнения и поток данных. Но остаются узкие места (одно уже известно) и недонастройки (например, контроль размера батчей для потоков). В планах использовать новую телеметрию, чтобы понять, куда направить усилия дальше.
Если режим UsePlayerUpdateJobs 2 покажет себя хорошо в этом патче, его повысят до уровня 1 и начнётся новый этап экспериментов.
Продолжение изменений шифрования
Как уже упоминалось в предыдущих девблогах, разработчики переходят к требованию минимального уровня шифрования 2 на серверах, которые хотят считаться «безопасными» и отображаться в списке серверов Rust Client.
Напомним: уровень шифрования 2 является настройкой по умолчанию для Rust Dedicated Servers. Поэтому подавляющему большинству владельцев серверов ничего менять не нужно. Для тех, кого это касается — нужно обновить переменную server.encryption
до значения 2 и перезапустить сервер.
Кроме того, разработчики завершают удаление переменной server.secure
. Как уже говорилось ранее, теперь небезопасные серверы должны запускаться с параметром -insecure
при старте, вместо использования этой переменной.
Запомните дату — Twitch Drops

С 20 по 30 сентября возвращается Rust Kingdoms 3 — больше и лучше, чем когда-либо! 🎉 Следите за нашими соцсетями, чтобы узнать полный список участников и награды, которые можно будет получить.
Не забудьте синхронизировать свои аккаунты Twitch и Steam