奥术加载器

奥术加载器

Arcane Loader 是一个用于 Hytale 服务器的 Lua 模组加载器,具备热重载工作流、确定性模组运行时控制,以及专注于安全性的 API,适用于可扩展的服务器端模组开发。

图书馆

奥术加载器是一个用于Hytale服务器的Lua模组加载器,它允许服务器端模组在无需重启服务器的情况下运行。

它为Lua模组提供了一个结构化的运行时环境,包括热重载工作流、确定性的生命周期管理,以及面向安全性的API,用于可扩展的服务器端模组开发。


安装(针对需要此模组的模组)

如果另一个模组说明“需要奥术加载器”,请按如下方式安装:

1. 安装奥术加载器

  1. 下载奥术加载器 .jar 文件
  2. 将其放入您的服务器的插件/模组文件夹
  3. 启动一次服务器

奥术加载器将自动初始化其运行时环境并创建所需的文件夹。

2. 安装Lua模组

依赖于奥术加载器的模组应放置在以下位置:

lua_mods/

每个模组都应在 lua_mods 文件夹内拥有自己的文件夹。

示例:

lua_mods/example_mod/

⚠️ 重要提示:
某些Lua模组可能包含其自身的安装说明、所需的配置文件或额外的资源。请务必阅读您所安装模组提供的说明。

由奥术加载器创建的文件夹

首次启动后,奥术加载器通常会创建:

lua_mods/
lua_cache/
lua_data/
lua_assets/
logs/
arcane-loader.json

对于大多数服务器,无需额外的设置


奥术加载器的功能

奥术加载器为Hytale服务器添加一个Lua脚本运行时环境

它允许模组使用Lua编写,并在无需重启服务器的情况下动态加载。

核心功能包括:

  • 无需重启服务器即可热重载Lua模组
  • 确定性的模组启用/禁用/重载顺序
  • 每个模组独立的沙盒化数据存储
  • 内置的调试和性能分析工具
  • 面向游戏系统的结构化API
  • 对敏感服务器功能的受控访问
  • 支持外部集成的异步Webhook

此项目是一个框架/加载器,本身并非游戏玩法模组。


服务器命令

奥术加载器包含用于管理Lua模组的内置命令。

常用命令:

/lua new <modId>
/lua reload <modId>
/lua mods
/lua enable <modId>
/lua disable <modId>
/lua errors
/lua doctor
/lua profile
/lua config reload

这些命令允许服务器管理员和开发者在无需重启服务器的情况下管理模组。


面向Lua模组开发者

奥术加载器为服务器端模组开发提供了一个结构化的Lua API。

可用的API领域包括:

  • commands(命令)
  • events(事件)
  • players(玩家)
  • entities(实体)
  • world interaction(世界交互)
  • filesystem utilities(文件系统工具)
  • persistent data storage(持久化数据存储)
  • networking(网络)
  • UI systems(UI系统)
  • simulation tools(模拟工具)

这使得Lua模组能够实现游戏机制、命令、服务器系统和集成功能。


典型模组结构

一个基本的Lua模组看起来像这样:

lua_mods/<modId>/
manifest.json
init.lua

示例 manifest.json:

{
  "id": "example",
  "name": "示例模组",
  "version": "1.0.0",
  "entry": "init.lua"
}

模组可以通过 /lua reload 命令立即重载。


安全性与运行时控制

奥术加载器包含专为在线服务器环境设计的保护措施:

  • 每个模组独立的文件系统沙盒
  • 可配置的API功能限制
  • 针对敏感操作的审计日志
  • 确定性的生命周期控制
  • 性能分析和诊断

这些系统有助于保持服务器的稳定和易于管理。


注意事项

  • 奥术加载器是一个依赖/框架,而非内容模组。
  • Lua模组必须放置在 lua_mods/ 目录中。
  • 部分功能依赖于Hytale服务器运行时环境。

版本

当前版本:1.1.0