FunMC 80fe5e6e6e feat: v1.2.0 房间详情/聊天/踢人 + 速率限制 + WebSocket增强
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
2026-02-23 08:21:09 +08:00

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

📖 client/README.md

移动客户端 (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

📖 mobile/README.md

架构

┌──────────────────┐
│  桌面客户端        │  Windows / macOS / Linux
│  Electron         │  TCP 本地代理
│  client/          │─────────┐
└──────────────────┘          │
                              ▼
┌──────────────────┐   ┌──────────────────────────┐
│  移动客户端        │   │     中继服务器 (Ubuntu)     │
│  React Native    │──►│  TCP 中继 + REST API       │
│  mobile/          │   │  Web 管理面板 (React)      │
└──────────────────┘   └──────────────────────────┘
                              ▲
┌──────────────────┐          │
│  Minecraft        │─────────┘
│  游戏客户端        │  TCP 直连中继
└──────────────────┘

License

MIT

Description
No description provided
Readme MIT 734 KiB
Languages
TypeScript 52.9%
Rust 27.2%
Shell 6.7%
PowerShell 4.2%
CSS 3.7%
Other 5.2%