# minecraft-lan-proxy **Repository Path**: al01/minecraft-lan-proxy ## Basic Information - **Project Name**: minecraft-lan-proxy - **Description**: Minecraft LAN Proxy - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-31 - **Last Updated**: 2025-12-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # **Minecraft LAN Proxy** 这是一个基于 Node.js 和 TypeScript 编写的轻量级工具,旨在将远程 Minecraft 服务器(如云端服务器或大型机组)模拟为局域网(LAN)内的本地游戏实例。 ## **核心功能** * **局域网发现模拟**:通过 UDP 组播(Multicast)向本地网络发送特定的心跳包,使远程服务器直接出现在玩家的“局域网游戏”列表中。 * **TCP 流量转发**:建立透明的 TCP 隧道,将本地端口的流量双向转发至目标远程服务器。 * **自定义 MOTD**:支持自定义局域网列表中显示的服务器名称(支持 Minecraft 颜色代码)。 * **零配置依赖**:纯 Node.js 实现,无需安装复杂的代理软件。 ## **工作原理** 1. **UDP 广播器**:在 224.0.2.60:4445 地址上每隔 1.5 秒发送一次格式为 \[MOTD\]名称\[/MOTD\]\[AD\]端口\[/AD\] 的数据包。这是 Minecraft 客户端识别局域网游戏的标准协议。 2. **TCP 代理**:当玩家点击列表中的项目时,客户端连接到本地指定的 localPort。代理服务随即开启一个通往 remoteHost:remotePort 的 socket 并在两者之间“搭桥”(Pipe)。 ## **快速开始** ### **环境要求** * [Node.js](https://nodejs.org/) (建议 v14 或更高版本) * 已安装 typescript 和 ts-node(用于直接运行 .ts 文件) ### **安装** 1. 克隆或下载此代码。 2. 安装依赖(此脚本仅使用 Node.js 内置模块 dgram 和 net,无需安装额外 npm 包,但需要 TS 环境): ```bash npm install -g typescript ts-node ``` ### **配置与运行** 编辑 index.ts 末尾的配置部分: ```typescript const proxy = new MinecraftLanProxy({ remoteHost: "你的服务器IP", // 目标服务器地址 remotePort: 25565, // 目标服务器端口 localPort: 25565, // 本地中转端口 fakeMotd: "§d我的私人服务器" // 局域网显示的名称 }); ``` 运行脚本: ```bash ts-node index.ts bun run indexc.ts ``` ## **注意事项** * **防火墙设置**:请确保你的操作系统防火墙允许 Node.js 进行 UDP 组播以及监听指定的 TCP 端口。 * **同一网段**:运行此脚本的电脑必须与玩游戏的电脑在同一个局域网(子网)内。 * **超时处理**:脚本内置了 30 秒的静默超时自动清理机制,以防止死连接占用系统资源。 ## **许可证** MIT