go-gsgm

command module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 21, 2024 License: GPL-3.0 Imports: 1 Imported by: 0

README

Gsgm - GNU Single Game Manager

介绍

目前 Gsgm 要联合 Lutris 一起使用,与 Lutris 一起能够很方便的管理自定义游戏库。

Gsgm 不止能够完成全自动批量安装游戏的功能,还有诸如 Lutris 记录备份、Lutris 封面管理等,还有游戏库组管理(需要 lutris-git v0.5.13+)

Gsgm 的特点和功能:

  1. 根据规则批量导入游戏,只需要遵循规则,然后输入 gsgm install -l <游戏库位置> 即可(详细请看下文
  2. 同步 Lutris 的游戏记录和设置,即便 Lutris 的记录丢了,我们也可以通过游戏库中,每个游戏下的 .gsgm 文件恢复游戏库的 Lutris 数据
  3. 在 Lutris 上,封面的管理相当随意,只有联合 Steam 等平台的游戏封面才能很好的被管理。Gsgm 脱离 Lutris,可以主动生成 Lutris 的 3 种显示封面,并代为管理

注意:使用 Gsgm 的时候,请关闭 Lutris!!!,Gsgm 使用过程中可能会操作 Lutris 数据库,可能会导致运行中的 Lutris 发生错误

游戏库规则

请仔细阅读,这个结构至关重要!!!

游戏库位置
├── 游戏A
│   ├── ...                 -------- 其他文件夹和文件
│   ├── .gsgm
│   │     ├── info.json     -------- 游戏的信息
│   │     ├── setting.json  -------- 游戏的运行设置
│   │     ├── history.json  -------- 游玩历史
│   │     ├── cover.xxx     -------- 游戏封面,可以是 [png | jpg | jpeg]
│   │     └── winePrefix    -------- 默认的 wineprefix 位置
│   └── bin
│        └── 游戏A.exe       -------- 游戏可执行文件,可以识别游戏根目录和二级目录的可执行文件
├── 游戏B
│   ├── ...                 -------- 其他文件夹和文件
│   ├── .gsgm
│   │     └── ...
│   └── 游戏B.exe            -------- 游戏可执行文件
├── @文件夹A                 -------- 文件夹的命名是单个 @ 开头,例如 `@3D大作`、`@ 2D游戏`,文件夹可以嵌套
│   ├── 游戏A
│   │   └── ...
│   └── @文件夹B             -------- 文件夹可以嵌套
│       └── ...
├── @_文件夹C                -------- `@_` 开头,如 `@_3D大作`,例如这里面的游戏会被分到 `@_文件夹C` 组中
│   ├── 游戏A
│   ├── 游戏C
│   │   └── ...
│   ├── 游戏D
│   │   └── ...
│   └── @文件夹B             -------- 文件夹可以嵌套
│       └── ...
├── @@忽略文件夹A             -------- 忽略文件夹以两个 @@ 开头,例如 `@@游戏脚本`、`@@ 风灵月影工具包`
├── @@忽略文件夹B
└── ...

info.json

{
    "id": 1778238210896297984, // `gsgm init 随机生成 gsgm id,每个游戏独一无二,不可重复!
    "initTime": 1712800002
}

setting.json

{
    "executeLocation": "run.exe",// 游戏启动文件,路径相对于游戏根目录
    "winePrefixAlone": false,// wineprefix 是否隔离
    "localeCharSet": "zh_CN.UTF-8",// 字符集编码,默认 zh_CN.UTF-8
    "platform": "Windows",// 游戏平台,默认 Windows,可选值:[Windows | Linux]
    "runner": "wine"
}

使用方式

# 通过设置别名的方式使用
alias gsgm='/path/to/go-gsgm'
# 读取这个配置,支持 bash 和 zsh 的自动补全
source completion.sh

# completion.sh 可以自己生成
gsgm completion [bash,zsh,fish] > completion.sh

文档

具体命令的介绍,可以通过 gsgm xxx -h 获取

Gsgm Linux 游戏管理工具

Usage:
  gsgm [command]

Available Commands:
  check       检查当前游戏或者游戏库目录是否合法
  clean       清理 Lutris 中 Gsgm 游戏
  completion  Generate the autocompletion script for the specified shell
  help        Help about any command
  init        初始化单个游戏或者一整个 Gsgm 库
  install     安装游戏
  scan        扫描游戏当前库

Flags:
  -h, --help      help for gsgm
  -v, --verbose   verbose output

Use "gsgm [command] --help" for more information about a command.
检查当前游戏或者游戏库目录是否合法

Usage:
  gsgm check [flags]

Flags:
  -h, --help         help for check
  -l, --is-library   是否是游戏库

Global Flags:
  -v, --verbose   verbose output
清理 Lutris 中 Gsgm 游戏

Usage:
  gsgm clean [flags]

Flags:
  -h, --help   help for clean

Global Flags:
  -v, --verbose   verbose output
Generate the autocompletion script for gsgm for the specified shell.
See each sub-command's help for details on how to use the generated script.

Usage:
  gsgm completion [command]

Available Commands:
  bash        Generate the autocompletion script for bash
  fish        Generate the autocompletion script for fish
  powershell  Generate the autocompletion script for powershell
  zsh         Generate the autocompletion script for zsh

Flags:
  -h, --help   help for completion

Global Flags:
  -v, --verbose   verbose output

Use "gsgm completion [command] --help" for more information about a command.
Help provides help for any command in the application.
Simply type gsgm help [path to command] for full details.

Usage:
  gsgm help [command] [flags]

Flags:
  -h, --help   help for help

Global Flags:
  -v, --verbose   verbose output
初始化单个游戏或者一整个 Gsgm 库

Usage:
  gsgm init [flags]

Flags:
  -h, --help         help for init
  -l, --is-library   是否是 Gsgm 游戏库

Global Flags:
  -v, --verbose   verbose output
安装游戏

Usage:
  gsgm install [flags]

Flags:
  -f, --force   覆盖安装
  -h, --help    help for install
  -l, --lib     是否是 Gsgm 游戏库
  -s, --safe    安装,但不添加图片

Global Flags:
  -v, --verbose   verbose output
扫描游戏当前库

Usage:
  gsgm scan [flags]

Flags:
  -h, --help   help for scan

Global Flags:
  -v, --verbose   verbose output

常见操作举例

清空Gsgm的游戏库

这里将清除所有通过 Gsgm 安装的游戏数据

gsgm clean
初始化游戏库
gsgm init -l /path/to/library

gsgm init /path/to/single
检查游戏结构
gsgm check -l /path/to/library

gsgm check /path/to/single
安装游戏库
# 覆盖安装
gsgm install -f /path/to/library

# 单独安装某个游戏
gsgm install --lib=false /path/to/single

# 安全模式安装(不安装图片
gsgm install -f -s /path/to/library
罗列游戏
gsgm scan /path/to/library

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL