MSLX 守护进程端 - API文档
MSLX 官网
MSLX 官网
  1. 服务器实例设置
  • 欢迎来到MSLX守护进程端API文档!
  • 基础信息
    • 守护进程端更新
      • 查询守护进程端更新信息
      • 获取守护进程端更新地址
      • 发起守护进程端自动更新
      • 监听守护进程端更新日志
    • 设置
      • 查询系统偏好设置
      • 修改系统偏好设置
      • 获取个人信息
      • 更新个人信息
      • 获取面板样式设置
      • 更新面板样式设置
    • MSL OAuth 登录到面板
      • 获取 MSL 登录地址(用于登录/绑定面板账号)
      • 绑定 MSL 账号
      • 通过 MSL 账号登录面板
      • 解绑 MSL 账号登录
    • 查询守护进程端基础信息
      GET
    • 查询面板自定义样式配置
      GET
    • 更新面板自定义样式
      POST
  • 服务端实例
    • 服务端创建与删除
      • 创建服务端实例
      • 获取创建服务端实例的进度
      • 删除服务端实例
      • 取消实例部署
    • 服务端实例控制
      • 玩家管理
        • 白名单管理
          • 获取白名单列表
          • 新增白名单用户
          • 移除白名单用户
        • 管理员管理
          • 获取管理员列表
          • 添加管理员
          • 移除管理员
        • 封禁玩家管理
          • 查询封禁玩家列表
          • 添加封禁玩家
          • 移除封禁玩家
        • 封禁IP管理
          • 封禁IP
          • 查询封禁IP列表
          • 解封IP
        • 获取在线玩家
        • 获取历史玩家缓存列表
      • 启动/停止服务端实例 & 备份服务端实例存档
      • 监听服务端实例日志 & 发送指令
    • 查询服务器实例信息
      • 查询服务器实例列表
      • 查询单个服务器实例信息
      • 获取服务端实例ICON
    • 服务器实例设置
      • 获取服务端实例通用设置信息
        GET
      • 更新服务端实例设置
        POST
      • 监听更新服务端实例进度
        SIGNALR
    • 定时任务管理
      • 创建定时任务
      • 更新定时任务
      • 获取全部定时任务
      • 获取特定实例的定时任务
      • 删除定时任务
    • 服务端备份管理
      • 获取指定实例的备份文件列表
      • 删除指定实例的指定备份文件
      • 下载指定备份文件
      • 获取全部实例的备份文件列表
    • 世界地图渲染
      • 获取世界出生点坐标
      • 获取瓦片渲染图
    • 查询电脑上的Java列表
      GET
  • Frp隧道
    • 创建隧道实例
      POST
    • 获取Frp隧道列表
      GET
    • 启动/结束Frp进程
      POST
    • 获取单个隧道实例信息
      GET
    • 删除隧道实例
      POST
    • 监听Frp实例日志
      SIGNALR
    • 修改Frp自启动隧道列表
      POST
    • 查询Frp自启动列表
      GET
  • 上传文件
    • 初始化文件上传
    • 上传分片文件
    • 完成文件上传
    • 删除上传的临时文件
    • 查询上传的压缩包包含的Jar包列表
  • 文件管理系统
    • 压缩 & 解压
      • 创建压缩任务
      • 获取压缩任务进度
      • 创建解压任务
      • 获取解压任务进度
    • 模组/插件管理
      • 获取目标实例的模组/插件列表
      • 对 模组/插件 进行 启用/禁用
    • 公共静态资源
      • 访问公共静态资源图片
      • 上传静态图片资源到公共文件夹
    • 离线下载
      • 新增离线下载任务
      • 查询离线下载任务状态
    • 守护进程本地文件列表
      • 获取本地文件列表
      • 获取挂载点/盘符
    • 查询实例的文件列表
    • 获取文件内容
    • 新建/编辑文件
    • 重命名文件夹/文件
    • 删除文件/文件夹
    • 上传文件
    • 下载文件
    • 新建文件夹
    • 移动文件
    • 复制文件
  • 用户管理
    • 管理用户列表
      • 获取用户列表
      • 更新用户信息
      • 创建新用户
      • 删除用户
    • 登录
  • 插件系统
    • 获取已加载的插件列表
    • 远程下载插件
    • 查询下载插件进度
  • 主从节点
    • 流量走向与请求路由指南
  • Docker 镜像管理
    • Docker 环境探测
    • 获取本地镜像列表
    • 获取 MSLX 内置预设镜像清单
    • 获取镜像详细元数据
    • 提交异步拉取镜像任务
    • 查询镜像拉取任务进度
    • 删除本地镜像
    • 清理悬空镜像 (Prune)
    • 为镜像打标签 (Tag)
    • 检测镜像 Remote 更新
  • 分布式子节点
    • 主节点专有接口 (Master)
      • 链接新子节点 (Link)
      • 获取集群节点列表
      • 解绑并删除指定节点
      • 修改节点信息并同步
      • 子节点鉴权用户 Token (Verify Token)
      • 子节点性能指标上报 (Report Stats)
    • 子节点专有接口 (Slave)
      • 接受主节点链接 (Accept Link)
      • 同步主节点配置 (Update Link)
  • 数据模型
    • DockerEnvStatus
    • LinkNodeRequest
    • DockerImageUsage
    • VerifyTokenRequest
    • DockerImageInfo
    • NodeStatsPayload
    • DockerPresetImage
    • AcceptLinkRequest
    • DockerImageDetail
    • UpdateLinkRequest
    • DockerPullRequest
    • SlaveNodeConfig
    • DockerPullTaskStatus
    • VerifyTokenResponseData
    • DockerImageDeleteRequest
    • AcceptLinkResponseData
    • DockerImageTagRequest
    • ApiResponseLinkNodeSuccess
    • DockerOperationResult
    • ApiResponseGetNodeListAdmin
    • DockerImageCheckUpdateRequest
    • ApiResponseVerifyToken
    • DockerImageCheckUpdateItem
    • ApiResponseAcceptLink
    • ApiResponse<DockerEnvStatus>
    • ApiResponseCommon
    • ApiResponse<List<DockerImageInfo>>
    • ApiResponse<List<DockerPresetImage>>
    • ApiResponse<DockerImageDetail>
    • ApiResponse<PullTaskSubmitted>
    • ApiResponse<DockerPullTaskStatus>
    • ApiResponse<DockerOperationResult>
    • ApiResponseImageInUseConflict
    • ApiResponse<List<DockerImageCheckUpdateItem>>
  1. 服务器实例设置

更新服务端实例设置

开发中
POST
/api/instance/settings/general/{id}

MSLX 实例更新 API 参数互斥与逻辑校验规范#

在调用 UpdateServerRequest 接口时,系统通过后端自定义验证(IValidatableObject.Validate)执行了以下四条硬性互斥与逻辑校验规则。任何违反规则的请求都将被系统拦截。

1. 核心更新源互斥规则#

冲突表现: 不能同时提供 本地上传核心 和 远程下载核心。也就是说,参数 CoreFileKey 与 CoreUrl 存在独占互斥关系,只允许填写其中一个。
拦截错误信息:
冲突:不能同时提供 '核心文件上传 (CoreFileKey)' 和 '远程下载地址 (CoreUrl)',请只选择一种更新方式。

2. 内存数值区间逻辑冲突#

冲突表现: 当同时配置了最小内存 (MinM) 和最大内存 (MaxM) 时,最大内存的配置值绝对不能小于最小内存。
拦截错误信息:
逻辑错误:最大内存 ({MaxM}) 不能小于 最小内存 ({MinM})。

3. Docker 网络别名与内置网络互斥#

冲突表现: 当 Java 处于 Docker 运行模式时,网络别名参数 DockerNetworkAlias 仅能在用户自定义网络中配置。如果当前网络模式 DockerNetworkMode 为 Docker 的内置网络(bridge、host 或 none),则禁止配置网络别名,否则会导致容器因底层规则冲突无法拉起。
拦截错误信息:
规范错误:网络别名 (DockerNetworkAlias) 仅支持在用户自定义网络中配置。当前网络模式为 '{normMode}',属于 Docker 内置网络,强行配置会导致容器无法拉起。

4. Docker 交换内存与最大物理内存逻辑冲突#

冲突表现: 当同时限制了物理内存 (DockerMaxMemoryMb) 和交换内存 (DockerMaxSwapMb) 时,如果 Swap 限制值不为 -1(不限制)且不为 0(禁用),则交换内存(总内存上限)不能小于最大物理内存。
拦截错误信息:
逻辑错误:Docker 容器的交换内存限制 ({DockerMaxSwapMb}MB) 作为总内存上限,不能小于 最大物理内存限制 ({DockerMaxMemoryMb}MB)。如果您想彻底禁用 Swap,请将交换内存的值设置为与物理内存完全一致(即填入 {DockerMaxMemoryMb} 或者 0)。

补充:实例内部目录安全隔离校验#

为了防止路径穿越以及外部敏感文件损坏,以下路径参数必须为实例目录内的相对路径,且段落中禁止包含绝对路径根(如 D:/)、.、.. 或系统非法字符:
ServerPropertiesPath (服务器配置文件路径)
PluginsPath (插件目录路径)
ModsPath (模组目录路径)
WorldPath (地图目录路径)
RegionPath (区块目录路径,且必须是地图目录内的相对路径)

请求参数

Authorization
JWT Bearer
在 Header 添加参数
Authorization
示例:
Authorization: ********************
or
Path 参数

Body 参数application/json必填

示例
{
    "id": 2,
    "name": "1.21.8 Fabric",
    "base": "D:\\MSL\\MSL\\Server1218fabric",
    "java": "docker-java",
    "core": "fabric-1.21.8.jar",
    "minM": 1024,
    "maxM": 8192,
    "args": "",
    "yggdrasilApiAddr": "",
    "backupMaxCount": 3,
    "backupDelay": 20,
    "backupPath": "MSLX://Backup/Instance",
    "monitorPlayers": true,
    "autoRestart": false,
    "forceAutoRestart": true,
    "ignoreEula": false,
    "runOnStartup": false,
    "inputEncoding": "utf-8",
    "outputEncoding": "utf-8",
    "fileEncoding": "utf-8",
    "serverPropertiesPath": "server.properties",
    "pluginsPath": "plugins",
    "modsPath": "mods",
    "worldPath": "world",
    "regionPath": "region",
    "coreUrl": "",
    "coreSha256": "",
    "coreFileKey": "",
    "dockerImage": "MSLX://DockerImage/Java/21",
    "dockerWorkingDir": "/mslx-data",
    "dockerVolumes": null,
    "dockerEnvVars": null,
    "dockerNetworkMode": "bridge",
    "dockerNetworkAlias": "",
    "dockerPorts": "25565:25565",
    "dockerCpuPercentage": null,
    "dockerCpuCores": null,
    "dockerMaxMemoryMb": null,
    "dockerMaxSwapMb": null,
    "dockerMaxStorage": null,
    "dockerUploadRate": null,
    "dockerDownloadRate": null,
    "dockerExtraArgs": null,
    "dockerExtraHosts": null,
    "forceExitDelay": 10,
    "stopCommand": "stop",
    "allowOriginASCIIColors": true,
    "forceJvmUTF8": false
}

请求示例代码

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location '/api/instance/settings/general/21' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
    "id": 2,
    "name": "1.21.8 Fabric",
    "base": "D:\\MSL\\MSL\\Server1218fabric",
    "java": "docker-java",
    "core": "fabric-1.21.8.jar",
    "minM": 1024,
    "maxM": 8192,
    "args": "",
    "yggdrasilApiAddr": "",
    "backupMaxCount": 3,
    "backupDelay": 20,
    "backupPath": "MSLX://Backup/Instance",
    "monitorPlayers": true,
    "autoRestart": false,
    "forceAutoRestart": true,
    "ignoreEula": false,
    "runOnStartup": false,
    "inputEncoding": "utf-8",
    "outputEncoding": "utf-8",
    "fileEncoding": "utf-8",
    "serverPropertiesPath": "server.properties",
    "pluginsPath": "plugins",
    "modsPath": "mods",
    "worldPath": "world",
    "regionPath": "region",
    "coreUrl": "",
    "coreSha256": "",
    "coreFileKey": "",
    "dockerImage": "MSLX://DockerImage/Java/21",
    "dockerWorkingDir": "/mslx-data",
    "dockerVolumes": null,
    "dockerEnvVars": null,
    "dockerNetworkMode": "bridge",
    "dockerNetworkAlias": "",
    "dockerPorts": "25565:25565",
    "dockerCpuPercentage": null,
    "dockerCpuCores": null,
    "dockerMaxMemoryMb": null,
    "dockerMaxSwapMb": null,
    "dockerMaxStorage": null,
    "dockerUploadRate": null,
    "dockerDownloadRate": null,
    "dockerExtraArgs": null,
    "dockerExtraHosts": null,
    "forceExitDelay": 10,
    "stopCommand": "stop",
    "allowOriginASCIIColors": true,
    "forceJvmUTF8": false
}'

返回响应

🟢200成功
application/json
Bodyapplication/json

示例
{"code":200,"message":"配置更新成功!","data":{"needListen":false}}
修改于 2026-09-11 01:00:12
上一页
获取服务端实例通用设置信息
下一页
监听更新服务端实例进度
Built with