1. Решение проблем с Rust
    Решение проблем с Rust Legacy
    Решение проблем с HurtWorld
    Как установить Rust
    Как установить Rust Legacy
    Как установить Hurtworld
    Как обновить Rust
    Как обновить Rust Legacy
    Как обновить Hurtworld
    Список серверов Rust
    Список серверов Rust Legacy
    Список серверов Hurtworld

    Хостинг игровых серверов

Dev-Блог 49

Тема в разделе "Новости", создана пользователем KosiakS, 27 фев 2015.

От KosiakS 27 фев 2015 в 17:52
  1. KosiakS

    KosiakS
    Expand Collapse
    Просвещённый
    Команда форума

    Регистрация:
    11 ноя 2014
    Сообщения:
    684
    Симпатии:
    646
    [​IMG]
    Симулятор расшаривания спальников

    Разрешить другу

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

    Сама идея проста, насколько это возможно. Вы зажимаете Е на вашем спальном мешке, выберете assign to friend, найдите ник своего друга в списке и кликните. Вот и всё, теперь ваш друг может спавнится в этом спальном мешке. Список игроков включает в себя ваш френдлист и список всех игроков на сервере.

    Очевидно будут всплывать некоторые недочёты. Возможно я буду прописывать вас в огромном количестве своих спальных мешков, на которых будет написано что вы сучара. Быть может я сделаю спальник для каждого бомжа на сервере и таким образом буду запирать их в своей тюрьме. Честно сказать, не думаю что на данный момент будут действительно серьёзные последствия и в любом случае мы будем стараться решать проблемы по мере их возникновения, вместо отключения этого элемента геймплея.
    [​IMG]
    [​IMG]
    Больше никакого разрушения своих построек

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

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

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

    Пропавшие стены

    Люди потеряли свои стены, это возникло потому что сообщение с описанием этих стен почему-то не дошло до клиента. Это не тот элемент, который затрагивает лишь строй. блоки, это включает в себя любой объект, который отправляется с сервера.

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

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

    Баг с фризом

    На прошлой неделе у нас был баг с фризами, после 10-20 минут игры, всё начинало зависать, после долгой возни я таки поймал этот баг и отладил, оказалось проблема была в звуковом движке Unity.

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

    Баг "лежит" где-то в Unity, на следующей неделе буду искать возможные решения проблемы.

    Админ-команды

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

    Эффекты на экране

    Мы добавили несколько эффектов состояний. Эффекты для холода, жары и направленного повреждения - так что теперь вы будете знать откуда на вас напали. Сделали их максимально ненавязчивыми, но в то же время заметными.
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    Исправления сети

    С момента прошлого патча я пофиксил просто кучу неисправностей в сетевом коде. Люди не могли присоединиться к некоторым серверам, потому что команда server.ip (которую использовали для коннекта по ip) попросту не работала. Игроки также вылетали с серверов без причины, точнее причина была (например кик), однако сами игроки причины не видели, из-за чего были недоумения.

    Оптимизация сервера

    Владельцы серверов с онлайном 100 и выше выявили то, что серверный FPS значительно опускался. Проблема сама по себе не новая и всплывает уже давно. Я потратил много часов на профайлинг одного из наших серверов с онлайном в 150+ и выявил много брешей в производительности. Сейчас вы должны заметить значительную прибавку в производительности. В качестве бонуса средняя производительность на уровне клиента также выросла.

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

    Диагностика

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

    Так что я добавил команду dump, которая выводит всю информацию в папку.
    Информация включает в себя следующее:

    • Информация о системе
    • Список рут геймОбъектов, сгруппированные по наименованию и упорядочены по кол-ву.
    • Список рут объектов сгруппированные по наименованию и упорядочены по кол-ву вместе с "детьми".
    • Полная иерархия геймОбъектов включая число компонентов.
    • Список подключенных игроков и их сетевая статистика.
    • Список всех инстанс объектов сгруппированные по типу и упорядочены по кол-ву.
    • Список всех инстанс скрипт Объектов сгруппированные по типу и упорядочены по кол-ву.

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

    Простой пример: оружие - камень, имеет 1 геймОбъект + 3 LOD модели (которые являются его "детьми") серверу эти лоды не нужны, удалив их мы получаем 3 свободных геймОбъекта, а учитывая что на сервере может быть по 500 каменей, мы экономим 1500 геймОбъектов.

    А теперь представьте тоже самое с факелом, который содержит 11 объектов или каким-нибудь деревом, которое до оптимизации состояло из 20+ объектов.

    Таким образом мы приближаемся к идеалу, однако необъяснимые утечки памяти всё ещё есть. К сожалению утечка памяти прослеживается на нормальных объектах, а не Unity. Я займусь проблемой, но это будет сложно.

    Рестарты сервера

    Вас явно подбешивает, что сервер перезагружается без предупреждения, особенно если вы стоите в поле с полными карманами ресурсов, так что я добавил команду restart, которая уведомляет всех на сервере о грядущем рестарте. После команды вам даётся 60 секунд, чтобы перейти в безопасное положение.

    Исправления самодельного пистолета (Eoka)

    Хелкус и Гусман сделали самодельный пистолет таким-же как в Legacy - то есть ненадёжным + теперь он в стандартном наборе рецептов.

    Repair Bench

    Хелкус закончил с Repair Bench! Всё также, перетаскиваете предмет в панель ремонта и жмёте repair. Стоимость около 40% от стоимости предмета, механика ремонта такая же как раньше, то есть каждый раз, когда вы ремонтируете предмет, его максимальный запас прочности уменьшается, что рано или поздно приведёт к полной негодности.
    [​IMG]
    [​IMG]
    Климаты

    Хелкус добавил фактические биомы с разными показателями температур, это значит что вы, находясь в Арктике, будете мёрзнуть, а в пустыне наоборот перегреваться (днём), одежда будет защищать вас от холода, однако металлическая броня будет его усиливать.

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

    Метаболизм

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

    Прыгнув в воду вы можете "смыть" часть отравления радиацией.

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

    Ну и целом было много балансировки. Дайте нам знать о вашем мнении.

    Всё остальное:

    • Исправили косяк с пончо (кожаный плащ).
    • Стабильность не возрастает если server.stability отключена.
    • Лампы теперь разрушаемые.
    • Стрелы с луком теперь доступны в стандартном наборе рецептов.
    • Животные теперь создают шум при атаках.
    • Исправлена баг, атаки игроков не воспроизводились для других.
    • Исправлен баг с приготовлением и переплавкой.
    • Изменение в метаболизме отсылаются к игроку без задержки.
    • Снизили яркость факела.
    • Атаки молотом теперь могут ускорять починку.
    • Исправили баги с видом от 3-го лица (доступно только админам и разработчикам).
    • После бана игрока его сразу же кикает с сервера.
    • Самолёт теперь не летает слишком высоко.
    • Исправления лута, содержал базовые чертежи.
    • Рикошеты снарядов теперь менее рандомны.
    • Сгладили переходы в эффекте экрана от радиации.
    • Звуки счётчика гейгера стали тише.
    • Исправлена баги с переименованием спальных мешков.
    • Серверы работающие в небезопасном режиме (insecure) отключаются от VAC.
    • Пользователи с EAC и VAC банами видят только небезопасные сервера.
    • Анти-рад одежда защищает от радиационного воздействия а не отравления.

    В целом:

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

    На следующую неделю у нас есть уже много готовых вещей, которые находятся в очереди, я собираюсь всё это добавить и поработать над некоторыми весёлыми вещами.
     
Подкатегории: В этой статье нет подкатегорий

Поделиться этой страницей