Skip to content

Releases: vatebur/gamehelm

GameHelm v2.0.0

Choose a tag to compare

@vatebur vatebur released this 04 Nov 09:05

GameHelm 2.0 是轻量级 Web 服务控制台,适用于 Web 应用、后台任务、开发环境和游戏服务器。

  • 统一管理 systemd 用户服务和本机 Docker Engine 中预先配置的容器,支持异步启停、状态查询、定时关闭、续时及无限运行。
  • 按配置、认证、控制器、运行时和 Web 分层,服务操作与实际运行状态分开确认。
  • 首次启动将明文密码替换为带随机盐的 Argon2id 哈希,原子回写保留配置文件中的注释与排版,配置文件权限为 0600。
  • public_origin 与 trusted_proxies 为可选项,示例默认注释,支持 HTTP + IP 直接访问。
  • 倒计时、续时记录和会话仅保存于内存。GameHelm 重启后,运行中的服务按当前配置重新获得完整时长,续时次数归零;同进程内运行时暂时失联则保留原计时。
  • 目标不存在和运行时不可达统一显示“异常”,界面支持手机访问。

2.0 采用新的配置结构,按全新安装设计。main 和 2.0 分支维护 2.0 系列,1.x 保留在 独立分支 及 v1.3.1 发布,历史标签保持可用。

提供 Linux amd64、arm64 二进制和 SHA256SUMS。安装方法与配置说明见 README。发布前通过 race tests、go vet、golangci-lint、双架构构建及 JavaScript/Shell 语法检查,并完成实际 Docker/systemd 操作与 ego-browser UI 验收,详见 验收记录。

继续使用 1.x 的用户,请从 1.x 分支获取安装脚本,或对已有旧脚本显式设置 GAMEHELM_VERSION=v1.3.1。此前旧脚本默认跟随 latest,latest 现用于 2.0 系列。

GameHelm v1.3.1

Choose a tag to compare

@vatebur vatebur released this 04 Nov 09:04

1.x 系列的维护版本,保留基于 systemd 用户服务的 Web 管理、定时关闭、续时和无限运行功能。

  • 1.x 代码独立保存在 1.x 分支。
  • 安装脚本默认固定下载 v1.3.1,避免随 latest 下载到 2.0。
  • 项目简介调整为通用服务管理,现有 1.x 配置和运行行为保持不变。
  • 新版本开发转至 main 和 2.0 分支,详见 v2.0.0。

提供 Linux amd64、arm64 二进制和 SHA256SUMS,安装脚本会校验下载文件。发布前已通过 race tests、go vet、golangci-lint、双架构构建及 JavaScript/Shell 语法检查。

继续使用 1.x 的用户,请从 1.x 分支获取安装脚本,或对已有旧脚本显式设置 GAMEHELM_VERSION=v1.3.1。此前旧脚本默认跟随 latest,latest 现用于 2.0 系列。

v1.3

Choose a tag to compare

@vatebur vatebur released this 19 Aug 02:33

What's Changed

  • 支持每个服务独立运行时长与无限模式 by @vatebur in #2

Full Changelog: v1.2...v1.3

GameHelm(游舵)v1.2

Choose a tag to compare

@vatebur vatebur released this 11 Aug 04:08
a509996

主要变化

  • GameHelm 和游戏服务统一迁移到同一普通用户的 systemd user manager,安装脚本负责配置 linger 与 user service。
  • README 新增完整的游戏 systemd user unit 创建、验证和配置指南。
  • 移除 state.json 持久化,倒计时、续时次数和提示改为内存状态。
  • GameHelm 重启后会接管仍在运行的服务,并从重新发现时开始新的 4 小时倒计时。
  • 旧配置中的 state_file 字段仍可静默兼容,但不再生效;安装和卸载均不处理遗留状态文件。

升级提示

  • 确保所有游戏服务已配置为与 GameHelm 同一用户下的 systemd user units。
  • state_file 配置可以删除;遗留 state.json 不再读取,也不会被自动删除。
  • 重启 gamehelm.service 会重置当前运行服务的倒计时。

发布资产

  • gamehelm-linux-amd64:Linux amd64 静态二进制
  • gamehelm-linux-arm64:Linux ARM64 静态二进制
  • SHA256SUMS:两个架构发布资产的 SHA-256 校验和

验证

  • go test -race ./...
  • go vet ./...
  • Node.js 26.7.0 JavaScript 语法检查
  • Linux amd64 与 ARM64 静态链接和架构检查
  • SHA256SUMS 双架构校验

GameHelm(游舵)v1.1

Choose a tag to compare

@vatebur vatebur released this 10 Aug 11:38

主要变化

  • 项目正式更名为 GameHelm(游舵),仓库、二进制、systemd unit、sudoers 和安装变量统一使用 gamehelm。
  • config.json 支持配置任意数量的 systemd 游戏服务,服务之间可以同时运行。
  • 每项服务独立提供 4 小时倒计时、最后 1 小时反复续时、手动关闭和逾期自动关闭。
  • 控制台页面动态渲染全部配置服务,并统一使用简体中文界面。
  • 项目结构整理为 cmd/gamehelm、internal/app、deploy 和 tests。
  • 安装脚本可从旧 webctrl.service 和旧绝对配置路径自动迁移。

升级方式

更新代码后,在 Go 1.26.5 环境中执行:

sudo ./install.sh

安装脚本会生成 gamehelm.service 与对应最小权限 sudoers,并清理本项目旧版的 webctrl.service 部署文件。升级不会启动或停止配置中的游戏服务。

验证

  • go test -race ./...
  • go vet ./...
  • Linux amd64 静态构建
  • Node.js 26.7.0 JavaScript 语法检查
  • 三服务登录、页面渲染和状态 API 浏览器测试
  • 正式 systemd 迁移与登录后 /api/status 健康检查