hachem.wtf
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2026-08-29 11:02:20 +0200
committerhachem <im@hachem.wtf>2026-08-29 11:02:20 +0200
commitd8b2d27b1f1ccccfe26fe0d45dbb624d453272d3 (patch)
treea5978cd48c7f4e87139e04bb11f599bd5965c982
parentaf4a6f4c5e9a3e3a501deac71d92bbbcd12ef81f (diff)
docs: refactor README
-rw-r--r--README.md56
1 files changed, 56 insertions, 0 deletions
diff --git a/README.md b/README.md
index 7777024..02ac4bb 100644
--- a/README.md
+++ b/README.md
@@ -5,5 +5,61 @@ Benson started as a little server manager for the Minecraft server a few friends
It's probably way more complicated than it needs to be, but that's kind of the point. The only reason this is public is because a friend of mine told me it might be useful for other people.
+> [!NOTE]
+> This is the Go rewrite of Benson. The original was held together with duct tape and Node.js and shipped as two separate programs; this version is a single self-contained binary with no runtime dependencies. The server manager and the Discord bot are now the same executable.
+
+## Install
+You need Go 1.26+ to build it. Java is only needed for the `generate` command.
+
+```bash
+go install github.com/hachem-wtf/benson@latest
+```
+
+Or build from source:
+
+```bash
+git clone https://github.com/hachem-wtf/benson.git
+cd benson
+go build -o benson .
+```
+
+## Configure
+Benson keeps its configuration under `config/`. The easiest way to set it up is the interactive wizard:
+
+```bash
+benson setup # server manager: versions, paths, mods
+benson setup bot # discord bot: token, channel, interval
+```
+
+`setup` writes `config/config.json` and `setup bot` also writes `config/api.json` (which holds your bot token). The bot is entirely optional — if you only want the server manager, you never have to touch it. You can also edit the files by hand; see `config/config.example.json` for the shape.
+
+## Server manager
+Run Benson with no arguments to open the interactive CLI:
+
+```bash
+benson
+```
+
+It provides the following commands:
+
+| Command | Description |
+| ----------------- | ----------------------------------------------------------------- |
+| `list-mods` | List the configured mods |
+| `check` | Check whether the configured mods are compatible |
+| `generate` | Download the server and mods and generate a server directory |
+| `merge` | Back up the existing server and merge the generated files into it |
+| `clean generated` | Remove the generated server directory |
+| `clean latest` | Remove the latest backup |
+| `clean all` | Remove both generated files and the latest backup |
+| `help` | Show available commands |
+| `exit` | Exit Benson |
+
+## Discord bot
+The Discord bot periodically checks the configured mods on Modrinth and posts compatibility reports to a given channel. Since it's the same binary as the manager, you can host it wherever you like:
+
+```bash
+benson bot
+```
+
## License
Benson is licensed under the Apache License 2.0. See [LICENSE](LICENSE) for more details.