80fe5e6e6eec4926c91fab9ea3d5115e724fd50f
Server: - API速率限制中间件 (120 req/min per IP, X-RateLimit headers) - 房间聊天API: POST /rooms/:id/chat - 认证中间件放行公开GET路由和房间join - WebSocket: 房间订阅/取消订阅 (subscribe/unsubscribe) - WebSocket: 房间聊天广播 (chat -> broadcastToRoom) - WebSocket: 房间事件通知 (roomCreated/Deleted/playerJoined/Left) Client: - 房间详情弹窗: 点击房间卡片打开 - 房间信息网格 (房间号/房主/版本/人数) - 在线玩家列表 (5秒自动刷新) - 踢出玩家 (确认对话框) - 房间聊天 (实时发送/显示) - 加入房间 / 删除房间按钮 - 连接状态指示器动画 (online/offline/connecting) - 房间卡片hover效果 - 版本更新到 v1.2.0 - ApiClient: 新增 getRoomDetail/kickPlayer/sendChat - Preload: 新增对应IPC方法 - Main: 新增 rooms:detail/kick/chat handlers
FunConnect - Minecraft 联机平台
一个支持多节点中继的 Minecraft 联机平台,让玩家无需公网IP即可轻松联机。
本仓库包含 三个独立项目,覆盖全平台客户端和服务端。
支持平台
| 平台 | 类型 | 项目 |
|---|---|---|
| Windows | 桌面客户端 (NSIS 安装包) | client/ |
| macOS | 桌面客户端 (DMG, x64/arm64) | client/ |
| Linux | 桌面客户端 (AppImage/deb) | client/ |
| iOS | 移动客户端 | mobile/ |
| Android | 移动客户端 (APK/AAB) | mobile/ |
| Ubuntu | 中继服务器 + Web 管理面板 | server/ |
项目结构
FunConnect/
├── server/ # 服务端(中继服务器 + Web 管理面板 + 部署脚本)
├── client/ # 桌面客户端(Electron: Windows / macOS / Linux)
└── mobile/ # 移动客户端(React Native + Expo: iOS / Android)
服务端 (server/)
中继服务器 + Web 管理面板,部署在 Ubuntu 服务器上。
- TCP 中继引擎 - 转发 Minecraft 流量,支持 Java 版和基岩版
- 多节点集群 - 主节点 + 工作节点架构,水平扩展
- 房间系统 - 创建/加入/密码保护/过期清理
- 流量监控 - 实时统计各房间流量
- Token 认证 - 保护写操作 API
- Web 管理面板 - React + TailwindCSS 可视化管理
- 一键部署 - Ubuntu 自动安装脚本 + systemd 服务
cd server && npm install && cp .env.example .env && npm run dev
📖 server/README.md · 📦 部署教程 DEPLOY.md
桌面客户端 (client/)
Electron 跨平台桌面客户端,支持 Windows / macOS / Linux。
- 本地代理 - 自动建立 TCP 代理,MC 添加
127.0.0.1:25566即可联机 - 设置持久化 - 记住服务器地址、玩家名等偏好
- 系统托盘 - 最小化到托盘后台运行
cd client && npm install && npm run dev # 开发
npm run dist:win # 打包 Windows
npm run dist:mac # 打包 macOS
npm run dist:linux # 打包 Linux
移动客户端 (mobile/)
React Native + Expo 移动客户端,支持 iOS / Android。
- 房间管理 - 浏览/搜索/创建/加入联机房间
- 设置持久化 - 记住服务器地址和玩家名
- 深色 UI - Minecraft 风格暗色主题
cd mobile && npm install && npm start # 开发(Expo)
eas build --platform android --profile preview # 构建 Android APK
eas build --platform ios --profile production # 构建 iOS
架构
┌──────────────────┐
│ 桌面客户端 │ Windows / macOS / Linux
│ Electron │ TCP 本地代理
│ client/ │─────────┐
└──────────────────┘ │
▼
┌──────────────────┐ ┌──────────────────────────┐
│ 移动客户端 │ │ 中继服务器 (Ubuntu) │
│ React Native │──►│ TCP 中继 + REST API │
│ mobile/ │ │ Web 管理面板 (React) │
└──────────────────┘ └──────────────────────────┘
▲
┌──────────────────┐ │
│ Minecraft │─────────┘
│ 游戏客户端 │ TCP 直连中继
└──────────────────┘
License
MIT
Languages
TypeScript
52.9%
Rust
27.2%
Shell
6.7%
PowerShell
4.2%
CSS
3.7%
Other
5.2%