GameServerManager/docs/多架构支持说明.md
2025-09-24 21:59:33 +08:00

205 lines
4.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.

# GSM3 多架构支持说明
## 概述
GSM3 游戏服务端管理面板现已支持多架构部署,包括 AMD64 (x86_64) 和 ARM64 (aarch64) 平台。不同架构提供不同级别的功能支持。
## 架构对比
| 功能 | AMD64 | ARM64 | 说明 |
|------|-------|-------|------|
| GSM3 Web管理界面 | ✅ | ✅ | 完整支持 |
| Java 21 运行环境 | ✅ | ✅ | 完整支持 |
| Node.js 22 | ✅ | ✅ | 完整支持 |
| Python 3 | ✅ | ✅ | 完整支持 |
| SteamCMD | ✅ | ❌ | ARM64不支持 |
| 游戏服务器依赖 | ✅ | ❌ | 主要为x86游戏 |
| i386兼容库 | ✅ | ❌ | ARM64无需 |
## 使用场景
### AMD64 架构
- **完整游戏服务器管理**
- 适合传统服务器环境
- 支持所有Steam游戏服务器
- 资源消耗较高
### ARM64 架构
- **轻量级管理面板**
- 适合树莓派、ARM服务器
- 仅Web管理功能
- 资源消耗较低
- 适合远程管理场景
## 快速开始
### 1. 检查系统架构
```bash
# 查看系统架构
uname -m
# x86_64 = AMD64
# aarch64 = ARM64
```
### 2. 选择部署方式
#### 方式一:使用构建脚本(推荐)
```bash
# 本地构建(自动检测架构)
./build-local.sh
# 多架构构建
./build-multiarch.sh
```
#### 方式二Docker Compose
```bash
# 自动选择合适的架构
docker-compose up -d
```
#### 方式三:直接运行
```bash
# AMD64 - 完整功能
docker run -d \
--name gsm3-panel \
-p 3001:3001 \
-p 27015-27020:27015-27020 \
-v ./game_data:/root/games \
-v ./gsm3_data:/root/server/data \
xiaozhu674/gameservermanager:latest
# ARM64 - 仅管理面板
docker run -d \
--name gsm3-panel \
-p 3001:3001 \
-v ./gsm3_data:/root/server/data \
xiaozhu674/gameservermanager:latest
```
## 构建说明
### 本地构建
```bash
# 给脚本执行权限
chmod +x build-local.sh
# 构建当前架构版本
./build-local.sh latest
```
### 多架构构建
```bash
# 给脚本执行权限
chmod +x build-multiarch.sh
# 构建多架构版本
./build-multiarch.sh latest
```
## 功能限制说明
### ARM64 架构限制
1. **SteamCMD 不可用**
- SteamCMD 官方不支持 ARM64
- 无法直接管理 Steam 游戏服务器
2. **游戏服务器依赖缺失**
- 大部分游戏服务器为 x86 架构
- 缺少 i386 兼容库
3. **推荐用途**
- Web 管理界面访问
- 远程监控和配置
- 轻量级部署场景
### 解决方案
如果需要在 ARM 环境中管理游戏服务器,建议:
1. **混合部署**
- ARM64: 运行 GSM3 管理面板
- AMD64: 运行游戏服务器
2. **远程管理**
- ARM64 设备作为管理终端
- 通过网络管理远程 AMD64 服务器
## 故障排除
### 架构不匹配
```bash
# 检查镜像架构
docker image inspect xiaozhu674/gameservermanager:latest | grep Architecture
# 强制拉取特定架构
docker pull --platform linux/amd64 xiaozhu674/gameservermanager:latest
docker pull --platform linux/arm64 xiaozhu674/gameservermanager:latest
```
### 构建失败
```bash
# 检查 Docker Buildx
docker buildx version
# 重新创建构建器
docker buildx create --name multiarch-builder --driver docker-container --bootstrap
docker buildx use multiarch-builder
```
### 运行时错误
```bash
# 查看容器日志
docker logs gsm3-panel
# 进入容器调试
docker exec -it gsm3-panel bash
# 检查架构
docker exec gsm3-panel uname -m
```
## 性能对比
| 指标 | AMD64 | ARM64 | 说明 |
|------|-------|-------|------|
| 内存使用 | ~1.5GB | ~800MB | ARM64更节省 |
| CPU使用 | 中等 | 较低 | 无游戏服务器负载 |
| 启动时间 | ~30s | ~20s | ARM64更快 |
| 镜像大小 | ~2GB | ~1.2GB | ARM64更小 |
## 最佳实践
1. **选择合适的架构**
- 游戏服务器: AMD64
- 管理面板: ARM64
2. **资源配置**
- AMD64: 2GB+ 内存, 2+ CPU
- ARM64: 1GB+ 内存, 1+ CPU
3. **网络配置**
- AMD64: 开放游戏端口
- ARM64: 仅开放管理端口 (3001)
4. **存储配置**
- AMD64: 大容量存储
- ARM64: 轻量级存储
## 更新日志
- **v1.0.0**: 添加 ARM64 架构支持
- 优化镜像大小和构建时间
- 提供多架构构建脚本
- 完善文档和使用说明