RuyiLuaComponent
Добавить в игру через Steam
Нажмите «Подписаться»
На странице Steam войдите в аккаунт, если потребуется.
Подписаться
О материале
«RuyiLuaComponent» — материал мастерской Barotrauma. Моды, подлодки, предметы и новые задания для экипажа. Данные Steam, описание автора и ссылка для установки через подписку. Совместимость редакцией не проверена.
Описание автора
Introduction
The mod has numerous code snippets from MicroLua by Matheus The mod allows you to scripting in Lua for new circuit component, which offering 32 I/O ports, enough to replace many complex vanilla circuits. The lua component is lightweight, has high-performance, supports hot-reloading, event-driven, and detailed error logging. The script runs on both the server and all clients, like vanilla logic components. You can check out Code Examples and (https://steamcommunity.com/workshop/filedetails/discussion/3469637305/600776571073150902/) in the discussion section for more details.
Advanced techniques
Dependencies
Both the server and clients must have the following mods installed:
Technical Foundation
The mod is built upon Lua for Barotrauma and follow to MoonSharp-compatible Lua 5.2 standards. You can check the official Moonsharp website for related documentation:
Cybersecurity Statement
In Multiplayer
For clients, each RuyiLua component creates a separate sandboxed script that removes the following APIs to restrict script access to the system:
-
Methods in the "os" package except those listed for OS_Time
-
Methods in the "io" and "file" packages
-
Load-related methods: "load", "loadsafe", "loadfile", "loadfilesafe", "dofile", and "require"
Furthermore, MoonSharp Lua interpreter prohibits Cross-Script Access to private resources, including dangerous APIs such as "File", "Hook", "dofile", and "loadfile" provided by LuaForBarotrauma's primary script. This nearly eliminates potential malicious act by users. However, these restrictions do not affect access to common game objects such as Character, Item, Entity, Outpost, InputType, etc. APIs for these game objects are provided in the mod installed folder:
...\RuyiLuaComponent\Sandboxing\libs\
And, it cannot be ruled out that a malicious host might execute infinite loop code and bugs to crash your game program, or counterfeit this mod. For server hosts, Each RuyiLua component runs on LuaForBarotrauma's primary script, which offers more possibilities but also introduces security risks. I strongly recommend keeping the RuyiLua component’s AllowInGameEditing setting false (the default value). This prevents clients from editing the component’s code and uploading it to the server for execution.
In Singleplayer
I can't guarantee anything, just please only use mods you trust!
Project Repository
Как установить и запустить
Откройте оригинальную страницу в Steam Workshop, проверьте версию игры, зависимости и порядок загрузки в описании автора. Нажмите «Подписаться» и дождитесь загрузки Steam. Включите материал в меню модификаций или контента игры, если это требуется. Совместимость и запуск редакцией не проверены.