@gamecrate/cli 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,10 +1,14 @@
1
1
  # @gamecrate/cli
2
2
 
3
- The `gamecrate` command. It resolves a profile to a mod set, stages that set, and launches the
4
- game in a Docker container.
3
+ gamecrate launches a modded game inside a Docker container. You describe a profile once in one
4
+ config file, then run it by name. Each profile gets its own save directory, its own logs, and
5
+ only the mods it lists.
5
6
 
6
- The core knows nothing about any one game. A plugin supplies the file formats and the engine
7
- facts. Without at least one plugin, `gamecrate` has no games to run.
7
+ The tool knows nothing about any one game. A plugin supplies the file formats and the engine
8
+ facts, so the core stays the same for every title.
9
+
10
+ This package is the `gamecrate` command itself. It resolves a profile to a mod set, stages that
11
+ set, and launches the game. Without at least one plugin, it has no games to run.
8
12
 
9
13
  ## Install
10
14
 
@@ -26,6 +30,9 @@ Write `~/.config/gamecrate/profiles.yml`. This is the smallest RimWorld config t
26
30
 
27
31
  ```yaml
28
32
  plugins: ['@gamecrate/rimworld']
33
+ # Optional. Without it, gamecrate uses steamcmd from PATH, then a Docker image.
34
+ steamcmd:
35
+ path: ~/.local/bin/steamcmd
29
36
  games:
30
37
  rimworld:
31
38
  # The plugin already says source: mount and container: /game.
@@ -34,6 +41,7 @@ games:
34
41
  image:
35
42
  ref: ghcr.io/your-org/rimworld:1.6
36
43
  acquire: pull
44
+ # Optional. Only for workshop items a Steam install already downloaded.
37
45
  workshopRoot: ~/.steam/steam/steamapps/workshop/content/294100
38
46
  scanRoots:
39
47
  - path: ~/projects/mods
@@ -45,7 +53,9 @@ games:
45
53
 
46
54
  The bare name `@gamecrate/rimworld` only resolves once the package is installed next to the
47
55
  config. [Configuration](docs/configuration.md#how-plugins-resolve) shows both ways to point at
48
- a plugin. Then:
56
+ a plugin. A workshop item reaches a profile two ways: gamecrate downloads it with steamcmd, or
57
+ it reads an existing Steam install under `workshopRoot`. Both keys are optional, and
58
+ [Mod sources](docs/mod-sources.md) covers the choice. Then:
49
59
 
50
60
  ```sh
51
61
  gamecrate doctor
@@ -53,7 +63,9 @@ gamecrate rimworld dev
53
63
  ```
54
64
 
55
65
  `doctor` checks Docker, the image, the game directory, and the workshop root before anything
56
- launches. The second line resolves the `dev` profile, stages its two mods, and starts the game.
66
+ launches. When a config uses workshop items, it also reports which steamcmd it found and the
67
+ directories downloaded items land in. The second line resolves the `dev` profile, stages its
68
+ two mods, and starts the game.
57
69
  `gamecrate rimworld dev --print-plan` shows what it would do without launching.
58
70
 
59
71
  ## Documentation
@@ -61,7 +73,7 @@ launches. The second line resolves the `dev` profile, stages its two mods, and s
61
73
  | Read this | When you want to |
62
74
  | --- | --- |
63
75
  | [Configuration](docs/configuration.md) | Write the config file, load a plugin, define profiles, or set per-repository defaults |
64
- | [Mod sources](docs/mod-sources.md) | Pin a mod to a directory, a workshop item, or a git repository, and learn which copy of a mod wins |
76
+ | [Mod sources](docs/mod-sources.md) | Pin a mod to a directory, a git repository, or a workshop item gamecrate downloads, and learn which copy wins |
65
77
  | [The `mods` commands](docs/mods-commands.md) | Add, remove, and sync library pins from the command line |
66
78
  | [Running](docs/running.md) | Launch, run in the background, read the result, close a window, and clean up |
67
79
  | [Reference](docs/reference.md) | Every subcommand, flag, environment variable, and exit code |