mirror of
https://github.com/GSManagerXZ/GameServerManager.git
synced 2025-10-04 13:51:58 +08:00
205 lines
4.1 KiB
Markdown
205 lines
4.1 KiB
Markdown
# 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 架构支持
|
||
- 优化镜像大小和构建时间
|
||
- 提供多架构构建脚本
|
||
- 完善文档和使用说明
|