Files
FunConnect/server/README.md
FunMC e73c8e536e feat: v1.1.0 全平台客户端打包 + 详细服务端部署教程
Client:
- 支持 Windows (NSIS安装包+免安装版), macOS (DMG x64/arm64), Linux (AppImage+deb)
- 添加 dist:win / dist:mac / dist:linux / dist:all 打包脚本
- 生成应用图标 (icon.png + icon.ico)
- Windows x64 安装包已编译: release/FunConnect-1.1.0-Win-x64.exe
- 更新 README 包含完整的跨平台构建指南和国内镜像加速说明

Server:
- 新增 DEPLOY.md 详细部署教程 (400+行)
  - Ubuntu主节点完整部署流程
  - 工作节点部署和注册
  - Web管理面板生产部署
  - 防火墙配置
  - Nginx反向代理配置
  - SSL证书(Let's Encrypt)配置
  - 多节点集群架构说明
  - 运维管理命令和监控
  - 常见问题排查
  - 快速部署清单
2026-02-23 08:02:08 +08:00

119 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# FunConnect Server
Minecraft 联机中继服务端,包含 TCP 中继引擎、REST API、WebSocket 实时通信、Web 管理面板。
## 功能
- **TCP 中继引擎** - 转发 Minecraft 客户端与服务端之间的流量
- **多节点集群** - 支持主节点 + 工作节点架构,水平扩展
- **房间管理** - 创建、加入、密码验证、过期清理
- **玩家管理** - 玩家列表、踢出玩家
- **流量监控** - 实时统计各房间流量
- **Token 认证** - 保护写操作 API
- **Web 管理面板** - React + Vite + TailwindCSS 构建的可视化管理界面
## 快速开始
### 安装依赖
```bash
# 服务端
npm install
# Web 管理面板
cd web && npm install
```
### 配置
复制 `.env.example``.env` 并修改:
```bash
cp .env.example .env
```
关键配置项:
- `API_PORT` - HTTP API 端口(默认 3000
- `RELAY_PORT` - TCP 中继端口(默认 25565
- `IS_MASTER` - 是否为主节点
- `SECRET` - API 认证密钥(留空则不启用认证)
### 启动
```bash
# 开发模式
npm run dev
# 生产模式
npm run build
npm start
```
### 启动 Web 管理面板
```bash
cd web
npm run dev
# 访问 http://localhost:5173
```
### Ubuntu 一键部署
```bash
chmod +x deploy/install.sh
sudo ./deploy/install.sh
```
> **详细部署教程**主节点、工作节点、Nginx、SSL、多节点集群请查看 [DEPLOY.md](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 管理面板