- Add support for a force installation mode in the install script, allowing users to overwrite existing configurations and databases. - Improve database setup logic to ensure existing users and databases are only dropped during a force installation. - Introduce a new API endpoint to list available download files, enhancing the user experience on the download page by only displaying existing files. - Update HTML templates to reflect the availability of download files dynamically.
FunConnect Server
Minecraft 联机中继服务端,包含 TCP 中继引擎、REST API、WebSocket 实时通信、Web 管理面板。
功能
- TCP 中继引擎 - 转发 Minecraft 客户端与服务端之间的流量
- 多节点集群 - 支持主节点 + 工作节点架构,水平扩展
- 房间管理 - 创建、加入、密码验证、过期清理
- 玩家管理 - 玩家列表、踢出玩家
- 流量监控 - 实时统计各房间流量
- Token 认证 - 保护写操作 API
- Web 管理面板 - React + Vite + TailwindCSS 构建的可视化管理界面
快速开始
安装依赖
# 服务端
npm install
# Web 管理面板
cd web && npm install
配置
复制 .env.example 为 .env 并修改:
cp .env.example .env
关键配置项:
API_PORT- HTTP API 端口(默认 3000)RELAY_PORT- TCP 中继端口(默认 25565)IS_MASTER- 是否为主节点SECRET- API 认证密钥(留空则不启用认证)
启动
# 开发模式
npm run dev
# 生产模式
npm run build
npm start
启动 Web 管理面板
cd web
npm run dev
# 访问 http://localhost:5173
Ubuntu 一键部署
chmod +x deploy/install.sh
sudo ./deploy/install.sh
详细部署教程(主节点、工作节点、Nginx、SSL、多节点集群)请查看 DEPLOY.md
项目结构
server/
├── src/
│ ├── index.ts # 主入口
│ ├── config.ts # 配置管理
│ ├── logger.ts # 日志系统
│ ├── relay.ts # TCP 中继引擎
│ ├── room.ts # 房间管理
│ ├── node-manager.ts # 多节点管理
│ ├── api.ts # REST API
│ └── websocket.ts # WebSocket 实时通信
├── web/ # Web 管理面板
│ ├── src/
│ │ ├── App.tsx # 主组件
│ │ ├── api.ts # API 客户端
│ │ └── pages/ # 页面组件
│ └── package.json
├── deploy/
│ └── install.sh # Ubuntu 部署脚本
├── .env.example
├── package.json
└── tsconfig.json
API 文档
| 方法 | 路径 | 说明 | 认证 |
|---|---|---|---|
| GET | /api/health |
健康检查 | 否 |
| GET | /api/stats |
服务器统计 | 否 |
| GET | /api/rooms |
房间列表 | 否 |
| POST | /api/rooms |
创建房间 | 是 |
| GET | /api/rooms/:id |
房间详情 + 玩家列表 | 否 |
| POST | /api/rooms/:id/join |
加入验证(密码校验) | 是 |
| POST | /api/rooms/:id/kick/:pid |
踢出玩家 | 是 |
| DELETE | /api/rooms/:id |
删除房间 | 是 |
| GET | /api/traffic |
流量统计 | 否 |
| GET | /api/nodes |
节点列表(主节点) | 否 |
| POST | /api/nodes/register |
注册节点 | 是 |
| DELETE | /api/nodes/:id |
移除节点 | 是 |
技术栈
- Node.js + TypeScript
- Express - HTTP API
- ws - WebSocket
- Winston - 日志
- React 18 + Vite + TailwindCSS - Web 管理面板