Исследователь игровых миров

Обновление Rust: Шлифовка и развитие

Вышло декабрьское обновление, в котором в честь 11-летия игры разработчики добавили множество полезных улучшений и несколько новых функций. Теперь разминирование мин станет опасным испытанием, топовый прицел получил переменный зум, в модульных автомобилях появится радио, видимость под водой станет лучше, а поведение волчьих стай продолжает дорабатываться. Официальная информация из блога разработчиков.

Празднование 11-летия Rust

Поверить сложно, но это правда.

11 декабря, в среду, Rust исполняется 11 лет. Кажется, совсем недавно сообщество праздновало десятилетие игры и смотрело трогательное итоговое видео, но прошёл ещё один год.

2024 год стал очередным невероятным этапом для Rust. Рекордное количество игроков, мероприятия в Twitch и ежемесячные обновления принесли в игру одни из самых значительных изменений за всю её историю.

Некоторые из ключевых нововведений в этом году:

  • Обновление игрового мира.
  • Введение рюкзаков.
  • Остров для обучения новичков.
  • Цифровые часы.
  • Ночное освещение.
  • Обновлённый монумент «Гавань».
  • Швартовка грузовых кораблей.
  • Добавление минигана и огнемёта.
  • Сейсмический сенсор.
  • Наручники и маска для заключённых.
  • Мотоциклы и велосипеды.
  • Путешествующий торговец.
  • Баночная сигнализация.
  • Металлоискатель.
  • Возможность устанавливать обои.
  • Модуль ускоренной компрессии газа.
  • Ручной подводный буксировщик.
  • Обновлённые дайв-сайты.
  • Введение Радтауна.
  • Радиоактивная вода.
  • Новое оружие: T1 ПП и T3 SKS.
    ...и многое другое.

Для празднования 11-летия Rust в игре на следующей неделе появятся торт и воздушные шары. Также для друзей игроков Rust будет доступен со скидкой 50% в течение 10 дней, начиная с понедельника.

Команда Facepunch поблагодарила сообщество за невероятный 2024 год. В январе планируется публикация итогового блога, который подведёт итоги уходящего года и расскажет о планах на 2025 год.

Полезные улучшения

Индикатор враждебности для турели
Теперь рядом с обычным индикатором враждебности появляется значок турели, если игрок находится враждебным рядом с автоматической турелью.

Хранилище вагонетки
Во все вагонетки добавлена небольшая коробка для хранения дополнительной добычи.

Изменение глубины для водяных насосов
Водяные насосы теперь работают на меньшей глубине воды, что отлично подходит для новых рек.

Размер стека газовых баллонов
Газовые баллоны теперь можно складывать в стек до 20 штук.

Увеличение входных слотов дропбокса
Количество входных слотов увеличено до 4.

Деспавн мусорных куч
Мусорные кучи теперь могут исчезать после частичного сбора ресурсов.

Хранилище холодильника
Объём хранилища холодильника увеличен до 48 слотов.

Самонаводящиеся ракеты
Самонаводящиеся ракеты теперь добавлены в ящики с добычей Бредли и атакующего вертолёта.

Балансировка волчьих стай

В этом месяце команда разработчиков сосредоточилась на исправлении ошибок и улучшении возможностей противодействия волкам, чтобы сделать их сложными, но не несправедливыми противниками.

Проблемы

Использование огня
Огонь против волков иногда оказывался менее эффективным, чем ожидалось, особенно если цель — избежать боя. Хотя волки не нападали, если держать дистанцию и зажжённый факел, они могли преследовать игрока очень долго.

Это вызывало сильное раздражение, особенно при попытке отогнать волков от своего трупа, чтобы вернуть добычу, а затем они всё равно продолжали следовать, что могло привести к цепочке смертей.

Побег на возвышенность
При попытке спастись, запрыгнув на возвышенность, волки игнорировали горящий факел и начинали прыгать вслед за игроком. Их прыжки иногда были слишком быстрыми и высокими — до самой крыши базы. При этом анимация прыжка выглядела нереалистично и «невесомо».

Стаи из 4+ волков
Хотя такие большие стаи появлялись не всегда, столкнувшиеся с ними игроки испытывали серьёзные трудности. Волки никогда не появляются в стаях более чем из 4 особей, но иногда стаи могли объединяться. Это происходило, потому что волки всегда идут на звук воя, даже если он исходит от другого волка, не из их стаи.

Скорость и ближний бой
После выстрела по волку или при приближении игрока волки прекращали преследование и быстро устремлялись к жертве. Это особенно осложняло ситуацию для игроков, вооружённых только луком, так как сложно было успеть сделать больше одного-двух выстрелов, прежде чем стая сблизится. В ближнем бою, хотя удар мог временно оглушить одного волка, остальные быстро окружали и атаковали.

Стелс и избегание боя
Подкрадываться мимо волчьих стай оказалось сложнее, чем должно было быть. Это часто вынуждало игроков делать долгие обходы, чтобы избежать сражения.

Полезные улучшения электричества

Тесла-генератор
Максимальное энергопотребление тесла-генератора снижено с 35 до 25, при этом время, необходимое для убийства, не изменилось.

Монитор хранилища
Добавлен сквозной слот для Монитора хранилища.

Скорость лифтов
Скорость лифтов игроков увеличена на 50 %.

Индикатор полной зарядки батареи
Добавлен выходной слот, сигнализирующий о полной зарядке батареи.

Радио для модульных автомобилей

Теперь в Rust доступны модульные автомобильные радио!

Игроки, владеющие Voice Props Pack, могут создать радио для установки в модульный автомобиль. Стоимость крафта — 120 металлических фрагментов. Для тех, у кого этого набора нет, он доступен со скидкой 40% с 9 по 19 декабря!

Чтобы установить радио, нужно скрафтить его и закрепить в кабине модульного автомобиля. Радио будет работать только при включённом двигателе автомобиля. После установки им сможет пользоваться любой игрок.

Игроки, имеющие авторизацию на транспортное средство, смогут снять радио при помощи строительного молотка.

Радио предоставляет доступ ко всем встроенным и интернет-радиостанциям, которые можно найти в Бумбоксе.

Утилизация вертолётов

Теперь купленные вертолёты можно поднимать магнитным краном и утилизировать на свалке. Количество получаемого лома зависит от типа вертолёта и его текущего уровня здоровья (например, 50 % здоровья = 50 % от заявленного лома).

  • Миникоптер — 200 лома.
  • Транспортный вертолёт — 300 лома.
  • Атакующий вертолёт — 500 лома.

Украли вертолёт у соседей? Уничтожьте улики и одновременно получите награду!

Улучшаемые высокие внешние стены и ворота

Деревянные высокие внешние стены и ворота теперь можно улучшить до их каменных версий через контекстное меню молотка, как обычные строительные блоки. Для улучшения каждой секции необходимо иметь в инвентаре соответствующую каменную версию стены или ворот.

Кроме того, теперь высокие внешние стены изготавливаются партиями по 3 штуки. Для создания каменных высоких стен требуется 1 листовой металл на каждую секцию.

Каменные высокие ворота также были изменены: теперь для их создания нужно 1 листовой металл и всего 3 шестерни. Стоимость их крафта снижена до 4000 древесины/камня (с 4500), что улучшает управление ресурсами.

Статистика торговых автоматов

Теперь игроки могут просматривать подробную статистику своих торговых автоматов. Включены следующие данные:

  • История транзакций.
  • Самые прибыльные товары.
  • Самые популярные товары.

Эту статистику можно изучать за разные периоды времени: от последних 30 минут до полного срока эксплуатации автомата.

Также доступны анонимные долгосрочные данные:

  • Общие продажи: Общее количество товаров, проданных через автомат.
  • Общее число уникальных клиентов: Количество индивидуальных покупателей, сделавших хотя бы одну покупку.
  • Общее число возвращающихся клиентов: Количество случаев, когда покупатели вернулись и сделали дополнительные покупки.
  • Лучший клиент: Покупатель с наибольшим количеством транзакций.

Эта статистика обрабатывается на стороне сервера и передаётся клиентам.

Консольные команды для серверов

Владельцы серверов могут управлять статистикой торговых автоматов через следующие параметры:

  • vendingmachine.max_returned: Указывает максимальное количество записей, возвращаемых при запросе истории покупок или агрегированных данных (например, самых продаваемых товаров).
  • vendingmachine.max_processed: Ограничивает максимальное количество записей о продажах, которые могут быть обработаны при фильтрации или агрегации данных, даже если доступно больше записей.
  • vendingmachine.max_history: Определяет максимальное количество записей о покупках, хранящихся в памяти на стороне сервера, прежде чем старые записи будут удалены для освобождения места.

Для очистки статистики доступны команды:

  • vendingmachine.clearallvendinghistory: Сбрасывает всю историю покупок.
  • vendingmachine.clearallvendingcustomerhistory: Сбрасывает всю долгосрочную статистику клиентов.

Переработка старых убежищ

Ранее, установив старое убежище (Legacy Shelter), игрок мог умереть и потерять возможность поставить новое. Теперь, при установке нового убежища, старое автоматически уничтожается.

Однако есть один нюанс: процесс установки убежища теперь занимает несколько секунд (как у высоких внешних стен). Это позволяет предупредить игрока о том, что старое убежище будет уничтожено, а также предотвращает использование убежищ в PvP-ситуациях.

Прицел с переменным зумом

Ранее 16-кратный прицел использовался значительно реже, чем ожидалось для военной добычи. Основной причиной была слишком высокая кратность увеличения, делавшая его неудобным в большинстве ситуаций.

Теперь прицел переименован в прицел с переменным зумом и поддерживает три уровня увеличения: 4x, 8x и 16x. Это делает его лучше обоих старых прицелов вместе взятых, а также добавляет новую кратность для быстрого захвата цели.

По умолчанию клавиши для изменения зума:

  • Page Up — увеличение кратности.
  • Page Down — уменьшение кратности.

Однако опытные игроки, вероятно, переназначат эти клавиши. Можно использовать колесо прокрутки мыши (если оно не занято переключением оружия) или боковые кнопки мыши (Mouse 3 и Mouse 4), если они не привязаны к другим действиям.

Изменения у торговца по обмену лома

После успешного внедрения механики динамического ценообразования при покупке предметов за лом, разработчики решили применить ту же логику к предметам, продаваемым за лом.

Начиная с этого месяца, предметы, продаваемые NPC через торговые автоматы за лом, будут оцениваться динамически. В начале вайпа их стоимость снизится на 50 % по сравнению с обычной ценой, но может увеличиваться до 100 % от базовой стоимости, если эти предметы не продаются.

Эта система сделает продажу предметов более выгодной по мере развития вайпа. Как и с предыдущими изменениями, разработчики будут следить за балансом и вносить корректировки при необходимости.

Видимость под водой

Недавние изменения улучшили видимость под водой, но отзывы игроков показали, что есть возможность для дальнейших доработок. Теперь видимость под водой почти удвоена, что позволяет видеть дальше и чётче.

Кроме того, увеличена глубина, на которую игроки могут погружаться перед началом снижения уровня кислорода. Во время плавания вероятность утонуть из-за высоких волн также стала значительно ниже.

Опасное разминирование мин

Теперь при попытке разминирования мины другим игроком существует 15%-й шанс взрыва. Будьте осторожны, очищая минные поля!

Изначально эта механика планировалась как часть геймплея, но старый баг мешал её корректной работе. Теперь проблема устранена, и мины стали ещё более опасными.

Изменения системы отблесков на ресурсных узлах

В этом месяце была слегка изменена механика работы с ресурсными узлами. Теперь узлы больше не будут показывать отблеск до первого удара. После первого удара отблеск появится под местом удара, и этот удар будет считаться «отблесковым», принося соответствующее количество ресурсов. Это небольшое улучшение скорости сбора руды.

Причины этих изменений:

  • Новая механика теперь соответствует мини-игре с отметкой «X» на деревьях.
  • Поиск отблеска на начальном этапе был неудобным, теперь процесс стал более плавным.
  • Каждый отблеск был сетевым объектом, который нужно было загружать и выгружать по мере движения игрока.
  • Ранее отблеск присутствовал на каждом узле в мире. Теперь на сервере в среднем будет на 4,5 тысячи объектов меньше.

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

Улучшения очередей

Разработчики внесли несколько незначительных улучшений в систему очередей, основываясь на сборе данных.

Ранее клиент не знал, находится ли он в очереди, и использовал только сообщения сервера для её отображения. Теперь клиент понимает, когда он входит в очередь и выходит из неё, и может корректно реагировать. Также добавлена поддержка Steam rich presence, чтобы отображать статус ожидания в очереди или подключения к серверу. Эти изменения открывают возможность для внедрения новых клиентских функций, связанных с очередями, в будущем.

Изменения для владельцев модифицированных серверов

Другая часть изменений касается модифицированных серверов. Ранее система сообщений очереди использовалась на таких серверах для добавления текстов на экраны загрузки через плагины. Это нередко конфликтовало с клиентскими сообщениями, что ухудшало визуальный опыт.

Теперь добавлена возможность изменять «советы в меню», отображаемые на экране загрузки. Это позволяет владельцам серверов добавлять уникальные подсказки, более подходящие для конкретного игрового режима или особенностей сервера. Для совместимости старая система сообщений будет работать, но с небольшими изменениями.

Старый код:
var net = Net.sv.StartWrite();
net.PacketID(Message.Type.Message);
net.String(«Top Text»);
net.String(«Bottom Text»);
net.Send(new SendInfo(conn));

Новый код:
var net = Net.sv.StartWrite();
net.PacketID(Message.Type.Message);
net.String(«Bolt»);
net.String(«This server has instant craft!»);
net.Send(new SendInfo(conn));

Теперь вместо верхнего текста можно изменить значок совета в меню. Существующие плагины для загрузочных экранов продолжат работать, но поле верхнего текста будет использоваться для значка.

Список доступных названий значков опубликован в сообществе Facepunch на GitHub.

Эта функция доступна только для серверов, явно указанных в разделе модифицированных серверов.

Усиление безопасности RCON

Для владельцев серверов были внедрены улучшения в области безопасности RCON. Теперь сервер будет выводить заметные предупреждения, если используется небезопасный пароль для RCON. В некоторых случаях сервер может отказаться запускать RCON, если пароль слишком простой (например, «password» или «changeme»).

Добавлены дополнительные меры защиты от атак методом подбора пароля. Теперь, если клиент RCON попытается подключиться с неправильным паролем, то после 5 неудачных попыток IP-адрес будет заблокирован на 5 минут. Эти параметры можно настроить с помощью новых переменных. Также добавлены команды для постоянной блокировки IP-адресов и сетей.

Новые команды

  • rcon.banduration (по умолчанию: 300) — задаёт длительность автоматической блокировки в секундах.
  • rcon.maxpasswordfailures (по умолчанию: 5) — максимальное количество неудачных попыток ввода пароля перед временной блокировкой.
  • rcon.logfailedattempts (по умолчанию: true) — логирует все неудачные попытки ввода пароля и блокировки. На крупных серверах это можно отключить, чтобы избежать спама в логах.
  • rcon.permanentbanfailedips (по умолчанию: false) — включает возможность постоянной блокировки IP-адресов, превышающих порог неудачных попыток.
  • rcon.ban_ip  — постоянно блокирует указанный IP-адрес или сеть.
  • rcon.unban_ip  — снимает блокировку с IP-адреса или сети (как временную, так и постоянную).
  • rcon.print_rcon_failed_logins — выводит таблицу неудачных попыток входа, включая информацию о том, привели ли они к блокировке.
  • rcon.clear_rcon_failed_logins — очищает всю временную историю неудачных попыток входа и блокировок (не затрагивает постоянные блокировки).
  • rcon.print_rcon_bans — отображает список постоянных блокировок IP-адресов и сетей.

Эти изменения сделают управление сервером более безопасным, снижая риск атак методом подбора пароля и помогая отслеживать подозрительную активность.

Поддержка нативного оборудования ARM64

Разработчики долго ждали, пока стороннее программное обеспечение начнёт поддерживать ARM64-архитектуру на аппаратном уровне. Наконец, этот момент настал. Первой платформой для тестирования стал Mac, где версия игры теперь использует нативную сборку для ARM64 на устройствах с процессорами Apple Silicon.

На данный момент поддержка Intel-оборудования на Mac остаётся без изменений и никак не затрагивается этими нововведениями.

Если тестирование окажется успешным, разработчики планируют рассмотреть возможность внедрения поддержки ARM64 и на других платформах. Следующим важным шагом может стать нативная работа на ARM64-оборудовании для ноутбуков с Windows. Однако, для этого требуется, чтобы стороннее ПО полностью перешло на поддержку ARM64. Этот процесс, скорее всего, продолжится и в следующем году.

Встроенный профайлер сервера

Ранее разработчики сосредотачивались на мониторинге производительности серверов с помощью агрегации телеметрии. Это давало общее представление о состоянии сервера с высоты птичьего полёта. Однако в некоторых случаях этого недостаточно, чтобы точно определить источники замедлений.

В этом месяце был разработан встроенный профайлер сервера. Этот инструмент позволяет анализировать код, выполняемый в конкретном кадре, что даёт детальное представление о причинах проблем и их масштабах.

Теперь телеметрия на высоком уровне может использоваться как система предупреждений о «горячих точках», а встроенный профайлер поможет глубже изучить их содержимое и определить, какие части кода нуждаются в оптимизации. Это значительно упростит процесс улучшения производительности серверов, а также проверку эффективности внесённых оптимизаций.

Доступ для владельцев серверов

Эта функция будет доступна для публичного использования. Любой владелец сервера сможет запустить профайлер и изучить собранные данные. Это позволит не только увидеть, что делает стандартный сервер, но и проанализировать, как моды влияют на производительность.

Профайлер станет полезным инструментом как для улучшения работы серверов, так и для выявления узких мест в модификациях.

Как создать снимок профилирования

Примечание 1: На данный момент эта функция доступна только для серверов, размещённых на Windows. Поддержка Linux будет добавлена в будущем.

Шаги для создания снимка

  1. Активация профайлера:
    Запустите сервер с использованием параметра запуска `-enableProfiler`.
  1. Выполнение команды в консоли сервера:
    Используйте команду:
    profile.perfsnapshot [delay] [name] [frames]

Все параметры являются необязательными.

  • delay — задержка в секундах, по умолчанию 15.
  • name — имя файла со снимком, по умолчанию «Profile».
  • frames — количество кадров для включения в снимок, по умолчанию 10, максимум 10.
  1. После истечения задержки:
    • Сервер запишет указанное количество кадров.
    • Будет создан и сжат снимок профилирования.
    • Найти его можно по пути:
      <папка-сервера>/server//profiler/.json.gz

Примечание 2: Если во время создания снимка что-то пойдёт не так, файл не будет создан. Подробности можно будет найти в логах сервера. Разработчики продолжают улучшать профайлер и устранять ошибки.

Примечание 3: Создание снимка временно снижает производительность сервера на несколько секунд. Убедитесь, что задержка (delay) достаточна, чтобы минимизировать влияние на игроков. Если снимок не создаётся, профайлер не оказывает заметного влияния на производительность.

Как изучить снимок

  1. Извлечение файла:
    Используйте любой инструмент для распаковки GZip (например, встроенный инструмент Windows 11 или 7zip).
  1. Формат снимка:
    Снимок сохраняется в формате Google Event. Для его просмотра можно использовать различные инструменты.
  1. Пример: Perfetto UI
    • Откройте Perfetto UI.
    • Перетащите файл `.json` в окно программы.
    • Исследуйте собранные данные.

Эта процедура позволит владельцам серверов детально анализировать их производительность и выявлять узкие места.

Префабы для создания карт и моддинга

В этом месяце разработчики добавили новые префабы для сообщества картоделов и моддеров.

Список добавлений и изменений:

  • Новые кубы с текстурами бетона, угля, гравия, потолков, крыш и штукатурки.
  • Кубы с текстурами окрашенных деревянных панелей.
  • Кубы с текстурами асфальта и дорожного покрытия.
  • Варианты зон температуры (низкая, средняя, высокая).
  • Кубы с радиационными зонами — минимальный, низкий, средний и высокий уровни.
  • Префабы токсичной/радиоактивной воды в виде кубов и цилиндров.
  • Невидимый спавнимый админами куб 3х3 и стены.
  • Статический префаб гирлянды с рождественскими огнями.
  • Статические префабы огня.
  • Статические префабы следов от баллончиков с краской.
  • Префабы праздничных тортов из прошлых лет.
  • Невидимый статический PressButton.
  • Исправления для материалов светящихся и стеклянных кубов.

Новый год и Рождество

Праздничное обновление будет выпущено 16 декабря в 22:00 по московскому времени и станет обязательным для всех игроков.

См. также:

Дальше