{"count":20,"endpoints":[{"auth":"public","description":"本页面：列出站点所有可用的 API 接口，加 ?format=json 可获取 JSON 版本。","endpoint":"api_index","example":"/api","methods":["GET"],"params":[],"path":"/api","title":"API 列表"},{"auth":"public","description":"探活接口，返回站点是否正常及站点名称。","endpoint":"api_admin_health","example":"/api/admin/health","methods":["GET"],"params":[],"path":"/api/admin/health","title":"健康检查"},{"auth":"public","description":"赞助页可用的支付方式、快捷金额与金额范围（不含商户密钥），方便自定义前端页面。","endpoint":"api_donate_config","example":"/api/donate/config","methods":["GET"],"params":[],"path":"/api/donate/config","title":"赞助支付配置"},{"auth":"public","description":"创建一笔易支付订单并返回收银台地址 pay_url（GET 打开即可付款）。支付成功后由易支付异步通知入账，并自动显示在赞助公示里。","endpoint":"api_donate_create","example":"/api/donate/create","methods":["POST"],"params":[["money","-","赞助金额，需在后台设置的最低 / 最高金额之间"],["pay_type","第一个通道","支付通道标识，如 alipay / wxpay / qqpay"],["game_id","-","游戏 ID，支付成功后显示在赞助公示里"],["name","-","昵称 / 留言，没填 game_id 时用它占位"]],"path":"/api/donate/create","title":"创建赞助订单"},{"auth":"public","description":"易支付服务器回调地址：验签 + 核对金额通过后把订单写入赞助公示，并返回纯文本 success。商户后台填这个地址。","endpoint":"api_donate_notify","example":"/api/donate/notify","methods":["GET","POST"],"params":[],"path":"/api/donate/notify","title":"易支付异步通知"},{"auth":"public","description":"按商户订单号查询订单状态（pending / paid），赞助页用它轮询支付结果。","endpoint":"api_donate_order","example":"/api/donate/order?out_trade_no=LO20260929XXXXXX","methods":["GET"],"params":[["out_trade_no","-","创建订单时返回的商户订单号"]],"path":"/api/donate/order","title":"赞助订单状态"},{"auth":"public","description":"用户支付完成后浏览器跳回的页面，展示订单状态并自动轮询确认。","endpoint":"api_donate_return","example":"/api/donate/return","methods":["GET"],"params":[],"path":"/api/donate/return","title":"易支付同步跳转"},{"auth":"public","description":"赞助公示记录列表 + 汇总数据（总笔数、总金额、最近一次赞助时间）。","endpoint":"api_donate_info","example":"/api/donate_info?limit=10","methods":["GET"],"params":[["limit","0","返回条数，0 表示全部"],["offset","0","起始偏移，配合 limit 分页"]],"path":"/api/donate_info","title":"赞助信息"},{"auth":"public","description":"站点信息 + 服务器列表（名称、类型、地区、连接地址），可选附带实时在线状态。","endpoint":"api_server_info","example":"/api/server_info?status=1","methods":["GET"],"params":[["status","1","是否附带实时状态（在线人数 / 版本 / 延迟 / MOTD / 玩家名单）；0 只返回静态信息，更快"]],"path":"/api/server_info","title":"服务器信息"},{"auth":"public","description":"按 30 秒采样（页面展示近 24 小时）的各服务器在线人数历史数据。","endpoint":"api_server_player_history","example":"/api/server_player_history?hours=24","methods":["GET"],"params":[["hours","24","时间范围（小时），1-168"]],"path":"/api/server_player_history","title":"在线人数历史"},{"auth":"public","description":"服务器状态页使用的接口，返回各服务器状态与在线人数历史。","endpoint":"api_server_status","example":"/api/server_status?hours=24","methods":["GET"],"params":[["hours","24","在线人数历史范围（小时），1-168"]],"path":"/api/server_status","title":"服务器状态（页面轮询用）"},{"auth":"public","description":"把服务器画成一张 PNG 长图：每台服务器一块，左侧是 IP / 版本 / MOTD / 在线状态 / 在线人数 / 全部在线玩家名单，右侧是这台服务器自己的 24 小时在线人数趋势图，顶部还有全站汇总。不带 server 参数时只画后台勾选了「出现在状态图」的线路，带 server 参数只画指定的一台（一张图一台服务器，不受开关限制）。","endpoint":"api_server_status_image","example":"/api/server_status_image","methods":["GET"],"params":[["server","（空）","只画这一台服务器，可用 id 或名称，例如 ?server=3 或 ?server=GTL；路径写法 /api/server_status_image/3 等价"],["status","1","是否附带实时状态；0 只画最近一次缓存的数据，响应更快"],["refresh","0","1 = 强制重新查询服务器，忽略缓存"],["theme","light","图片配色：light 浅色 / dark 深色"],["style","compact","排版：compact 紧凑版（一行一台服务器，图更短）/ classic 经典大卡片版"],["layout","wide","服务器块排法：wide 一横一竖（每行一台，信息在左、趋势图在右）/ grid 一横两竖（每行两台，信息在上、趋势图在下）；默认取后台设置"],["total","1","是否在汇总下面画「全站总人数趋势图」（所有线路合计），0 表示不画"],["players","1","是否画在线玩家名单；0 只显示人数"],["players_limit","0（不限制）","每台服务器最多取几个玩家名；0 或不填 = 不限制。图上标签最多铺 2 行，放不下的折成「+N 人」"],["history","24","在线人数趋势图的时间范围（小时，0-168），0 表示不画趋势图"],["width","1200","图片宽度（760-2000）"],["format","png","png 直接返回图片 / json 返回图片地址与数据 / url 返回纯文本直链 / html 预览页"],["download","0","1 = 按附件下载图片"]],"path":"/api/server_status_image","title":"服务器状态图（图片）"},{"auth":"public","description":"把服务器画成一张 PNG 长图：每台服务器一块，左侧是 IP / 版本 / MOTD / 在线状态 / 在线人数 / 全部在线玩家名单，右侧是这台服务器自己的 24 小时在线人数趋势图，顶部还有全站汇总。不带 server 参数时只画后台勾选了「出现在状态图」的线路，带 server 参数只画指定的一台（一张图一台服务器，不受开关限制）。","endpoint":"api_server_status_image","example":"/api/server_status_image","methods":["GET"],"params":[["server","（空）","只画这一台服务器，可用 id 或名称，例如 ?server=3 或 ?server=GTL；路径写法 /api/server_status_image/3 等价"],["status","1","是否附带实时状态；0 只画最近一次缓存的数据，响应更快"],["refresh","0","1 = 强制重新查询服务器，忽略缓存"],["theme","light","图片配色：light 浅色 / dark 深色"],["style","compact","排版：compact 紧凑版（一行一台服务器，图更短）/ classic 经典大卡片版"],["layout","wide","服务器块排法：wide 一横一竖（每行一台，信息在左、趋势图在右）/ grid 一横两竖（每行两台，信息在上、趋势图在下）；默认取后台设置"],["total","1","是否在汇总下面画「全站总人数趋势图」（所有线路合计），0 表示不画"],["players","1","是否画在线玩家名单；0 只显示人数"],["players_limit","0（不限制）","每台服务器最多取几个玩家名；0 或不填 = 不限制。图上标签最多铺 2 行，放不下的折成「+N 人」"],["history","24","在线人数趋势图的时间范围（小时，0-168），0 表示不画趋势图"],["width","1200","图片宽度（760-2000）"],["format","png","png 直接返回图片 / json 返回图片地址与数据 / url 返回纯文本直链 / html 预览页"],["download","0","1 = 按附件下载图片"]],"path":"/api/server_status_image/<int:server_id>","title":"服务器状态图（图片）"},{"auth":"public","description":"列出图床目录里的图片和视频，返回直链 / Markdown / BBCode / HTML，可直接用于其它接口调用。","endpoint":"api_tuchuang","example":"/api/tuchuang?limit=20","methods":["GET"],"params":[["folder","-","只列出某个子目录，例如 avatar；留空表示全部"],["q","-","按文件名或路径关键字过滤"],["kind","全部","kind=image 只看图片，kind=video 只看视频"],["limit","最多 1000","最多返回多少张"],["base","当前站点","自定义链接前缀，例如 https://img.example.com"],["format","json","format=list 时返回纯文本直链，每行一个，方便脚本使用"]],"path":"/api/tuchuang","title":"图床文件列表"},{"auth":"admin","description":"GET 返回全部赞助记录；POST JSON 传入 action 进行 create / edit / delete。","endpoint":"api_admin_donations","example":"/api/admin/donations","methods":["GET","POST"],"params":[["action","-","POST JSON：不传为新增，edit 修改，delete 删除"],["game_id / money / pay_type / remark / id","-","赞助人游戏 ID、金额、支付方式、备注、记录 ID"]],"path":"/api/admin/donations","title":"赞助记录管理"},{"auth":"admin","description":"GET 返回全部服务器节点；POST JSON 传入 action 进行 create / edit / delete。","endpoint":"api_admin_servers","example":"/api/admin/servers","methods":["GET","POST"],"params":[["action","-","POST JSON：不传为新增，edit 修改，delete 删除"],["server_type / name / domain / ip / port / query_port / area","-","节点类型、名称、域名、IP、端口、Query 端口、地区"],["show_in_status","1","是否画进 /api/server_status_image 的总览图（0 / false 表示隐藏）"]],"path":"/api/admin/servers","title":"服务器节点管理"},{"auth":"admin","description":"GET 返回全部更新日志；POST JSON 传入 action 进行 create / edit / delete。","endpoint":"api_admin_updates","example":"/api/admin/updates","methods":["GET","POST"],"params":[["action","-","POST JSON：不传为新增，edit 修改，delete 删除"],["title / content / id","-","标题、正文、记录 ID"]],"path":"/api/admin/updates","title":"更新日志管理"},{"auth":"admin","description":"删除图床里的图片或视频，POST JSON：{\"file\": \"a.png\"} 或 {\"files\": [\"a.png\", \"b.png\"]}。","endpoint":"api_tuchuang_delete","example":"/api/tuchuang/delete","methods":["POST"],"params":[["file","-","要删除的图片，支持一次删多张时用 files 数组"],["token","-","配置 TUCHUANG_UPLOAD_TOKEN 后可用它免登录调用"]],"path":"/api/tuchuang/delete","title":"图床删除"},{"auth":"admin","description":"重命名图床里的图片或视频，POST JSON：{\"file\": \"avatar/a.png\", \"name\": \"b.png\"}。","endpoint":"api_tuchuang_rename","example":"/api/tuchuang/rename","methods":["POST"],"params":[["file","-","图片在图床目录中的相对路径"],["name","-","新文件名，可省略后缀"],["token","-","配置 TUCHUANG_UPLOAD_TOKEN 后可用它免登录调用"]],"path":"/api/tuchuang/rename","title":"图床重命名"},{"auth":"user","description":"上传图片或视频到图床目录，multipart/form-data，字段名为 file，可一次传多个。","endpoint":"api_tuchuang_upload","example":"/api/tuchuang/upload","methods":["POST"],"params":[["file","-","要上传的文件，可重复出现；图片支持 png / jpg / gif / webp 等，视频支持 mp4 / webm / mov / mkv 等"],["folder","根目录","上传到哪个已存在的子目录，例如 avatar"],["name","-","只传一张时可自定义文件名，可省略后缀"],["overwrite","0","同名时是否覆盖，默认自动追加序号"],["token","-","配置 TUCHUANG_UPLOAD_TOKEN 后可用它免登录调用"]],"path":"/api/tuchuang/upload","title":"图床上传"}],"generated_at":"2026-11-09 23:28:53","ok":true,"status_images":[{"bbcode":"[img]https://locraft.cn/api/server_status_image[/img]","description":"所有服务器画在一张图上，含全站汇总与每台服务器的人数趋势","download_url":"https://locraft.cn/api/server_status_image?download=1","html":"<img src=\"https://locraft.cn/api/server_status_image\" alt=\"LOcraft 全部服务器（总览）\">","json_url":"https://locraft.cn/api/server_status_image?format=json","markdown":"![LOcraft 全部服务器（总览）](https://locraft.cn/api/server_status_image)","name":"LOcraft 全部服务器（总览）","path":"/api/server_status_image","server_id":null,"url":"https://locraft.cn/api/server_status_image"},{"bbcode":"[img]https://locraft.cn/api/server_status_image/2[/img]","description":"只画这一台服务器：状态、地址、版本、延迟、在线人数、MOTD、在线玩家与 24 小时人数趋势","download_url":"https://locraft.cn/api/server_status_image/2?download=1","html":"<img src=\"https://locraft.cn/api/server_status_image/2\" alt=\"GTNH 主线路（单服务器）\">","json_url":"https://locraft.cn/api/server_status_image/2?format=json","markdown":"![GTNH 主线路（单服务器）](https://locraft.cn/api/server_status_image/2)","name":"GTNH 主线路（单服务器）","path":"/api/server_status_image/2","server_id":2,"url":"https://locraft.cn/api/server_status_image/2"},{"bbcode":"[img]https://locraft.cn/api/server_status_image/6[/img]","description":"只画这一台服务器：状态、地址、版本、延迟、在线人数、MOTD、在线玩家与 24 小时人数趋势","download_url":"https://locraft.cn/api/server_status_image/6?download=1","html":"<img src=\"https://locraft.cn/api/server_status_image/6\" alt=\"原版 SMP（单服务器）\">","json_url":"https://locraft.cn/api/server_status_image/6?format=json","markdown":"![原版 SMP（单服务器）](https://locraft.cn/api/server_status_image/6)","name":"原版 SMP（单服务器）","path":"/api/server_status_image/6","server_id":6,"url":"https://locraft.cn/api/server_status_image/6"},{"bbcode":"[img]https://locraft.cn/api/server_status_image/7[/img]","description":"只画这一台服务器：状态、地址、版本、延迟、在线人数、MOTD、在线玩家与 24 小时人数趋势","download_url":"https://locraft.cn/api/server_status_image/7?download=1","html":"<img src=\"https://locraft.cn/api/server_status_image/7\" alt=\"GTNH 山东线路（单服务器）\">","json_url":"https://locraft.cn/api/server_status_image/7?format=json","markdown":"![GTNH 山东线路（单服务器）](https://locraft.cn/api/server_status_image/7)","name":"GTNH 山东线路（单服务器）","path":"/api/server_status_image/7","server_id":7,"url":"https://locraft.cn/api/server_status_image/7"},{"bbcode":"[img]https://locraft.cn/api/server_status_image/8[/img]","description":"只画这一台服务器：状态、地址、版本、延迟、在线人数、MOTD、在线玩家与 24 小时人数趋势","download_url":"https://locraft.cn/api/server_status_image/8?download=1","html":"<img src=\"https://locraft.cn/api/server_status_image/8\" alt=\"GTNH 江苏线路（单服务器）\">","json_url":"https://locraft.cn/api/server_status_image/8?format=json","markdown":"![GTNH 江苏线路（单服务器）](https://locraft.cn/api/server_status_image/8)","name":"GTNH 江苏线路（单服务器）","path":"/api/server_status_image/8","server_id":8,"url":"https://locraft.cn/api/server_status_image/8"},{"bbcode":"[img]https://locraft.cn/api/server_status_image/9[/img]","description":"只画这一台服务器：状态、地址、版本、延迟、在线人数、MOTD、在线玩家与 24 小时人数趋势","download_url":"https://locraft.cn/api/server_status_image/9?download=1","html":"<img src=\"https://locraft.cn/api/server_status_image/9\" alt=\"GTNH 广东线路（单服务器）\">","json_url":"https://locraft.cn/api/server_status_image/9?format=json","markdown":"![GTNH 广东线路（单服务器）](https://locraft.cn/api/server_status_image/9)","name":"GTNH 广东线路（单服务器）","path":"/api/server_status_image/9","server_id":9,"url":"https://locraft.cn/api/server_status_image/9"},{"bbcode":"[img]https://locraft.cn/api/server_status_image/10[/img]","description":"只画这一台服务器：状态、地址、版本、延迟、在线人数、MOTD、在线玩家与 24 小时人数趋势","download_url":"https://locraft.cn/api/server_status_image/10?download=1","html":"<img src=\"https://locraft.cn/api/server_status_image/10\" alt=\"GTNH 德国线路（单服务器）\">","json_url":"https://locraft.cn/api/server_status_image/10?format=json","markdown":"![GTNH 德国线路（单服务器）](https://locraft.cn/api/server_status_image/10)","name":"GTNH 德国线路（单服务器）","path":"/api/server_status_image/10","server_id":10,"url":"https://locraft.cn/api/server_status_image/10"},{"bbcode":"[img]https://locraft.cn/api/server_status_image/11[/img]","description":"只画这一台服务器：状态、地址、版本、延迟、在线人数、MOTD、在线玩家与 24 小时人数趋势","download_url":"https://locraft.cn/api/server_status_image/11?download=1","html":"<img src=\"https://locraft.cn/api/server_status_image/11\" alt=\"GTO 主线路（单服务器）\">","json_url":"https://locraft.cn/api/server_status_image/11?format=json","markdown":"![GTO 主线路（单服务器）](https://locraft.cn/api/server_status_image/11)","name":"GTO 主线路（单服务器）","path":"/api/server_status_image/11","server_id":11,"url":"https://locraft.cn/api/server_status_image/11"},{"bbcode":"[img]https://locraft.cn/api/server_status_image/12[/img]","description":"只画这一台服务器：状态、地址、版本、延迟、在线人数、MOTD、在线玩家与 24 小时人数趋势","download_url":"https://locraft.cn/api/server_status_image/12?download=1","html":"<img src=\"https://locraft.cn/api/server_status_image/12\" alt=\"GTO 备用线路（单服务器）\">","json_url":"https://locraft.cn/api/server_status_image/12?format=json","markdown":"![GTO 备用线路（单服务器）](https://locraft.cn/api/server_status_image/12)","name":"GTO 备用线路（单服务器）","path":"/api/server_status_image/12","server_id":12,"url":"https://locraft.cn/api/server_status_image/12"},{"bbcode":"[img]https://locraft.cn/api/server_status_image/13[/img]","description":"只画这一台服务器：状态、地址、版本、延迟、在线人数、MOTD、在线玩家与 24 小时人数趋势","download_url":"https://locraft.cn/api/server_status_image/13?download=1","html":"<img src=\"https://locraft.cn/api/server_status_image/13\" alt=\"GTNH主线（单服务器）\">","json_url":"https://locraft.cn/api/server_status_image/13?format=json","markdown":"![GTNH主线（单服务器）](https://locraft.cn/api/server_status_image/13)","name":"GTNH主线（单服务器）","path":"/api/server_status_image/13","server_id":13,"url":"https://locraft.cn/api/server_status_image/13"}]}
