Skip to content

feat: restructure documentation - #341

Closed
Nicholas Wiersma (nrwiersma) wants to merge 9 commits into
mainfrom
docs/cleanup-restructure
Closed

feat: restructure documentation#341
Nicholas Wiersma (nrwiersma) wants to merge 9 commits into
mainfrom
docs/cleanup-restructure

Conversation

@nrwiersma

Copy link
Copy Markdown
Contributor

Goal of this PR

Restructure the documentation using AI. I have not read every page, just the main outline. Review everything.

How did I verify the changes?

I didnt. I set AI on its way. I stand by none of these changes.

Additional context

This is unreviewed Ai work. Read everything, twice.

Delete the five symlinked pages under getting-started/, the
authentication/authentication.md symlink and the hosting-models ->
architecture directory symlink. Each published the same content at a
second URL, splitting inbound links and search results.

Repair the links this exposed: the two Editing Permissions links in
game-server-logs.md, the .html suffixes on the Allocator API links, the
mislabelled Token Service API reference link, and six broken heading
anchors.

The API reference sidebar links were all broken: config.js prefixes
non-external sidebar links with the section directory, so
/api/multiplayer-servers/apiserver resolved to
/api/api/multiplayer-servers/apiserver. Point the multiplayer-servers API
sidebar at the real paths instead of relying on the client-side
/api-specs/ rewrite, and point the SteelShield nav entry at the section
ordered first.

Add scripts/check-links.mjs, wired into CI and yarn lint, to validate
internal links, anchors, images and sidebar files.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…sections

Getting Started held 17 pages covering registry management, environment
setup, Vessel creation, ArmadaSet creation, termination procedures, a
state reference and a 2,440-word glossary. Nothing about that ordering
told a reader what to do next. The multiplayer-services section was
titled 'Multiplayer Servers', nesting the product name inside itself.

Replace both with sections named for what the reader is doing, in the
order they do it: Get started, Concepts, Container images, Configure,
Deploy, Integrate, Protect, Operate, Administration, API, Migrate. No
section now carries more than ten entries.

Pages move with the images they reference, so relative image links are
unchanged. Absolute links are rewritten site-wide. Published URLs under
/multiplayer-servers/ change and old ones are not redirected.

Also drop four unreferenced screenshots, fix an alt text that named a
different file than the image it labelled, and fix an absolute image path
in game-server-lifecycle.md that resolved to nothing in the built site.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace the unordered getting started pages with a single linear track
that takes a new customer from an empty account to a running game server
they can connect to.

The track is production-honest: it integrates the Agones SDK properly and
enables health checks, rather than teaching shortcuts that contradict the
production requirements page. The quickstart is absorbed into the track
and removed, so there is only one "start here" path.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Clicking into a section previously dropped readers on whatever page
happened to be first, with no explanation of what the section covers or
which page they want. Each section now opens with a short overview that
groups its pages by the job the reader is trying to do.

Also repoints two "SteelShield introduction" links that pointed at the
Unreal Engine plugin introduction rather than the SteelShield one.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…d mitigations

Several resource types the product ships were never documented, and a few
concepts were only ever explained as a click-path. This adds the missing
reference pages, written against the webui and API sources:

- Environments, config files and volumes under Configure
- Roles and the permission model, and billing reports, under Administration
- Mitigations under Protect
- Armadas/ArmadaSets and Formations/Vessels object models under Concepts
- Annotations and labels, including the reserved g8c.io/ keys
- Agones compatibility, so the supported version lives in one place

Splits the old "environments and regions" page into separate Environments
and Regions pages now that each has enough to say, and drops three
screenshot TODO placeholders whose surrounding prose already stands alone.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The Vessel page had grown to interleave a wizard walkthrough with a
configuration reference that applies equally to Armadas, ArmadaSets and
Formations. The reference is now its own page, and the ArmadaSet page
links to it instead of pointing readers into the middle of the Vessel
guide.

Also:
- Explains why Scale to Zero needs two region types before stating the
  requirement, and defines "base capacity".
- Stops the allocation overview re-explaining what an Allocator is, and
  adds a table for choosing between the sidecar and manual integration.
- Settles on "Allocation Sidecar" and "GameFabric Container Registry",
  and uses the UI's own navigation names in step instructions.
- Adds title and description frontmatter to every page, so search
  results and link previews show a real summary.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The section opened with "Overview", which stepped you through setting
everything up, and only then offered "Introduction". Readers naturally
want the introduction first.

Introduction now leads the section and hands off to the track, which is
renamed "Set up your first game server" so its title says what it does
rather than competing with "Introduction" for the same job. The top nav
entry for Multiplayer Servers points at the introduction; the home page
call to action still goes straight to the track.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…der falls into

Walking both reader paths — skim-to-running, and follow-every-link-for-depth —
surfaced a set of claims that do not match the product, and a set of pages that
promise more than they contain.

Factual corrections, each verified against the webui source:

- Region type priority is a 0-based list, not a number you type starting at 1.
- Environment slugs accept lowercase letters and digits, not just letters.
- The Vessel wizard is General, Region, Container Templates & Volumes, and
  Advanced & Protection. There is no separate Volumes step, no Kind step, and
  the last step carries the SteelShield settings. The ArmadaSet wizard is the
  same shape. Both pages and step 6 of the track described an older UI.
- Vessels and Formations mount persistent volumes; Armada volumes are scratch
  space. The three pages that mentioned volumes each said something different.
- The game server wrapper's template-path and output-path descriptions were
  swapped.
- Reading logs needs vessels/log or armadas/log, not gameservers/logs.

Pages that did not do their job:

- Debugging is now organized by symptom, since the track sends readers there at
  the two moments things go wrong. It covers a server that never starts, one
  that restarts in a loop, and a client that cannot connect — the last of which
  it previously said nothing about, despite being the referral target for it.
- Production requirements is now the pre-launch checklist it is described as.
  It covers the health check toggle, resource requests, secrets, protection,
  scaling and monitoring access — every one of which the track defers to it.
- Dashboards described one dashboard while four are referenced elsewhere.
- Programmatic access replaces a three-sentence stub that carried four
  different names across the navigation.

New pages for two holes a reader falls into:

- Formations. One of the two hosting models had no task page, and step 8 sent
  Formation users to the standalone Vessel page.
- Deploying a new build. Nothing explained how to get v1.0.1 onto a running
  deployment, or how to roll it back.

Navigation: concepts now introduces Regions before the objects that are defined
in terms of them, and Matchmaking before the Allocator that exists to serve it.
Deploy groups the two creation paths together ahead of the shared reference.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 31, 2026 15:18
@nrwiersma
Nicholas Wiersma (nrwiersma) requested a review from a team as a code owner July 31, 2026 15:18

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR restructures and re-links a large portion of the documentation site (primarily src/multiplayer-servers/**), adds frontmatter metadata to many pages, introduces new section-level sidebars, and updates CI/tooling to run the repo’s link-checker.

Changes:

  • Reorganizes Multiplayer Servers docs into new top-level sections (Get started, Concepts, Configure, Deploy, Integrate, Operate, Protect, Migrate, Administration, Container images) with new sidebar.json files and many updated internal links.
  • Adds YAML frontmatter (title, description) across many Markdown pages (plus new pages/diagrams/examples).
  • Adds link-checking script wiring (package.json scripts + CI step) and adjusts theme/docs navigation + legacy redirects.

Reviewed changes

Copilot reviewed 145 out of 278 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/steelshield/unreal-engine-plugin/using-the-plugin.md Adds page frontmatter metadata.
src/steelshield/unreal-engine-plugin/tokenprovider.md Adds page frontmatter metadata.
src/steelshield/unreal-engine-plugin/requirements.md Adds page frontmatter metadata.
src/steelshield/unreal-engine-plugin/introduction.md Adds frontmatter and updates Multiplayer Servers doc link.
src/steelshield/unreal-engine-plugin/getting-started.md Adds page frontmatter metadata.
src/steelshield/token-service/managing-token-services.md Adds frontmatter and updates authentication type links.
src/steelshield/token-service/index.md Adds frontmatter and fixes API reference link.
src/steelshield/token-service/authentication-types.md Adds page frontmatter metadata.
src/steelshield/token-service/api-reference.md Adds page frontmatter metadata.
src/steelshield/gamefabric/introduction.md Adds page frontmatter metadata.
src/steelshield/gamefabric/gamefabric.md Adds page frontmatter metadata.
src/multiplayer-servers/protect/sidebar.json Adds new Protect section sidebar.
src/multiplayer-servers/protect/protocols.md Adds frontmatter and updates internal links to new structure.
src/multiplayer-servers/protect/mitigations.md Adds new Mitigations page.
src/multiplayer-servers/protect/index.md Adds new Protect landing page.
src/multiplayer-servers/protect/gateway-policies.md Adds frontmatter and updates SteelShield intro link.
src/multiplayer-servers/production-workloads/sidebar.json Removes old Production workloads sidebar (content restructured).
src/multiplayer-servers/production-workloads/requirements.md Removes old Requirements and best practices page (content restructured).
src/multiplayer-servers/operate/sidebar.json Adds new Operate section sidebar.
src/multiplayer-servers/operate/profiling.md Adds frontmatter metadata.
src/multiplayer-servers/operate/observability-tap.md Adds frontmatter and updates glossary link.
src/multiplayer-servers/operate/monitoring.md Adds frontmatter and updates internal links to new structure.
src/multiplayer-servers/operate/index.md Adds new Operate landing page.
src/multiplayer-servers/operate/game-server-logs.md Adds frontmatter and updates permissions link.
src/multiplayer-servers/operate/dashboards.md Adds new Dashboards page.
src/multiplayer-servers/operate/audit-logs.md Adds frontmatter and updates internal links to new structure.
src/multiplayer-servers/operate/audit-log-exports.md Adds frontmatter and updates permissions link.
src/multiplayer-servers/multiplayer-services/sidebar.json Removes old Multiplayer services sidebar (content restructured).
src/multiplayer-servers/monitoring/sidebar.json Removes old Monitoring sidebar (content restructured into Operate).
src/multiplayer-servers/monitoring/dashboards.md Removes old Monitoring dashboards page (moved/replaced).
src/multiplayer-servers/migrate/sidebar.json Adds new Migrate section sidebar.
src/multiplayer-servers/migrate/index.md Adds new Migrate landing page.
src/multiplayer-servers/integration/your-backend.md Removes old integration page (replaced by Integrate section).
src/multiplayer-servers/integration/sidebar.json Removes old Integration sidebar (replaced by Integrate section).
src/multiplayer-servers/integrate/your-game-server.md Adds frontmatter and updates links to new structure.
src/multiplayer-servers/integrate/terraform.md Adds frontmatter and updates service account links.
src/multiplayer-servers/integrate/sidebar.json Adds new Integrate section sidebar.
src/multiplayer-servers/integrate/server-allocation/overview.md Adds frontmatter and rewrites content/links for new structure.
src/multiplayer-servers/integrate/server-allocation/manually-registering-game-servers.md Adds frontmatter and updates sidecar/Agones links.
src/multiplayer-servers/integrate/server-allocation/integration-examples/images/gamelift/startup.puml Adds new GameLift sequence diagram source.
src/multiplayer-servers/integrate/server-allocation/integration-examples/images/gamelift/startup-ni.puml Adds new Agones equivalent sequence diagram source.
src/multiplayer-servers/integrate/server-allocation/integration-examples/images/gamelift/shutdown.puml Adds new GameLift shutdown sequence diagram source.
src/multiplayer-servers/integrate/server-allocation/integration-examples/images/gamelift/shutdown-ni.puml Adds new Agones shutdown sequence diagram source.
src/multiplayer-servers/integrate/server-allocation/integration-examples/images/gamelift/allocation.puml Adds new GameLift allocation sequence diagram source.
src/multiplayer-servers/integrate/server-allocation/integration-examples/images/gamelift/allocation-ni.puml Adds new GameFabric Allocator allocation sequence diagram source.
src/multiplayer-servers/integrate/server-allocation/integration-examples/images/flexmatch/event-standalone.json Adds new FlexMatch event example JSON.
src/multiplayer-servers/integrate/server-allocation/integration-examples/images/flexmatch/event-managed.json Adds new FlexMatch event example JSON.
src/multiplayer-servers/integrate/server-allocation/integration-examples/images/flexmatch/event-lambda.json Adds new FlexMatch event example JSON.
src/multiplayer-servers/integrate/server-allocation/integration-examples/gamelift.md Adds frontmatter and updates allocation/Agones links.
src/multiplayer-servers/integrate/server-allocation/integration-examples/flexmatch.md Adds frontmatter and updates allocation/hosting-model links.
src/multiplayer-servers/integrate/server-allocation/images/automatically-registering-game-servers/pre-requisites.puml Adds new prereq sequence diagram source.
src/multiplayer-servers/integrate/server-allocation/images/allocating-from-armadas/request-payload.puml Adds new allocation payload flow diagram source.
src/multiplayer-servers/integrate/server-allocation/automatically-registering-game-servers.md Adds frontmatter and updates links/section references.
src/multiplayer-servers/integrate/server-allocation/allocating-from-armadas.md Adds frontmatter and updates allocator API link.
src/multiplayer-servers/integrate/programmatic-access.md Adds new Programmatic access page.
src/multiplayer-servers/integrate/player-count-tracking.md Adds frontmatter metadata.
src/multiplayer-servers/integrate/index.md Adds new Integrate landing page.
src/multiplayer-servers/integrate/images/game-server-lifecycle-flow.txt Adds new lifecycle flow diagram source (Mermaid).
src/multiplayer-servers/integrate/game-server-lifecycle.md Adds frontmatter and updates links + image reference.
src/multiplayer-servers/integrate/agones-compatibility.md Adds new Agones compatibility page.
src/multiplayer-servers/hathora/sidebar.json Removes old Hathora migration sidebar (replaced by Migrate).
src/multiplayer-servers/getting-started/sidebar.json Removes old Getting Started sidebar (replaced by Get started).
src/multiplayer-servers/getting-started/setup-your-environment.md Removes old setup page (replaced by Get started track + Configure refs).
src/multiplayer-servers/getting-started/quickstart.md Removes old quickstart page (replaced by Get started track).
src/multiplayer-servers/getting-started/introduction.md Removes old intro page (replaced by Get started introduction).
src/multiplayer-servers/getting-started/images/armadaset/.gitkeep Keeps directory placeholder (no functional change shown).
src/multiplayer-servers/get-started/sidebar.json Adds new Get started section sidebar.
src/multiplayer-servers/get-started/set-up-your-environment.md Adds new Step 5 page in Get started track.
src/multiplayer-servers/get-started/push-your-image.md Adds new Step 4 page in Get started track.
src/multiplayer-servers/get-started/plan-your-deployment.md Adds new Step 1 page in Get started track.
src/multiplayer-servers/get-started/next-steps.md Adds new Step 8 page in Get started track.
src/multiplayer-servers/get-started/introduction.md Adds new Get started introduction page.
src/multiplayer-servers/get-started/index.md Adds new Get started track landing page.
src/multiplayer-servers/get-started/get-access.md Adds new Step 2 page in Get started track.
src/multiplayer-servers/get-started/connect-and-verify.md Adds new Step 7 page in Get started track.
src/multiplayer-servers/deploy/vessel-states.md Adds frontmatter and updates internal links.
src/multiplayer-servers/deploy/terminating-game-servers.md Adds frontmatter and updates internal links.
src/multiplayer-servers/deploy/terminating-armadasets.md Adds frontmatter and updates internal links.
src/multiplayer-servers/deploy/sidebar.json Adds new Deploy section sidebar.
src/multiplayer-servers/deploy/scaling.md Adds frontmatter and updates internal links.
src/multiplayer-servers/deploy/scale-to-zero.md Adds frontmatter and expands/rewrites explanations + links.
src/multiplayer-servers/deploy/replicas-and-buffer.md Adds frontmatter and updates internal links.
src/multiplayer-servers/deploy/index.md Adds new Deploy landing page.
src/multiplayer-servers/deploy/images/vessel-shutdown-flow.txt Adds new shutdown flow diagram source (Mermaid).
src/multiplayer-servers/deploy/formations.md Adds new Formations page.
src/multiplayer-servers/deploy/deploying-a-new-build.md Adds new Deploying a new build page.
src/multiplayer-servers/container-images/sidebar.json Adds new Container images section sidebar.
src/multiplayer-servers/container-images/pushing-container-images.md Adds frontmatter and updates internal links.
src/multiplayer-servers/container-images/index.md Adds new Container images landing page.
src/multiplayer-servers/container-images/editing-a-branch.md Adds frontmatter metadata.
src/multiplayer-servers/container-images/deleting-container-images.md Adds frontmatter and updates internal links.
src/multiplayer-servers/container-images/building-a-container-image.md Adds frontmatter and updates internal links.
src/multiplayer-servers/configure/volumes.md Adds new Volumes page.
src/multiplayer-servers/configure/sidebar.json Adds new Configure section sidebar.
src/multiplayer-servers/configure/secrets.md Adds frontmatter metadata.
src/multiplayer-servers/configure/resource-management.md Adds frontmatter metadata.
src/multiplayer-servers/configure/regions.md Adds new Regions page.
src/multiplayer-servers/configure/quotas.md Adds frontmatter and updates/rewrites sections + links.
src/multiplayer-servers/configure/index.md Adds new Configure landing page (and frontmatter).
src/multiplayer-servers/configure/gamefabric-cloud.md Adds frontmatter and updates internal links.
src/multiplayer-servers/configure/game-server-wrapper.md Adds frontmatter and updates internal links + table corrections.
src/multiplayer-servers/configure/environments.md Adds new Environments page.
src/multiplayer-servers/configure/config-files.md Adds new Config files page.
src/multiplayer-servers/configure/cloud-provider-setup.md Adds frontmatter and updates internal links.
src/multiplayer-servers/concepts/sidecars.md Adds frontmatter and updates internal links + adds “Where to go next”.
src/multiplayer-servers/concepts/sidebar.json Adds new Concepts section sidebar.
src/multiplayer-servers/concepts/scheduling-strategy.md Adds frontmatter metadata.
src/multiplayer-servers/concepts/regions-sites-and-locations.md Adds frontmatter and updates internal links + adds “Where to go next”.
src/multiplayer-servers/concepts/ping-services.md Adds frontmatter and updates internal links + adds “Where to go next”.
src/multiplayer-servers/concepts/matchmaking.md Adds frontmatter and updates internal links to new structure.
src/multiplayer-servers/concepts/index.md Adds new Concepts landing page.
src/multiplayer-servers/concepts/hosting-models.md Adds frontmatter and updates internal links + adds “Where to go next”.
src/multiplayer-servers/concepts/formations.md Adds new Formations and Vessels concept page.
src/multiplayer-servers/concepts/capacity-types.md Adds frontmatter and updates internal links + adds “Where to go next”.
src/multiplayer-servers/concepts/armadas.md Adds new Armadas and ArmadaSets concept page.
src/multiplayer-servers/concepts/annotations.md Adds new Annotations and labels concept page.
src/multiplayer-servers/concepts/allocators.md Adds frontmatter and updates internal links + adds “Where to go next”.
src/multiplayer-servers/billing/sidebar.json Removes old Billing sidebar (replaced by Administration).
src/multiplayer-servers/authentication/sidebar.json Removes old Authentication sidebar (replaced by Administration).
src/multiplayer-servers/architecture/sidebar.json Removes old Architecture sidebar (replaced by Concepts).
src/multiplayer-servers/api/sidebar.json Updates API sidebar ordering and API spec links + adds Overview link.
src/multiplayer-servers/api/index.md Adds new API landing page.
src/multiplayer-servers/api/guide.md Adds frontmatter and updates Terraform link.
src/multiplayer-servers/api/examples.md Adds frontmatter and updates links to new structure.
src/multiplayer-servers/administration/sidebar.json Adds new Administration section sidebar.
src/multiplayer-servers/administration/service-accounts.md Adds frontmatter and updates container images link.
src/multiplayer-servers/administration/permissions.md Adds frontmatter and updates internal links.
src/multiplayer-servers/administration/oidc-providers.md Adds frontmatter and updates internal links.
src/multiplayer-servers/administration/index.md Adds new Administration landing page.
src/multiplayer-servers/administration/getting-access.md Adds frontmatter and updates internal links.
src/multiplayer-servers/administration/cloud-budget.md Adds frontmatter and updates internal links.
src/multiplayer-servers/administration/billing-reports.md Adds new Billing reports page.
src/api/sidebar.json Updates API sidebar links to rely on sidebar link rewriting.
package.json Adds lint / lint:links scripts for link checking.
AGENTS.md Updates contributor guidance to reflect link checking + sidebar rewrite behavior.
.vitepress/theme/Layout.vue Adds comment clarifying legacy redirect purpose.
.vitepress/theme/data/homeShowcase.ts Updates homepage “Get started” cards to new routes.
.vitepress/theme/components/HomeHero.vue Updates homepage CTA to new Get started route.
.vitepress/config.js Updates top nav links to new Multiplayer Servers/SteelShield entry points.
.github/workflows/main.yml Adds “Check links” step to CI before docs build.
Suppressed comments (7)

src/multiplayer-servers/operate/audit-logs.md:3

  • Frontmatter description is truncated with an ellipsis, which makes the page metadata look unfinished in previews/search results. Replace it with the full sentence from the intro paragraph.
    src/multiplayer-servers/operate/observability-tap.md:3
  • Frontmatter description is truncated with an ellipsis. Use a complete sentence so the page metadata is not cut off.
    src/multiplayer-servers/protect/gateway-policies.md:3
  • Frontmatter description ends with an ellipsis, which reads like an unfinished sentence in page metadata. Replace it with a complete, concise summary.
    src/multiplayer-servers/configure/game-server-wrapper.md:3
  • Frontmatter description is truncated with an ellipsis. Replace it with a complete sentence to avoid incomplete metadata.
    src/multiplayer-servers/administration/oidc-providers.md:3
  • Frontmatter description is truncated with an ellipsis. Use a complete sentence so the metadata matches the (complete) intro paragraph.
    src/multiplayer-servers/integrate/server-allocation/integration-examples/gamelift.md:3
  • Frontmatter description is truncated with an ellipsis. Replace it with a complete sentence so the page metadata is not cut off.
    src/multiplayer-servers/integrate/server-allocation/integration-examples/flexmatch.md:3
  • Frontmatter description is truncated with an ellipsis. Replace it with a complete sentence so metadata previews are not cut off.

Comment thread src/multiplayer-servers/configure/index.md Outdated
@nrwiersma Nicholas Wiersma (nrwiersma) changed the title Docs/cleanup restructure feat: restructure documentation Aug 3, 2026
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings August 3, 2026 06:04

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 145 out of 278 changed files in this pull request and generated no new comments.

Suppressed comments (9)

src/multiplayer-servers/protect/gateway-policies.md:4

  • The page description in frontmatter ends with an ellipsis, which looks like truncated text and reduces clarity in page metadata/search results. Use a complete sentence without "...".
    src/multiplayer-servers/operate/observability-tap.md:4
  • The page description in frontmatter is truncated (ends with "..."). Replace it with a complete description so page metadata is clear.
    src/multiplayer-servers/configure/game-server-wrapper.md:4
  • The page description in frontmatter is truncated (ends with "..."). Replace it with a complete summary of what the wrapper is used for.
    src/multiplayer-servers/administration/oidc-providers.md:4
  • The page description in frontmatter is truncated (ends with "..."). Use a complete description so the page metadata is readable.
    src/multiplayer-servers/operate/audit-logs.md:4
  • The page description in frontmatter is truncated (ends with "..."). Use a complete sentence so page metadata is accurate.
    src/multiplayer-servers/integrate/server-allocation/integration-examples/gamelift.md:4
  • The page description in frontmatter is truncated (ends with "..."). Use a complete description so the page metadata reads cleanly.
    src/multiplayer-servers/integrate/server-allocation/integration-examples/flexmatch.md:4
  • The page description in frontmatter is truncated (ends with "..."). Replace it with a complete description so the page metadata is clear.
    src/multiplayer-servers/operate/observability-tap.md:12
  • This sentence contains an empty bold/italic placeholder ("******") instead of the actual credential name, so readers don't know what they need to authenticate. Replace it with explicit text (for example, "Bearer token").
    src/steelshield/token-service/managing-token-services.md:49
  • The authentication-method list mixes cross-page links (Custom/Generated Keys) with same-page anchor links (EOS/JWKS). Since all methods are documented on the Authentication Types page, link all items consistently to that page to avoid confusion.

Comment on lines +32 to +35
Cores used is the metric worth watching. It is driven by the CPU **requests** you set on your
Armadas and Vessels, not by what your servers actually consume, so oversized requests cost real
money. See [Resource management](/multiplayer-servers/configure/resource-management) for how to
size them from measured usage.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pretty sure this is not true. Pretty sure it comes from the nodes you have running.


### Cloud fees

Charged on usage of GameFabric Cloud and bring your own cloud capacity, grouped by location.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Charged on usage of GameFabric Cloud and bring your own cloud capacity, grouped by location.
Charged on usage of GameFabric Cloud, grouped by location.


| Field | Meaning |
|---|---|
| `verbs` | The actions allowed, such as `get`, `list`, `create`, `update`, `patch`, `delete`. |

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `verbs` | The actions allowed, such as `get`, `list`, `create`, `update`, `patch`, `delete`. |
| `verbs` | The actions allowed, such as `get`, `post`, `put`, `patch`, `delete`. |

Comment on lines +24 to +25
must not be stored or logged in plain text goes in a secret. Secrets are also capped at 1 MB of
data, where config files have no fixed limit.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
must not be stored or logged in plain text goes in a secret. Secrets are also capped at 1 MB of
data, where config files have no fixed limit.
must not be stored or logged in plain text goes in a secret.

Comment on lines +58 to +65
::: warning Edits propagate to running game servers
Saving a change updates the file in every container that references it, without a redeploy. A game
server that only reads its configuration at startup keeps running with the old values until it
restarts. A game server that re-reads the file picks up the change immediately, possibly
mid-session.

Know which of the two your server does before editing a config file in a live environment.
:::

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this true?


| Type name | Priority | Locations |
|---|---|---|
| `metal` | 0 | Bare metal locations in the region |

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `metal` | 0 | Bare metal locations in the region |
| `baremetal` | 0 | Bare metal locations in the region |

GameFabric replaces the servers rather than modifying them:

1. A new revision of the deployment is recorded.
2. Running game servers receive a shutdown hint with the reason `SpecChange`.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
2. Running game servers receive a shutdown hint with the reason `SpecChange`.
2. Allocated vessel game servers receive a shutdown hint with the reason `SpecChange`. Running game servers are restarted.

Comment on lines +80 to +81
- Bare metal and GameFabric Cloud need no setup from you. Your Nitrado contact provisions the
locations, and they appear when you create a region in step 5.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not correct, or will not be correct for long. Not sure if we need to address this now though.


| Type name | Priority | Locations |
|---|---|---|
| `metal` | 0 | Bare metal locations in the region |

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `metal` | 0 | Bare metal locations in the region |
| `baremetal` | 0 | Bare metal locations in the region |

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few changes, but overall very good PR. Do you think you could spend a few extra credits to ask Copilot to turn this one PR into a Stacked Pull Request ? IMO would make it much easier to follow up, and to allow specific people to review specific parts of the code. For example now even though theres 1 commit for the protection part and I could tell steelshield people to take a look at it, once we start addressing comments that might become more complex to follow. WDYT?

<p class="home-sub">Game server orchestration and management. Everything you need to run multiplayer infrastructure at launch scale and beyond.</p>
<div class="home-ctas">
<a class="btn btn-y" :href="withBase('/multiplayer-servers/getting-started/introduction')">Get Started →</a>
<a class="btn btn-y" :href="withBase('/multiplayer-servers/get-started/')">Get Started →</a>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didnt even know we had hardcoded HTML contents, thats a recipe for disaster imo since we're bound to change our structure/page names and forget to update it here again in the future. WDYT Chris (@0x0dr1y) ? Any way we can avoid this/make it generically use the page names from our theme?

@icedream Carl Kittelberger (icedream) Aug 4, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's no system for dynamically generating the home hero page as far as I can see, so doing it via the Vue template system with this HTML seems to be the only way unless someone builds such a system for Vue?

link: '/multiplayer-servers/getting-started/quickstart',
linkText: 'Get started',
title: 'Get started',
description: 'A guided track that takes you from an empty account to a running game server you can connect to: plan, containerize, push, deploy, verify.',

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: 'A guided track that takes you from an empty account to a running game server you can connect to: plan, containerize, push, deploy, verify.',
description: 'A guided track that takes you from an empty account to a running game server you can connect to',

IMO the last part is superfluous and sounds bullshitty to me, I dont like it

Comment thread scripts/check-links.mjs

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea 👍 No idea if the implementation is the best/simplest form of link checking, seems like a lot of logic for what it actually does.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn't the build already validate for dead links?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought so but since this PR fixes a lot of links, I assume not?

Comment on lines +39 to +40
Charged the same way, on the cores running protected game servers. Present only if SteelShield is
part of your contract.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This implies customers read the previous section since we say "the same way". Same as what? Should be clear without additional context needed. If I want info specifically on the Steelshield Fee, i should be able to come to this section and get a response without having to scroll up or down looking for the answer in another section.

Comment on lines +47 to +49
These are committed costs. They do not vary with how much you use the machines, which is exactly
why bare metal is the cheaper option for steady load and the more expensive one for capacity you
rarely use.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
These are committed costs. They do not vary with how much you use the machines, which is exactly
why bare metal is the cheaper option for steady load and the more expensive one for capacity you
rarely use.
These are committed costs. They do not vary with how much you use the machines, which is
why bare metal is the cheaper option for steady load and the more expensive one for capacity you
rarely use.

"exactly" here is the ai's signature, human tech writers would not do this imo.


## Protect your servers

SteelShield filters traffic before it reaches your game servers.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could make sense to at least mention the word DDoS here or customers might not immediately see the point of filtering traffic

Comment on lines +14 to +16
| Component | Version |
|---|---|
| Agones | 1.58.0 |

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the point of having this as a table


| Dashboard | Use it to |
|---|---|
| Running Gameservers | See every running game server, and drill into one by selecting its pod name. |

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Drill into one?? 🤔

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess as in "go deeper" (information-wise).

Also "drill" seems to be a pretty popular word for modern AI models to use. 😁

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing doc

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doc should mention the word DDoS

Comment thread src/api/sidebar.json
{
"text": "Multiplayer Servers: API Server",
"link": "/api/multiplayer-servers/apiserver"
"link": "/multiplayer-servers/apiserver"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If API things were linked somewhere externally this would now break these links if no redirect is set up for these.

Comment thread src/api/sidebar.json

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does it even make sense keeping this sidebar.json in /src/api/ when it points to just things outside /api/?

{
"text": "Allocation: Registry ⤴",
"link": "/api-specs/allocation-registry",
"link": "/api/multiplayer-servers/allocation-registry",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In /src/api/sidebar.json this was changed to /multiplayer-servers/allocation-registry, here it is /api/multiplayer-servers/allocation-registry, inconsistency?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants