Большое обновление качества жизни с более чем 60 улучшениями и исправлениями. Rust исполняется 11 лет, и приближается Рождество!
Мы тоже не можем в это поверить.
Кажется, что только вчера мы праздновали 10-летие Rust и переживали из-за нашего видео с обзором, но это правда - в среду, 11 декабря, Rust исполняется 11 лет!
Это был еще один невероятный год для Rust: рекордное количество игроков, события на Twitch и ежемесячные обновления контента привели к самым значительным изменениям в мире Rust за последние 11 лет.
Вот лишь некоторые из ключевых геймплейных дополнений, которые мы представили, оглядываясь на 2024 год:
Обновление мира
Рюкзаки
Обучающий остров
Цифровые часы
Ночной свет
Переработка памятника в гавани
Причаливание грузового корабля
Миниган + огнемет
Сейсмический датчик
Наручники + Капюшон для заключенного
Мотоциклы + Педальные велосипеды
Странствующий торговец
Сигнализация для жестяных банок
Металлоискатель
Обои
Атташе GCO
Ручной водолазный движитель
Обновленные дайвсайты
Радтаун
Радиоактивная вода
T1 SMG + T3 SKS
...и многое другое!
Чтобы отпраздновать 11-летие Rust, на следующей неделе вы найдете в игре торт и воздушные шары. А ваши друзья смогут насладиться 50% скидкой на Rust в течение 10 дней, начиная с понедельника!
От лица всех сотрудников Facepunch мы хотели бы поблагодарить вас за отличный 2024 год. В январе мы опубликуем полный блог по итогам года, в котором расскажем о том, как прошел 2024 год, об основных моментах, выводах и наших планах на 2025 год.
Индикатор враждебности турели миротворца
Значок турели теперь появляется рядом с обычным индикатором враждебности, когда вы враждебны и находитесь рядом с автоматической турелью миротворца.
Хранение рабочих тележек
На всех рабочих тележках появился небольшой ящик, в котором можно хранить дополнительный лут.
Изменение глубины водокачки
Водяные насосы теперь работают на меньшей глубине, что идеально подходит для новых рек.
Размер стека баллонов с пропаном
Теперь баллоны с пропаном можно складывать в стек до 20 штук.
Увеличение количества входов в Dropbox
Увеличено количество входных слотов до 4.
Сброс свалки
После частичного разграбления кучи хлама теперь могут депауниться.
Хранение в холодильнике
Хранение в холодильнике увеличено до 48 слотов
Самонаводящиеся ракеты
Самонаводящиеся ракеты были добавлены в ящики с награбленным добром для вертолетов «Брэдли» и боевых вертолетов
Мы провели этот месяц, исправляя ошибки и улучшая контригру волков, поскольку хотим, чтобы она была сложной, но не несправедливой.
Проблемы
Использование огня против волков иногда оказывалось менее эффективным, чем ожидалось, особенно когда вы хотели избежать боя. Даже если волки не нападали, пока вы держали дистанцию и зажженный факел, они очень долго преследовали вас.
Это было особенно неприятно, когда вы отгоняли волков от своего трупа, чтобы вернуть награбленное, но потом они все равно преследовали вас и потенциально могли вызвать смертельную спираль.
Кроме того, когда волк запрыгивал на возвышенность, чтобы спастись, он игнорировал зажженный факел и спешил запрыгнуть наверх.
Волк мог совершать очень быстрые огромные прыжки, иногда до самой крыши вашей базы. При этом движения при прыжке выглядели невесомыми и не очень правдоподобными.
Еще одной проблемой были стаи из 4+ волков. Они появлялись не всегда, но игрокам, которым приходилось с ними сталкиваться, приходилось очень нелегко. Несмотря на то что в стаях никогда не появлялось более 4 волков, иногда они могли сливаться. Это связано с тем, что волки всегда приходят на разведку, когда слышат вой, даже если он исходит от волка, не принадлежащего к их стае.
Катушка Тесла
Снижение максимальной потребляемой мощности катушки Тесла с 35 до 25 (без разницы во времени поражения)
Монитор хранилища
Добавлен проходной слот в монитор хранилища
Скорость лифтов
Увеличена скорость размещенных игроком лифтов на 50%
Индикатор полного заряда батареи
Добавлен выходной слот для индикации полной зарядки батареи
Модульные автомобильные радиоприемники теперь в Rust!
Это значит, что теперь вы можете изготовить рацию для установки в модульный автомобиль за 120 металлических фрагментов, если у вас есть Voice Props Pack. Если у вас его нет, то с 9 по 19 число он продается со скидкой 40%!
Просто создайте радио и установите его в кабину модульного автомобиля. Рация будет работать только при включенном двигателе автомобиля. Как только радио будет развернуто, с ним смогут взаимодействовать все желающие.
Любой человек, имеющий право доступа к автомобилю, сможет поднять рацию с помощью строительного молотка.
Радио поставляется со всеми встроенными и транслируемыми через Интернет радиостанциями, которые вы найдете в Boom Box.
Купленные вертолеты теперь можно поднять магнитным краном и уничтожить на Свалке. Вы получите лом в зависимости от типа вертолета и его текущего здоровья (50% здоровья = 50% лома).
Мини-вертолет - 200 лома
Транспортный вертолет - 300 ломов
Штурмовой вертолет - 500 ломов
Украли вертолет у соседей? Почему бы не уничтожить улики и не получить за это деньги!
Деревянные высокие внешние стены и ворота теперь можно обновить до их каменных версий с помощью контекстного молотка, как и обычные строительные блоки. Для обновления каждой детали требуется каменная высокая внешняя стена или ворота в вашем инвентаре.
Кроме того, высокие внешние стены теперь создаются партиями по три штуки. Каменные внешние стены требуют 1 лист металла для создания.
Каменные внешние ворота также были скорректированы и теперь требуют 1 лист металла и только 3 шестеренки, а стоимость их изготовления снижена до 4000 дерева/камня (по сравнению с 4500) для улучшения управления инвентарем.
Теперь вы можете просматривать множество статистических данных о своем торговом автомате. Сюда входят:
- История транзакций
- Самые высокодоходные товары
- Самые продаваемые товары
Вы можете просматривать эту статистику в различных временных диапазонах: от последних 30 минут до всего времени.
Также доступны некоторые «долгосрочные статистики» (все анонимны), а именно:
- Общие продажи: Общее количество товаров, купленных в торговом автомате.
- Общее количество уникальных клиентов: Общее количество индивидуальных покупателей, совершивших покупку.
- Всего повторных покупателей: Общее количество случаев, когда существующие клиенты возвращались, чтобы совершить дополнительные покупки.
- Лучший клиент: Клиент, совершивший наибольшее количество покупок (общее количество транзакций).
Эти статистические данные обрабатываются на сервере и затем передаются клиентам.
Вот несколько настроек сервера, которые помогут владельцам серверов:
vendingmachine.max_returned - Определяет максимальное количество записей, которые следует возвращать при получении истории покупок или агрегированной статистики (например, наиболее продаваемые товары, товары, приносящие наибольший доход, и т.д.)
vendingmachine.max_processed - Ограничивает максимальное количество записей о продажах для обработки при выполнении таких операций, как фильтрация или агрегирование данных, даже если доступно больше записей
vendingmachine.max_history - определяет максимальное количество записей о покупках, которые торговый автомат будет хранить в памяти (на стороне сервера), прежде чем удалять старые записи, чтобы освободить место для новых.
Владельцы серверов также могут выполнить команды: vendingmachine.clearallvendinghistory и vendingmachine.clearallvendingcustomerhistory, чтобы очистить всю статистику торгового автомата и долгосрочную статистику соответственно.
Разместив убежище Legacy, можно было умереть, а затем не иметь прав разместить другое. При размещении нового убежища ваше предыдущее теперь уничтожается.
Есть и обратная сторона: Укрытия теперь ставятся на несколько секунд (как и высокие внешние стены). Это дает достаточно времени, чтобы предупредить вас о том, что ваше старое убежище будет уничтожено, а также предотвращает их использование в PVP.
16-кратный прицел использовался крайне редко, учитывая, что он предназначен для военного лута. По всей видимости, это объяснялось слишком большим увеличением.
Теперь этот прицел переименован в «прицел с переменным увеличением» и поддерживает 3 уровня увеличения: 4x, 8x и 16x. Это делает его лучше, чем оба старых прицела вместе взятых, и добавляет новый зум для быстрого захвата цели.
По умолчанию используются клавиши «Page Up» для увеличения зума и «Page Down» для уменьшения зума, однако я ожидаю, что более опытные игроки смогут переназначить их.
Попробуйте использовать колесо прокрутки (если вы не используете его для переключения оружия) или мышь 3 и мышь 4 (если они еще не привязаны).
Теперь, когда мы достигли того момента, когда нас устраивает динамическое ценообразование при покупке предметов с помощью лома, мы решили применить ту же логику к предметам, продаваемым за лом. Начиная с этого месяца, вы заметите, что к предметам, которые вы продаете в автоматы NPC за лом, применяется динамическая цена. Вначале она будет снижена на 50% за проданный предмет, а затем может увеличиться до 100% за проданный предмет, если не будет продано ни одного предмета.
Мы надеемся, что это сделает продажу предметов более выгодной в ходе вайпа. Как и в случае с предыдущими изменениями, мы будем следить за ними и вносить изменения по мере необходимости.
Недавно мы внесли в него изменения, но по вашим отзывам стало ясно, что его еще можно улучшить. Поэтому мы сделали именно это. Подводная видимость теперь увеличена почти вдвое, что позволяет игрокам видеть под водой дальше и четче.
Кроме того, мы немного увеличили глубину, на которую игроки могут погрузиться, прежде чем уровень кислорода начнет снижаться. Во время плавания теперь меньше шансов утонуть в высоких волнах.
Рискованное обезвреживание мин
Теперь у мин есть 15-процентный шанс взорваться при обезвреживании другим игроком, так что будьте осторожны при разминировании минных полей!
Такое поведение мин должно было быть заложено в геймплей, но я обнаружил старую ошибку, которая мешала этому работать как положено.
Изменения в искрении узлов
В этом месяце мы немного изменили поведение при попадании в узлы. Узлы больше не будут показывать искру перед первым попаданием в них, после попадания искра будет появляться под первым попаданием. Это первое попадание считается попаданием искры и дает соответствующее количество ресурсов, так что это очень небольшой бафф для сбора руды.
Мы сделали это по нескольким причинам:
Это приводит их поведение в соответствие с мини-игрой с маркером дерева X.
Поиск искры вначале был немного неудобным, теперь он стал более плавным.
Каждая искорка была сетевой сущностью, которую нужно было вводить и выводить по мере перемещения игрока.
У нас была одна искра на узел в мире, так что на среднем сервере теперь будет примерно на 4,5 тыс. меньше сущностей в мире.
Пока я занимался этим, я немного улучшил память, так что каждый узел будет занимать меньше памяти клиента и сервера.
УЛУЧШЕНИЯ В ОЧЕРЕДИ
В процессе сбора данных об очередях мы решили внести несколько небольших улучшений в систему очередей. До сих пор клиент не знал, что находится в очереди, он просто использовал серверный обмен сообщениями для отображения очереди. Теперь клиент знает, когда он вошел и вышел из очереди сервера, и может действовать соответствующим образом. Теперь мы отображаем богатое присутствие Steam для ожидания в очереди и подключения к серверу. Это также открывает нам возможность сделать больше функций очередей на стороне клиента в будущем.
Другое изменение в очередях, которое мы внесли, касается в первую очередь владельцев модифицированных серверов. Система обмена сообщениями в очередях использовалась моддерами для реализации сообщений на экране загрузки через плагин. Эти сообщения на загрузочном экране часто противоречили сообщениям клиента и в целом выглядели не лучшим образом. В качестве компромисса мы реализовали возможность изменять сообщение «подсказка меню», отображаемое на экране загрузки. Это позволит владельцам модифицированных серверов реализовать собственные подсказки, которые могут быть более актуальны для конкретного режима игры и изменений, характерных для данного сервера. Чтобы сохранить обратную совместимость, прежние сетевые сообщения будут работать с одной оговоркой.
// Старое
var net = Net.sv.StartWrite();
net.PacketID(Message.Type.Message);
net.String(«Верхний текст»);
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));
Вместо верхнего и нижнего текста можно изменить отображаемый значок подсказки меню. Существующие плагины загрузочного экрана продолжат работать, но не будут отображать верхнее сообщение, так как это поле теперь используется для иконки. Список доступных названий иконок был опубликован в нашем репозитории Community GitHub.
Использовать эту функцию могут только серверы, указанные в разделе моддинга.
Усиление безопасности RCON
Еще одна новость для всех владельцев серверов. Мы начали обновлять систему безопасности вокруг RCON. Сервер будет выдавать очень заметные предупреждения, если вы используете небезопасный пароль RCON. В некоторых случаях сервер RCON не сможет запуститься, если пароль достаточно плохой (например, «password» или «changeme»).
Мы также добавили некоторые меры защиты от атак грубой силы. Теперь, когда клиент RCON пытается подключиться с плохим паролем, после 5 попыток IP-адрес будет заблокирован на 5 минут. Все эти значения настраиваются с помощью ряда новых конваров. Также есть несколько команд convar, которые позволяют навсегда запретить IP-адреса и сети.
• rcon.banduration (по умолчанию: 300)
Количество секунд для применения к любому автоматическому бану.
• rcon.maxpasswordfailures (по умолчанию: 5)
Количество неудачных попыток ввода пароля перед применением временного бана.
• rcon.logfailedattempts (по умолчанию: true)
Отладка.Журнал всех различных неудачных подключений пароля/бана. По умолчанию установлено значение true, но крупные серверы могут захотеть отключить его из•за спама
• rcon.permanentbanfailedips (по умолчанию: false)
Постоянно запрещать IP•адреса, превысившие порог неудачных паролей
• rcon.ban_ip <ip / network>
Постоянно запрещает IP или сеть
• rcon.unban_ip <ip / network>
Удаляет запрет 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, но мы все еще ждем, что некоторые сторонние программы будут полностью поддерживать это, так что эта работа затянется как минимум до следующего года.
Встроенный профилировщик сервера
До недавнего времени мы концентрировались на здоровье производительности сервера, отслеживая агрегированную телеметрию производительности. Это позволяло нам получить общее представление о производительности сервера с высоты птичьего полета. Есть моменты, когда высокоуровневого обзора недостаточно, чтобы определить, откуда именно происходят замедления.
Последний месяц я работал над встроенным профилировщиком для сервера. При его использовании мы сможем увидеть весь код, который выполняется для конкретного кадра, что позволит нам более детально разобраться в том, что и как происходит.
Таким образом, мы можем объединить нашу высокоуровневую телеметрию в систему «предупреждения о горячих точках», а использование встроенного профилировщика позволит нам изучить, из чего состоят эти горячие точки и какие части наиболее целесообразно оптимизировать. Это поможет направить наши усилия на оптимизацию производительности сервера, а также подтвердить, что мы успешно оптимизировали определенный блок логики.
Профилировщик имеет дополнительное преимущество: эта функция будет доступна для публичного использования. Любой владелец сервера сможет запустить ее и посмотреть на данные. Вы сможете увидеть как то, что делает ванильный сервер, так и то, что активно делают моды.
Как сгенерировать снимок
Примечание 1: В настоящее время эта функция доступна только для серверов, размещенных на машинах под управлением Windows. Поддержка Linux не за горами.
Во-первых, функция должна быть активирована при запуске сервера. Вы должны запустить исполняемый файл сервера с командой `-enableProfiler`.
Как только сервер загрузится, вы можете выполнить следующую консольную команду: `profile.perfsnapshot [delay] [name] [frames]` (все параметры необязательны)
delay - задержка в секундах, по умолчанию установлено значение 15
name - имя файла моментального снимка, по умолчанию - «Profile»
frames - количество кадров, которые будут включены в снимок - по умолчанию 10, максимум 10
По истечении задержки (вы увидите сообщения в глобальном чате) будет записано запрошенное количество кадров, сгенерирован и сжат снапшот - вы найдете его в <server-dir>/server/<identity>/profiler/<name>.json.gz
Примечание 2: если что-то пойдет не так во время генерации, файл не будет создан (вы можете увидеть это в лог-файле сервера). Я буду продолжать итерации над профилировщиком, так что я устраню все остатки.
Примечание 3: Создание моментального снимка приводит к снижению производительности сервера на пару секунд. Убедитесь, что дали достаточную задержку, чтобы не слишком беспокоить население сервера. Если снимок не делать, то влияние будет незначительным или незаметным.
Изучение моментального снимка
Вы можете извлечь сжатый снимок с помощью любой утилиты, понимающей GZip (Windows11 explorer, 7zip). Снимок использует формат Google Event Format, поэтому для его просмотра можно использовать любой инструмент. Например, я использовал Perfetto UI для визуализации данных - просто перетащите json в представление и можете приступать к изучению.
Префабы для маппинга и моддинга
В этом месяце мы добавили больше префабов для сообщества мапперов и моддеров.
Ниже приведен список дополнений и изменений:
• Дополнительные кубы из бетона, угля, гравия, потолка, крыши и штукатурки
• Цветные деревянные панели (на фото выше)
• Дорожные и асфальтовые плиточные кубы
• Варианты объемов холода и тепла (низкий, средний, высокий)
• Радиационные кубы • минимальный, низкий, средний и высокий уровни радиации
• Куб с токсичной/радиационной водой + цилиндр префабов
• Невидимый куб 3x3 с возможностью спавна администратором + стена
• Статический префаб нити рождественского света
• Статические префабы огня
• Статические наклейки на баллончики
• Префабы торта на день рождения (из предыдущих лет)
• Невидимая статическая кнопка PressButton
• Исправления для изменения материала светящихся кубов и стеклянных кубов
Авторские права на игру принадлежат © "Facepunch Studios LTD".
Содержимое доступно в соответствии с лицензией Creative Commons 3.0
Основное