From 71d6ce2a4ef496dc363f03fb4b827b312f56b281 Mon Sep 17 00:00:00 2001 From: thegamecracks <61257169+thegamecracks@users.noreply.github.com> Date: Fri, 31 Jul 2026 11:46:19 -0400 Subject: [PATCH 1/6] docs: clarify prefixURL usage in configuration guide --- docs/configuration.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index 4943dc2..1722536 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -120,7 +120,7 @@ Place this file alongside the DLL inside the `@ocap/` mod directory. Copy from ` | Field | Default | Description | |---|---|---| -| `serverUrl` | `"http://127.0.0.1:5000"` | Base URL of the OCAP web server that will receive uploaded recordings. | +| `serverUrl` | `"http://127.0.0.1:5000"` | Base URL of the OCAP web server that will receive uploaded recordings. If [`prefixUrl`](#core-fields) is used, this URL should match it, e.g. `"http://127.0.0.1:5000/ocap"`. | | `apiKey` | `"same-secret"` | Shared secret used to authenticate uploads to the web server. Must match `setting.json` → `secret`. | | `uploadTimeout` | `"10m"` | Maximum time to wait for an upload to complete before aborting. | @@ -226,7 +226,7 @@ Any field can be overridden via an `OCAP_` environment variable. For nested | Field | Default | Description | |---|---|---| | `listen` | `"127.0.0.1:5000"` | Address and port the HTTP server listens on. | -| `prefixURL` | `""` | URL prefix for all routes. Useful when hosted behind a reverse proxy at a sub-path. | +| `prefixURL` | `""` | URL prefix for all routes, e.g. `"/ocap"`. Useful when hosted behind a reverse proxy at a sub-path. Must be appended to `ocap_recorder.cfg.json` → [`api.serverUrl`](#api). | | `secret` | `"change-me"` | Shared secret for authenticating mission uploads from the extension. Must match `ocap_recorder.cfg.json` → `api.apiKey`. | | `db` | `"data.db"` | Path to the SQLite database file used for mission metadata. | | `data` | `"data"` | Directory where mission recording files are stored. | From 5129cea0385ecd19e38e125b0b6581d9bb62c43f Mon Sep 17 00:00:00 2001 From: thegamecracks <61257169+thegamecracks@users.noreply.github.com> Date: Fri, 31 Jul 2026 12:11:18 -0400 Subject: [PATCH 2/6] docs: add comma-separated adminSteamIDs disclaimer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is the same note in web/README.md, simply added to the configuration guide for consistency. Sidenote, Viper apparently recommends decode hooks for parsing comma-separated lists instead of the current `splitCSV()` function: https://github.com/spf13/viper/tree/master#decoding-custom-formats I don't have any familiarity with Go though, so I won't try writing that 😅 --- docs/configuration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuration.md b/docs/configuration.md index 1722536..72b6e43 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -242,7 +242,7 @@ Any field can be overridden via an `OCAP_` environment variable. For nested | Field | Default | Description | |---|---|---| | `steamApiKey` | `""` | Steam Web API key used to validate Steam OpenID logins. Required for authentication features. | -| `adminSteamIds` | `[]` | List of Steam64 IDs that are granted administrator access. | +| `adminSteamIds` | `[]` | List of Steam64 IDs that are granted administrator access (comma-separated in env var). | | `sessionTTL` | `"24h"` | How long a user session remains valid after login. | ### `conversion` From db144184b626fca203b456535a2bf1d4ba740a6f Mon Sep 17 00:00:00 2001 From: thegamecracks <61257169+thegamecracks@users.noreply.github.com> Date: Fri, 31 Jul 2026 18:44:14 -0400 Subject: [PATCH 3/6] docs: describe downloading map tiles as optional --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1d78d4a..fd03b7f 100644 --- a/README.md +++ b/README.md @@ -53,8 +53,8 @@ For mission integration (SQF/CBA API, custom events, score counters, focus windo ### Terrains -A long list of Arma 3 terrains, both vanilla and modded, are provided in a link at the top of this ReadMe. To use one: -1. Download the .7zip or .zip file. +We host a long list of Arma 3 terrains, both vanilla and modded, on our CDN for the web playback UI. You do not need to download any of our map tiles, but if it is preferred, you can: +1. Download the .7z from [Google Drive](https://drive.google.com/drive/folders/1qtT0Fr4Dfwd48ihZNc8YN-xgxHchKoiu). 1. Extract the contents to your `web/maps` folder or Docker volume. The compressed file contains a folder titled with the world name. This folder contains a set of subfolders with tiled map images & a `map.json` file inside of it. Past and future recordings uploaded to this server that were played on that terrain will now display properly. In the future, we will look to implement dynamically generated vector tiling that will greatly increase the terrain resolution at higher zooms. From c5252f25623f2b1642d010ad80d9036c5f18ae60 Mon Sep 17 00:00:00 2001 From: thegamecracks <61257169+thegamecracks@users.noreply.github.com> Date: Fri, 31 Jul 2026 19:09:11 -0400 Subject: [PATCH 4/6] docs: clarify using full image for grad_meh exports --- docs/installation.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/installation.md b/docs/installation.md index bff19b5..07b69d1 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -33,7 +33,7 @@ If you are running the web server in Docker or on a game server panel, you only | `ghcr.io/ocap2/web:latest` | Slim — web server only | | `ghcr.io/ocap2/web:full` | Includes GDAL, tippecanoe, and pmtiles for server-side map terrain tile processing | -Use `:full` if you want to process and host custom Arma 3 terrain tiles through the admin UI. Use `:latest` otherwise. +Use `:full` if you have grad_meh exports that you want to import in the admin UI. Use `:latest` otherwise. You only need `:latest` to locally host map tiles such as those from [Google Drive](https://drive.google.com/drive/folders/1qtT0Fr4Dfwd48ihZNc8YN-xgxHchKoiu). --- @@ -223,7 +223,7 @@ Set `OCAP_SECRET` to the same value as `api.apiKey` in the extension's `ocap_rec Any `setting.json` field can be set as an environment variable using the `OCAP_` prefix with nested keys uppercased and concatenated (e.g. `auth.steamApiKey` → `OCAP_AUTH_STEAMAPIKEY`). See [Configuration Reference](configuration.md). -> **Map tools:** To use the server-side map tile processing pipeline (GDAL, tippecanoe), use `ghcr.io/ocap2/web:full` instead of `:latest`. +> **Map tools:** To use the server-side pipeline for for processing grad-meh exports into map tiles (GDAL, tippecanoe), choose `ghcr.io/ocap2/web:full` instead of `:latest`. ### Start the server @@ -286,4 +286,4 @@ Start the server from the panel. The install script automatically creates the re Visit the server's allocated address to confirm the web UI is accessible. -> **Docker image:** The egg uses `ghcr.io/ocap2/web:full` by default, which includes the map tile processing tools. To use the smaller slim image, change the Docker image in the egg or server settings to `ghcr.io/ocap2/web:latest`. +> **Docker image:** The egg uses `ghcr.io/ocap2/web:full` by default, which includes the tools needed to process grad_meh exports into map tiles. To use the smaller slim image, change the Docker image in the egg or server settings to `ghcr.io/ocap2/web:latest`. From 6faeae25f428c8f58743f489aaca5d757d47de3e Mon Sep 17 00:00:00 2001 From: thegamecracks <61257169+thegamecracks@users.noreply.github.com> Date: Fri, 31 Jul 2026 19:10:22 -0400 Subject: [PATCH 5/6] docs: fix grad-meh typo --- docs/installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation.md b/docs/installation.md index 07b69d1..fe1abf9 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -223,7 +223,7 @@ Set `OCAP_SECRET` to the same value as `api.apiKey` in the extension's `ocap_rec Any `setting.json` field can be set as an environment variable using the `OCAP_` prefix with nested keys uppercased and concatenated (e.g. `auth.steamApiKey` → `OCAP_AUTH_STEAMAPIKEY`). See [Configuration Reference](configuration.md). -> **Map tools:** To use the server-side pipeline for for processing grad-meh exports into map tiles (GDAL, tippecanoe), choose `ghcr.io/ocap2/web:full` instead of `:latest`. +> **Map tools:** To use the server-side pipeline for for processing grad_meh exports into map tiles (GDAL, tippecanoe), choose `ghcr.io/ocap2/web:full` instead of `:latest`. ### Start the server From 479658e5d5b6cdf93c14e7246fe23262e6374f96 Mon Sep 17 00:00:00 2001 From: thegamecracks <61257169+thegamecracks@users.noreply.github.com> Date: Sat, 1 Aug 2026 08:12:39 -0400 Subject: [PATCH 6/6] docs: fix for for typo --- docs/installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation.md b/docs/installation.md index fe1abf9..c701534 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -223,7 +223,7 @@ Set `OCAP_SECRET` to the same value as `api.apiKey` in the extension's `ocap_rec Any `setting.json` field can be set as an environment variable using the `OCAP_` prefix with nested keys uppercased and concatenated (e.g. `auth.steamApiKey` → `OCAP_AUTH_STEAMAPIKEY`). See [Configuration Reference](configuration.md). -> **Map tools:** To use the server-side pipeline for for processing grad_meh exports into map tiles (GDAL, tippecanoe), choose `ghcr.io/ocap2/web:full` instead of `:latest`. +> **Map tools:** To use the server-side pipeline for processing grad_meh exports into map tiles (GDAL, tippecanoe), choose `ghcr.io/ocap2/web:full` instead of `:latest`. ### Start the server