- server/: 中继服务端 + Web管理面板 + 部署脚本(独立项目) - client/: Electron桌面客户端(独立项目) - web/ 和 deploy/ 移入 server/ 目录 - 各项目独立 README.md 和 .gitignore - 顶层 README 作为项目总览
73 lines
2.7 KiB
Markdown
73 lines
2.7 KiB
Markdown
# FunConnect - Minecraft 联机平台
|
||
|
||
一个支持多节点中继的 Minecraft 联机平台,让玩家无需公网IP即可轻松联机。
|
||
|
||
本仓库包含 **两个独立项目**,可分别独立开发、部署和运行。
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
FunConnect/
|
||
├── server/ # 服务端(中继服务器 + Web 管理面板 + 部署脚本)
|
||
└── client/ # 客户端(Electron 桌面应用)
|
||
```
|
||
|
||
## 服务端 (`server/`)
|
||
|
||
中继服务器 + Web 管理面板,部署在 Ubuntu 服务器上。
|
||
|
||
- **TCP 中继引擎** - 转发 Minecraft 流量,支持 Java 版和基岩版
|
||
- **多节点集群** - 主节点 + 工作节点架构,水平扩展
|
||
- **房间系统** - 创建/加入/密码保护/过期清理
|
||
- **流量监控** - 实时统计各房间流量
|
||
- **Token 认证** - 保护写操作 API
|
||
- **Web 管理面板** - React + TailwindCSS 可视化管理
|
||
- **一键部署** - Ubuntu 自动安装脚本 + systemd 服务
|
||
|
||
```bash
|
||
cd server
|
||
npm install
|
||
cp .env.example .env
|
||
npm run dev
|
||
```
|
||
|
||
详细文档见 [server/README.md](server/README.md)
|
||
|
||
## 客户端 (`client/`)
|
||
|
||
Electron 跨平台桌面客户端,支持 Windows / macOS / Linux。
|
||
|
||
- **连接服务器** - 输入中继地址一键连接
|
||
- **房间管理** - 浏览/创建/加入联机房间
|
||
- **本地代理** - 自动建立本地代理,MC 添加 `127.0.0.1:25566` 即可联机
|
||
- **设置持久化** - 记住服务器地址、玩家名等偏好
|
||
- **系统托盘** - 最小化到托盘后台运行
|
||
|
||
```bash
|
||
cd client
|
||
npm install
|
||
npm run dev
|
||
```
|
||
|
||
详细文档见 [client/README.md](client/README.md)
|
||
|
||
## 架构
|
||
|
||
```
|
||
┌───────────────┐ ┌──────────────────────────┐
|
||
│ FunConnect │ TCP │ 中继服务器 (Ubuntu) │
|
||
│ 桌面客户端 │◄─────►│ server/ 项目独立部署 │
|
||
│ client/ │ │ ┌─────────┐ ┌──────────┐ │
|
||
└───────────────┘ │ │ TCP中继 │ │ REST API │ │
|
||
│ └─────────┘ └──────────┘ │
|
||
┌───────────────┐ │ ┌──────────────────────┐ │
|
||
│ Minecraft │ TCP │ │ Web 管理面板 │ │
|
||
│ 游戏客户端 │◄─────►│ │ (React + Vite) │ │
|
||
└───────────────┘ │ └──────────────────────┘ │
|
||
└──────────────────────────┘
|
||
```
|
||
|
||
## License
|
||
|
||
MIT
|