refactor: 客户端和服务端分离为独立项目
- server/: 中继服务端 + Web管理面板 + 部署脚本(独立项目) - client/: Electron桌面客户端(独立项目) - web/ 和 deploy/ 移入 server/ 目录 - 各项目独立 README.md 和 .gitignore - 顶层 README 作为项目总览
This commit is contained in:
4
client/.gitignore
vendored
Normal file
4
client/.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
node_modules/
|
||||
dist/
|
||||
release/
|
||||
*.log
|
||||
94
client/README.md
Normal file
94
client/README.md
Normal file
@@ -0,0 +1,94 @@
|
||||
# FunConnect Client
|
||||
|
||||
Minecraft 联机桌面客户端,基于 Electron 构建,支持 Windows / macOS / Linux。
|
||||
|
||||
## 功能
|
||||
|
||||
- **连接服务器** - 输入中继服务器地址一键连接
|
||||
- **浏览房间** - 查看所有在线联机房间
|
||||
- **创建房间** - 将本地 MC 服务器共享给好友
|
||||
- **加入房间** - 输入房间号,自动建立本地代理
|
||||
- **设置持久化** - 记住服务器地址、玩家名、端口等偏好
|
||||
- **系统托盘** - 最小化到托盘,后台运行
|
||||
- **自动重连** - 连接断开后自动尝试重新连接
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 安装依赖
|
||||
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
> 如果 Electron 下载慢,使用国内镜像:
|
||||
> ```bash
|
||||
> ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ npm install
|
||||
> ```
|
||||
|
||||
### 开发模式
|
||||
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
### 打包发布
|
||||
|
||||
```bash
|
||||
npm run dist
|
||||
# 输出到 release/ 目录
|
||||
```
|
||||
|
||||
## 使用方法
|
||||
|
||||
### 房主(创建房间)
|
||||
|
||||
1. 启动客户端,输入中继服务器地址并连接
|
||||
2. 进入「创建房间」页面
|
||||
3. 填写房间名称、本地MC端口(默认25565)、游戏版本等信息
|
||||
4. 点击「创建房间」,获得房间号
|
||||
5. 将房间号分享给好友
|
||||
|
||||
### 玩家(加入房间)
|
||||
|
||||
1. 启动客户端,输入中继服务器地址并连接
|
||||
2. 进入「加入房间」或在「房间列表」中点击加入
|
||||
3. 输入房间号和中继服务器地址
|
||||
4. 连接成功后,在 Minecraft 中添加服务器 `127.0.0.1:25566`
|
||||
5. 开始联机!
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
client/
|
||||
├── src/main/
|
||||
│ ├── index.ts # Electron 主进程
|
||||
│ ├── preload.ts # 预加载脚本(IPC桥接)
|
||||
│ ├── api-client.ts # REST API 客户端
|
||||
│ ├── relay-client.ts # TCP 中继连接
|
||||
│ └── local-proxy.ts # 本地代理服务器
|
||||
├── renderer/
|
||||
│ ├── index.html # 客户端界面
|
||||
│ ├── style.css # 样式
|
||||
│ └── app.js # 交互逻辑
|
||||
├── package.json
|
||||
└── tsconfig.json
|
||||
```
|
||||
|
||||
## 配置说明
|
||||
|
||||
设置页面中可配置:
|
||||
|
||||
| 设置项 | 默认值 | 说明 |
|
||||
|--------|--------|------|
|
||||
| 玩家名称 | Player | 在房间中显示的名字 |
|
||||
| 本地端口 | 25566 | MC连接的本地代理端口 |
|
||||
| 自动重连 | 开启 | 连接断开后自动重连 |
|
||||
| 最小化到托盘 | 开启 | 关闭窗口时隐藏到系统托盘 |
|
||||
|
||||
## 技术栈
|
||||
|
||||
- **Electron 28** - 跨平台桌面框架
|
||||
- **TypeScript** - 主进程开发
|
||||
- **electron-store** - 设置持久化
|
||||
- **Axios** - HTTP 请求
|
||||
- **electron-builder** - 打包发布
|
||||
Reference in New Issue
Block a user