# 服务器接口
# 分类
# 1. 常规
- /api/server
使用方法:
GET /api/server
响应数据:
{
<h1>Welcome to PCSMT2 Server API!</h1>
}
# 2. 操作
- /api/server/{ServerName}/start 这个接口用于启动服务器。
请求参数:
ServerName: 服务器名称 ->str
使用方法:
POST /api/server/{ServerName}/start
响应数据:
{
"status": "starting"
}
- /api/server/{ServerName}/stop 这个接口用于停止服务器。
请求参数:
ServerName: 服务器名称 ->str
使用方法:
POST /api/server/{ServerName}/stop
响应数据:
{
"status": "stopped"
}
- /api/server/delete/{ServerName} 这个接口用于删除服务器。
请求参数:
ServerName: 服务器名称 ->str
使用方法:
POST /api/server/delete/{ServerName}
响应数据:
{
"status": "deleted"
}
- /api/server/{ServerName}/command 这个接口用于向服务器发送命令。
请求参数:
ServerName: 服务器名称 ->strcommand: 命令 ->str
使用方法:
POST /api/server/{ServerName}/command
请求数据:
{
"command": "say hello"
}
响应数据:
执行成功
{
"success": true,
"message": result//执行结果
}
执行失败
{
"success": false,
"message": "服务器未启动"
}
# 3. 获取
- /api/server/list 这个接口用于获取服务器列表。
获取到的数据:
serverlist: 服务器列表 ->listserverCount: 服务器数量 ->int
使用方法:
GET /api/server/list
响应数据:
{
"serverlist": ['server1', 'server2', 'server3'],
"serverCount": 3
}
- /api/server/players/{ServerName} 这个接口用于获取服务器玩家列表。
请求参数:
ServerName: 服务器名称 ->str
获取到的数据:
server: 服务器名称 ->strplayers: 玩家列表 ->list
使用方法:
GET /api/server/players/{ServerName}
响应数据:
有玩家在线
{
"server": "server1",
"players": ['Alex', 'Steve']
}
没有玩家在线
{
"server": "server1",
"players": "None"
}
- /api/server/info/{ServerName} 这个接口用于获取服务器信息。
请求参数:
ServerName: 服务器名称 ->str
获取到的数据:
version: 服务器版本 ->strsize: 服务器大小 ->strstartCount: 服务器启动次数 ->intLastStartedTime: 服务器上次启动时间 ->str
使用方法:
GET /api/server/info/{ServerName}
响应数据:
{
"version": "1.20.1",
"size": "1.2GB",
"startCount": 10,
"LastStartedTime": "2023/08/01/12:00:00"
}
- /api/server/latest 这个接口用于获取最新的服务器信息。
获取到的数据:
name: 服务器名称 ->strversion: 服务器版本 ->strsize: 服务器大小 ->strstartCount: 服务器启动次数 ->intLastStartedTime: 服务器上次启动时间 ->str
使用方法:
GET /api/server/latest
响应数据:
{
"name": "server1",
"version": "1.21.1",
"size": "1.3GB",
"startCount": 11,
"LastStartedTime": "2023/08/02/13:00:00"
}
- /api/server/status/{ServerName} 这个接口用于获取服务器状态。
请求参数:
ServerName: 服务器名称 ->str
获取到的数据:
status: 服务器状态 ->strmessage: 提示信息 ->str
使用方法:
GET /api/server/status/{ServerName}
响应数据:
已启动
{
"status": "starting",
"message": "服务器已启动"
}
未启动
{
"status": "stopped",
"message": "服务器未启动"
}
- /api/server/{ServerName}/storage_info 这个接口用于获取服务器存储信息。
请求参数:
ServerName: 服务器名称 ->str
获取到的数据:
title: 图表标题 ->strlabels: 日期列表 ->listvalues: 存储大小列表 ->listtype: 存储单位 ->str
使用方法:
GET /api/server/{ServerName}/storage_info
响应数据:
{
"title": "server1服务器存储情况",
"labels": ["2025年6月11日", "2025年6月12日"," 2025年6月13日", "2025年6月14日", "2025年6月15日", "2025年6月16日", "2025年6月17日", "2025年6月18日", "2025年6月19日", "2025年6月20日"],
"values": ['13.43', '13.44', '13.45', '13.47', '14.43', '15.12', '16.47', '18.44', '19.43', '20.43'],
"type": "GB"
}
- /api/server/get/document/server.properties/{ServerName} 这个接口用于获取服务器配置文件。
请求参数:
ServerName: 服务器名称 ->str
获取到的数据:
server-port: 服务器端口 ->intgamemode: 游戏模式 ->strdifficulty: 难度 ->strmax-players: 最大玩家数 ->intmax-world-size: 最大世界大小 ->intspawn-protection: 生成保护 ->intspawn-animals: 是否生成动物 ->boolpvp: 是否开启PVP ->boolallow-flight: 是否允许飞行 ->boolenable-command-block: 是否启用命令块 ->boolwhite-list: 是否启用白名单 ->boolonline-mode: 是否开启在线模式 ->boolhardcore: 是否开启硬core模式 ->bool
使用方法:
GET /api/server/get/document/server.properties/{ServerName}
响应数据:
{
"server-port": 25565,
"gamemode": "survival",
"difficulty": "normal",
"max-players": 100,
"max-world-size": 29999984,
"spawn-protection": 12,
"spawn-animals": true,
"pvp": true,
"allow-flight": true,
"enable-command-block": true,
"white-list": true,
"online-mode": true,
"hardcore": false,
}
- /api/server/get/run_memory/{ServerName} 这个接口用于获取服务器运行内存。
请求参数:
ServerName: 服务器名称 ->str
获取到的数据:
min: 最小内存 ->intmax: 最大内存 ->int
TIP
单位: MB
使用方法:
GET /api/server/get/run_memory/{ServerName}
响应数据:
{
"min": 2048,
"max": 16384,
}
- /api/server/terminal/{ServerName} 这个接口用于获取服务器终端日志。
请求参数:
ServerName: 服务器名称 ->str
获取到的数据:
logs: 终端日志 ->str
使用方法:
GET /api/server/terminal/{ServerName}
响应数据:
{
"logs": "[00:10:57] [RCON Listener #1/INFO]: Thread RCON Client /127.0.0.1 started
[00:10:58] [RCON Listener #1/INFO]: Thread RCON Client /127.0.0.1 shutting down"
}
WARNING
logs参数获取的是字符串, 不是数组,列表,字典
- /api/server/get/banned/players/{ServerName} 这个接口用于获取服务器封禁玩家列表。
请求参数:
ServerName: 服务器名称 ->str
获取到的数据:
success: 是否成功 ->boolmessage: 提示信息 ->strBannedPlayerList: 封禁玩家列表 ->list
使用方法:
GET /api/server/get/banned/players/{ServerName}
响应数据:
{
"success": True,
"message": "获取封禁玩家列表成功",
"BannedPlayerList": ['Alex', 'Steve']
}
- /api/server/get/white-list/{ServerName} 这个接口用于获取服务器白名单玩家列表。
请求参数:
ServerName: 服务器名称 ->str
获取到的数据:
success: 是否成功 ->boolmessage: 提示信息 ->strWhiteListPlayerList: 白名单玩家列表 ->list
使用方法:
GET /api/server/get/white-list/{ServerName}
响应数据:
已经启用白名单
{
"success": True,
"message": "获取白名单玩家列表成功",
"WhiteListPlayerList": ['Alex', 'Steve']
}
未启用白名单
{
"success": False,
"message": "未启用白名单"
}
- /api/server/get/history/players/{ServerName} 这个接口用于获取服务器历史玩家列表.
TIP
这个接口只能获取到服务器启动以来的玩家列表, 不能获取到服务器关闭以来的玩家列表。 不能获取在线玩家列表
请求参数:
ServerName: 服务器名称 ->str
获取到的数据:
success: 是否成功 ->boolmessage: 提示信息 ->strHistoryPlayerList: 历史玩家列表 ->list
使用方法:
GET /api/server/get/history/players/{ServerName}
响应数据:
有历史玩家
{
"success": true,
"message": "获取历史玩家列表成功",
"HistoryPlayerList": ['Alex', 'Steve']
}
无历史玩家
{
"success": false,
"message": "无历史玩家",
}
# 4. 设置
- /api/server/set/settings/{ServerName} 这个接口用于设置服务器配置.
TIP
注意: 这个接口只能设置服务器的配置, 不能设置服务器的运行状态.
请求参数:
ServerName: 服务器名称 ->strserver-port: 服务器端口 ->intgamemode: 游戏模式 ->strdifficulty: 难度 ->strmax-players: 最大玩家数 ->intmax-world-size: 最大世界大小 ->intspawn-protection: 生成保护 ->intspawn-animals: 是否生成动物 ->boolpvp: 是否开启PVP ->boolallow-flight: 是否允许飞行 ->boolenable-command-block: 是否启用命令块 ->boolwhite-list: 是否启用白名单 ->boolonline-mode: 是否开启在线模式 ->boolhardcore: 是否开启硬core模式 ->bool
获取到的数据:
success: 是否成功 ->boolmessage: 提示信息 ->str
使用方法:
POST /api/server/set/settings/{ServerName}
请求数据:
{
"server-port": 25565,
"gamemode": "survival",
"difficulty": "normal",
"max-players": 100,
"max-world-size": 29999984,
"spawn-protection": 12,
"spawn-animals": true,
"pvp": true,
"allow-flight": true,
"enable-command-block": true,
"white-list": true,
"online-mode": true,
"hardcore": false,
}
响应数据:
{
"message": "修改成功"
}