新增 stdio MCP server 和 mcp 子命令,通过调试会话状态文件连接内置 TCP bridge,并提供 place_block 工具。 Bridge 将请求投递到服务端 System 的游戏线程执行,限制请求大小与队列长度,并按会话端口安全清理状态文件和连接。
28 lines
692 B
Python
28 lines
692 B
Python
# -*- coding: utf-8 -*-
|
|
from json import loads
|
|
_DEBUG_INFO = "{#debug_options}"
|
|
_TARGET_MOD_DIRS = "{#target_mod_dirs}"
|
|
|
|
try:
|
|
DEBUG_CONFIG = loads(_DEBUG_INFO) if not isinstance(_DEBUG_INFO, dict) else _DEBUG_INFO
|
|
except:
|
|
DEBUG_CONFIG = {}
|
|
|
|
try:
|
|
TARGET_MOD_DIRS = loads(_TARGET_MOD_DIRS) if not isinstance(_TARGET_MOD_DIRS, list) else _TARGET_MOD_DIRS
|
|
except:
|
|
TARGET_MOD_DIRS = []
|
|
|
|
def GET_DEBUG_IPC_PORT():
|
|
import os
|
|
port = os.getenv("MCDEV_DEBUG_IPC_PORT")
|
|
if port is None:
|
|
return None
|
|
return int(port)
|
|
|
|
def GET_MCP_BRIDGE_STATE_PATH():
|
|
import os
|
|
path = os.getenv("MCDEV_MCP_BRIDGE_STATE")
|
|
if not path:
|
|
return None
|
|
return path |