一个基于 Go Fiber 框架的现代化游戏运维管理平台,集成了 HashiCorp Nomad、Consul、Redis 等云原生基础设施组件,为游戏服务器提供全生命周期的运维管理解决方案。
Saurfang V2 Fiber 是一个专为游戏运维场景设计的综合性管理平台,提供了从基础设施管理到任务调度、从用户权限控制到监控告警的完整运维工具链。
- 游戏服务器配置: 支持多游戏、多渠道的服务器配置管理
- 逻辑服务器管理: 游戏逻辑服务器的创建、配置和监控
- 游戏频道管理: 多渠道游戏发布和管理
- 游戏组管理: 服务器分组和批量操作
- 服务器配置: 动态配置管理和热更新
- 主机管理: 云服务器实例的自动发现和管理
- 分组管理: 主机分组和标签管理
- 自动同步: 支持阿里云、华为云等云平台的资源自动同步
- 资产监控: 实时监控主机状态和资源使用情况
- 自定义任务: 支持 Python、Shell、Bash 脚本的自定义任务
- 定时任务: 基于 Cron 表达式的定时任务调度
- 部署任务: 游戏服务器的自动化部署和更新
- 任务模板: 可复用的脚本模板库
- 执行监控: 任务执行状态和日志的实时监控
- 用户认证: JWT Token 认证机制
- 角色管理: 基于角色的权限控制 (RBAC)
- 权限分组: 细粒度的权限管理
- 邀请码系统: 用户注册邀请机制
- 实时监控: 系统资源和服务状态监控
- 统计面板: 可视化的数据统计和图表
- 通知系统: 支持多种通知渠道 (钉钉、邮件等)
- 配置管理: 集中化的系统配置管理
- 文件上传: 支持游戏资源文件的上传和管理
- 数据源管理: 多数据源的统一管理
- API 接口: 完整的 RESTful API 支持
- Web 框架: Go Fiber v3 - 高性能的 Go Web 框架
- 数据库: MySQL + GORM - 对象关系映射
- 缓存: Redis - 内存数据库
- 任务队列: Asynq - 异步任务处理
- 任务调度: HashiCorp Nomad - 分布式任务调度器
- 服务发现: HashiCorp Consul - 服务网格和配置管理
- 配置管理: HashiCorp Consul - 分布式键值存储
- 阿里云: ECS 实例管理和 OSS 对象存储
- 华为云: ECS 实例管理和 OBS 对象存储
- 通知服务: 钉钉、邮件等多种通知渠道
- 依赖管理: Go Modules
- 配置管理: 环境变量 + .env 文件
- 日志系统: 结构化日志记录
- 性能监控: pprof 性能分析
- Go: 1.23.8 或更高版本
- MySQL: 5.7 或更高版本
- Redis: 6.0 或更高版本
- HashiCorp Nomad: 1.6+ (用于任务调度)
- HashiCorp Consul: 1.16+ (用于服务发现及配置管理)
git clone https://github.com/dustingo/saurfang.git
cd saurfang复制环境变量模板并配置:
cp .env.examples .envgo mod tidy确保 MySQL 服务运行,系统会自动创建所需的数据表。
# 开发模式
go run main.go
# 或使用构建脚本
.\build.bat# 构建二进制
build.bat
go build -ldflags "-w -s"# 生成表结构
./saurfang --migrate
# 生成注册邀请码
./saurfang admin codegen
# 设置管理员权限
./saurfang admin set-perms
# 添加管理员
./saurfang admin set-admin --name xxx
# 启动服务
./saurfang --serve- 使用反向代理 (Nginx/caddy)
- 配置 HTTPS 证书
- 设置数据库连接池
- 配置日志轮转
- 设置监控告警
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 打开 Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
如果您在使用过程中遇到问题,可以通过以下方式获取帮助:
- 查看项目文档和 FAQ
- 提交 Issue 描述问题
- 参与社区讨论
- 基于 Fiber v3 重构
- 新增自定义任务系统
- 优化 Nomad 集成
- 增强权限管理
- 改进监控面板
- 增加了操作消息通知订阅
本项目前端基于现代化的 React 生态构建,采用了以下核心技术:
- 前端框架: 基于 react-amis-admin 进行定制开发
- UI 组件库: 使用百度 Amis 低代码前端框架
- 构建工具: 现代化的前端构建流程,支持代码分割和优化
构建后的前端静态资源位于 dist 目录,您可以:
- 从项目 Releases 页面下载预构建版本
- 本地构建:参考前端项目文档进行构建
方案一:Caddy 反向代理(推荐)
Caddy 是一个现代化的 Web 服务器,具有自动 HTTPS、简洁配置等优势。
Caddy 配置示例
(cors) {
@origin header Origin *
header @origin Access-Control-Allow-Origin *
header @origin Access-Control-Allow-Methods "OPTIONS,HEAD,GET,POST,PUT,PATCH,DELETE"
}
{
log {
level info
output file /usr/local/caddy/logs/caddy.log {
roll_size 100MiB # 单个文件最大100MB
roll_keep 5 # 保留5个归档文件
roll_keep_for 30d # 日志保留30天
}
}
auto_https disable_redirects
}
your-domain.com:8443 {
import cors
tls ./ssl/_.your-domain.com_bundle.crt ./ssl/_.your-domain.com.key
# API 请求转发到后端服务
@api_request {
path /api/v1/*
}
handle @api_request {
reverse_proxy http://127.0.0.1:4765
}
handle /* {
root /* /usr/local/caddy/data/dist
file_server
try_files {path} /
}
encode zstd gzip
}
Saurfang V2 Fiber - 让游戏运维更简单、更高效!

