rust instacraft что это
БЕСПЛАТНЫЙ Instant Craft 2.7.1
We have added support for the PayPal payment gateway to our site!
Мы добавили поддержку платежного шлюза PayPal на наш сайт!
Обновление до версии 2.7.1
Восстановлена полноценная поддержка списка дополнительных скинов из мастерской
Теперь для определения типа предмета используется web-api steam, о любых ошибках пожалуйста сразу сообщайте в обсуждении ресурса
Внимание!
После обновления сервера от 1.04.2021 при использовании настройки «Использовать дополнительный список скинов из мастерской» сервера ВЫЛАТЕЮТ при запуске
Обновление до версии 2.7.0
Обновление до версии 2.6.2
Исправлена ошибка в стандартной конфигурации, из-за которой неверно отображался текст в чате.
Обновление до версии 2.6.1
Обновление до версии 2.6.0
При обновлении менять ничего не нужно, плагин автоматически обновит конфигурацию данными, которые были установлены в прошлой версии.
Обновление до версии 2.5.0
Полностью убраны связи с типом Steamworks.SteamInventory, что должно позволить всем функциям плагина работать на хостинге Alkad.
Теперь, вместо инициализации списка всех доступных скинов при запуске плагина, плагин проверяет все доступные скины для предмета при крафте.
Так как список доступных скинов у предмета разработчиками игры не инициализируется при запуске сервера, то эта инициализация пройдёт при первом крафте любого предмета в случае, если в настройках включено использование принятых скинов из мастерской.
7 мс на сбор всех данных, теперь будет проходить
Как сделать мгновенный крафт в Rust
Надоело сидеть и ждать по полчаса, когда нужный предмет изготовится? Значит, появился вопрос, как сделать мгновенный крафт в Rust. Это возможно, но не под силу рядовому игроку. Администратор сервера, при желании, может установить необходимый плагин, и игроки смогут пользоваться этим.
Так что, если вы простой игрок и пришли сюда искать ответ на такой вопрос, то могу дать лишь один совет. Войдите в главное меню игры, щелкните по кнопке «Играть», войдите во вкладку «Модифицированные». В строку поиска введите «QuickCraft» или «InstantCraft». Выбирайте любой сервер из списка отфильтрованных, заходите и радуйтесь жизни. Вводили вы названия тех самых плагинов для мгновенного крафта. В списке сервера, на которых админы уже всё установили и настроили.
Как настроить «InstantCraft» на своём сервере
Возможно, вы зашли читать статью как администратор, и хотите реализовать мгновенный крафт на своём сервере. Что ж, для этого у меня тоже есть несколько советов. Будет надеяться, вы используете мод «Oxide». Если не в курсе что это, то поищите информацию в гугле, и установите его. Когда сделаете, возвращайтесь сюда, и действуем дальше.
Плагин, описанный здесь, не из той категории, «установить будет сложно». Его всего-то достаточно поместить, как и многие другие, в папку «Plugins» и выдать игрокам право использования дополнения.
Итак, зайдите на сайт «U-mod». Введите в поиске «InstantCraft», загрузите файл, положите в папку, как было написано выше. Перезагрузите оксид. Для этого введите в консоли СЕРВЕРА «oxide.reload». Дополнение заработает.
Теперь выдаём игрокам право крафтить мгновенно. Так же в консоль прописываем «oxide.grant group default instantcraft.use». Сразу введите и точно такую же строку, только слово «default» замените на «admin». Таким образом, вы выдадите право использовать плагин и администраторам, и рядовым игрокам. Если данную процедуру не провести, плагин не заработает.
Процесс установки плагинов так осложняется выдачей привилегий, потому что некоторые дополнения добавляют в игру функционал, который не очень интересно давать игрокам использовать бесплатно. Другими словами, инстакрафт может сделать производство предметов быстрее стандартного, а не мгновенным. В таком случае, игроки, которые задонатят, получат возможность на несколько процентов раньше вас крафтить предметы. То есть, привилегии нужны для монетизации. По привилегиям игроки, использующие донат, сортируются с теми, кто этого не делает.
RUST Instant Craft Command & Variable
The instant craft command and variable for quick crafting
The RUST instant craft command and variable are used to remove the required waiting period for all craft-able items. This is a server variable that is scoped only to admin and moderator players connected to the server. When this setting is enabled, admin and moderator players that begin to craft new items will notice the custom crafting times are no longer present. Crafted items will immediately move into their inventories, assuming they’re not full.
This setting can have a dramatic impact on the time spent by players on your server. It allows players to spend more of their session time on the other areas of RUST, such as farming, building, and PVP.
A few practical reasons for using the RUST instant craft command and variable:
Who can use the RUST instant craft command and variable
The RUST instant craft command can be issued on vanilla RUST servers by RUST admins and moderators only. Non-admin players on vanilla RUST servers cannot use the instant craft command. There are plugins available for modded servers, such as Crafting Controller, that allow for finer grain control over the crafting times and can be scoped to all players, not just admins and moderators.
How to use the RUST instant craft command and variable
Before initiating the RUST instant craft command:
The RUST instant craft command is issuable from the in-game console and RCON platforms. Press the F1 key to open the in-game console and type in the specific syntax listed below, then press the enter button.
RUST craft.instant command & variable (1 of 1)
Note that this RUST admin command does work from RCON platforms and doesn’t require being logged into the game server.
Get the server’s current configuration value
Use the command below to report the current configuration:
On success the console will display:
Enable instant craft on the server
Use the command below to enable instant craft:
On success the console will display:
Disable instant craft on the server
Use the command below to disable instant craft:
On success the console will display:
About dg
Dg is the founder and co-owner of Corrosion Hour, a niche gaming community established in 2016 focusing on the survival game RUST. He is an active and contributing member of numerous other RUST communities. As a community leader and server owner for over 15 years, he spends much of his time researching and writing guides about survival games, covering topics such as server administration, game mechanics, and community growth.
screenrant.com
Follow ScreenRant.com
Something New
How To Craft An Instant Camera In Rust
Rust allows players to craft an Instant Camera tool that takes Polaroid-like images that players can keep to relive some of their greatest moments.
There are a lot of memorable moments to be made while playing Rust, and while screenshots are a great way to capture these moments, players may wish to have something a little more tangible in order to properly relive the memory. Luckily, Rust has added the Instant Camera tool which allows players to take Polaroid-like pictures that they can gift to others or mount on their walls.
Members of the Rust community know the game is all about creating insane gaming moments. From tricking players into a false sense of security to joining large factions on servers, accomplishments within Rust can feel monumental no matter the size. Now, players have a way to capture and document these moments in-game allowing them to revisit their accomplishments by flipping through a tangible photo album. Well. as tangible as things can be in a virtual world.
1 Crafting an Instant Camera in Rust
In order to craft an Instant Camera, players will have to have purchased the Sunburn DLC which will then grant the player the recipe for the Instant Camera as well as other DLC items. Players who do not have the DLC can still obtain an Instant Camera, but they will need to acquire one from a player who has the DLC and has crafted on. Players who do not have the DLC can also learn the crafting recipe by inserting the Instant Camera into a Research Table. This will consume the Instant Camera and will cost a certain amount of Scrap. Nonetheless, here is how players who have the Sunburn DLC can craft the Instant Camera.
The recipe for the Instant Camera requires one Gear and 75 Metal Fragments making it a relatively easy tool to craft. Metal Fragments can be obtained by recycling various metal components or by smelting Metal Ore in a furnace. Recycling is a much faster process, but requires players to find a Recycler and the proper metal components to recycle. Gears can be found in a number of containers including crates, supply drops, and yellow barrels. Players can also craft Gears using a level 1 Workbench, but they require 25 Metal Fragments and 100 Scrap. Seeing as the Instant Camer recipe only requires 1 Gear, it’s much faster and cheaper to scavenge for one rather than crafting.
Rust is available now on PC.
Пишем API на Rust с помощью процедурных макросов
Тем не менее, многие вполне обоснованно побаиваются пользоваться этим инструментом, в основном из-за того, что разбор синтаксического дерева и атрибутов макроса зачастую превращается в «закат солнца вручную», так как задачу приходится решать на очень низком уровне.
В данной статье я хочу поделиться некоторыми, на мой взгляд, удачными подходами к написанию процедурных макросов, и показать, что на сегодняшний день процедурные макросы можно создавать относительно просто и удобно.
Предисловие
Прежде всего давайте определим задачу, которую мы будем решать с помощью макросов: мы попробуем определить некоторый абстрактный RPC API в виде трейта, который потом реализует как серверная часть, так и клиентская; а процедурные макросы, в свою очередь, помогут обойтись нам без кучи шаблонного кода. Несмотря на то, что реализовывать мы будем несколько абстрактный API, задача на самом деле довольно жизненная, и, помимо прочего, идеально подходит для демонстрации возможностей процедурных макросов.
Сам API у нас будет выполнен по очень простому принципу: есть 4 типа запросов:
Во всех случаях сервер будет отвечать валидным JSON объектом.
В идеале хочется получить нечто подобное:
Для начала напомню, что процедурными макросами в Rust’е называются специальные плагины к компилятору, которые получают на вход некоторое синтаксическое дерево, с которым производят некоторые манипуляции, а затем возвращают модифицированное дерево для последующей компиляции.
В рамках этой статьи мы будем рассматривать два вида таких макросов: derive-макросы, позволяющие автоматически реализовать трейт для какой-то структуры (многим они уже знакомы по serde ), и атрибутные макросы, которые можно использовать для большего спектра задач.
Создаем макрос FromUrlQuery
Как мне кажется, самый идиоматичный подход к написанию процедурных макросов — это объявление некоторого трейта, а потом создание макроса, который будет его выводить для пользовательских типов данных. Конечно, мы можем в дерайв-макросах генерировать любой код, но использование их для других целей неизбежно приведет к недопониманию.
Итак, приступим. Для начала объявим наш трейт по разбору URL query. Данный трейт позволит нам получать из произвольной строки структуру данных, для которой этот трейт реализован. Выглядеть он будет так:
Чтобы иметь возможность автоматически реализовывать этот трейт, нам потребуется процедурный макрос. Данный макрос относится к типу макросов derive макросов и должен объявляться следующим образом:
Обычно код разбора AST и атрибутов макроса превращается в кошмар, выглядящий как куча вложенных условий, понять которые крайне сложно.
В darling ‘е есть много вспомогательных макросов, но нас сейчас интересует только несколько из них.
Хочу отметить, что при этом если бы мы хотели знать, публичное это поле или нет, то могли бы изменить сигнатуру на следующую:
И все, на этом наш парсер готов.
Можно приступать к написанию кодогенератора.
А теперь посмотрим, как же будет в реальности выглядеть процесс кодогенерации FromUrlQuery :
Да, это все уже не выглядит слишком сложным или очень рутинным, по сути мы просто пишем то, что хотим получить, с одной стороны не сталкиваясь с большими когнитивными трудностями, а с другой получая весьма лаконичный и понятный код. Но, к сожалению, не всегда жизнь бывает такой простой; все становится гораздо интереснее сложнее, если есть необходимость написать не дерайв макрос, а атрибутный.
Пишем макрос http_api
Код объявления атрибутных макросов несколько отличается и выглядит вот так:
Теперь компилятор знает, что такой атрибут существует, и не будет ругаться на неизвестное имя.
Разбираем методы интерфейсного трейта
Для начала напишем код, который будет разбирать отдельный метод трейта с интерфейсом, который в общем случае будет выглядеть примерно так:
Объявим типы HTTP запросов, которые мы умеем обрабатывать:
И объявим набор атрибутов для метода, которые мы можем указывать:
Теперь можно переходить к разбору сигнатуры. Как я уже упоминал выше, нам нужно рассмотреть
два варианта — с дополнительным аргументом и без оного:
Разбираем интерфейсный трейт целиком
Теперь можно приступить к разбору трейта с интерфейсом в целом. Интерфейсный трейт всегда состоит исключительно из методов, разбор которых мы описали выше, а также дополнительных атрибутов.
Таким образом, мы можем разобрать его без особых сложностей:
Переходим к кодогенерации
Например, если мы хотим просто написать обработчик запросов, который на GET запрос будет просто возвращать некоторый JSON, то мы просто пишем что-то в таком стиле:
Для случая с GET запросами с параметрами мы лишь немного изменим обертку, которую мы написали выше, добавив еще один фильтр в цепочку:
Обработчики остальных двух типов запросов пишутся схожим образом.
Собираем обработчики воедино
А теперь с помощью комбинатора or собираем все фильтры воедино.
Заключение
С помощью этой статьи я хотел показать, что derive макросы не всегда так сложны в написании,
если использовать дополнительные библиотеки и следовать определенным практикам.
На мой взгляд, подобный подход к использованию трейтов наиболее удобен, если нужно описать
некоторый RPC, связывающий различные приложения, которые написаны на Rust’е.
Нетрудно заметить, что можно легко написать генератор реализации типажа-интерфейса для HTTP
клиентов типа reqwest и тем самым исключить возможность ошибиться в сопряжении клиента и сервера на корню.
Полностью рабочий код, примеры которого приводились в данной статье можно найти по этой
ссылке.