From f07b09533180f6b5f70dd3905f615c6a93c253ca Mon Sep 17 00:00:00 2001
From: Nathan Flurry <developer@nathanflurry.com>
Date: Wed, 11 Sep 2024 14:12:42 -0700
Subject: [PATCH] Update README.md

---
 README.md | 256 ++++++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 209 insertions(+), 47 deletions(-)

diff --git a/README.md b/README.md
index 4513bcba0c..e3d2054a08 100644
--- a/README.md
+++ b/README.md
@@ -1,82 +1,244 @@
 <p align="center">
   <picture>
-      <img src="https://github.com/NathanFlurry/ass/raw/main/media/icon.png" alt="Rivet">
+      <source media="(prefers-color-scheme: dark)" srcset="./media/icon-text-white.svg" alt="Rivet">
+      <img src="./media/icon-text-black.svg" alt="Rivet">
   </picture>
 </p>
 
 <p align="center">
-  <a href="https://github.com/NathanFlurry/ass"><img alt="License: THICC-2.0" src="https://img.shields.io/badge/license-THICC--2.0-blue?style=flat-square"></a>
-  <a href="https://github.com/NathanFlurry/ass"><img alt="GitHub commit activity" src="https://img.shields.io/badge/commits-thicc-green?style=flat-square"/></a>
-  <a href="https://github.com/NathanFlurry/ass/issues"><img alt="GitHub closed issues" src="https://img.shields.io/badge/issues-clenched-red?style=flat-square"/></a>
-  <a href="https://rivet.gg/discord"><img alt="Discord" src="https://img.shields.io/badge/discord-dummy__thicc-purple?style=flat-square"/></a>
+  <a href="/docs/philosophy/LICENSING.md"><img alt="License Apache-2.0" src="https://img.shields.io/github/license/rivet-gg/rivet?style=flat-square"></a>
+  <a href="https://github.com/rivet-gg/rivet/graphs/commit-activity"><img alt="GitHub commit activity" src="https://img.shields.io/github/commit-activity/m/rivet-gg/rivet?style=flat-square"/></a>
+  <a href="https://github.com/rivet-gg/rivet/issues"><img alt="GitHub closed issues" src="https://img.shields.io/github/issues-closed/rivet-gg/rivet?style=flat-square"/></a>
+  <a href="https://rivet.gg/discord"><img alt="GitHub closed issues" src="https://img.shields.io/discord/822914074136018994?style=flat-square&label=discord"/></a>
 </p>
 
-## 🍑 Features
+## Features
 
-### 🎮 Dummy Thicc Dedicated Game Servers
+### 🎮 Dedicated Game Servers
 
-Deploy game servers faster than you can say "ASS":
+Deploy game servers in minutes across multiple regions & clouds providers.
 
-- Optimize for booty or bounty, servers starting at $6.9/mo for 4.20 servers
-- Auto-scales 69% faster than AWS GameLift (because we said so)
-- No-downtime deploys & instant twerk-backs
-- Monitoring & crash reporting (we've got your back[side])
+- Optimize for performance or cost, servers
+  <Tooltip tip="Shared CPU core similar to VPS providers, see pricing page for details">starting at $9/mo for
+  6 servers</Tooltip>
+- Auto-scales 90% faster than AWS GameLift
+- No-downtime deploys & instant rollbacks
+- Monitoring & crash reporting
 
-### 🛡️ DDoASS Mitigation
+[Documentation](https://rivet.gg/docs/dynamic-servers)
 
-- No added jiggle
-- Supports UDP & TCP & WebSockets & WebRTC (all dat ASS)
-- Automatic SSL for game servers (because security is sexy)
+### 🛡️ DDoS Mitigation
 
-### 🌐 Content Delivery Network (CDN)
+- No added latency
+- Supports UDP & TCP & WebSockets & WebRTC
+- Automatic SSL for game servers (WebSockets & TCP+TLS)
 
-Asset delivery, game downloads, & website hosting:
+[Documentation](https://rivet.gg/docs/dynamic-servers/concepts/game-guard)
 
-- Custom domains (make dat ASS yours)
-- Instant twerk-backs
-- Automatic SSL (Safe Sensual Layer)
+### 🌐 CDN
+
+Asset delivery, game downloads, & website hosting
+
+- Custom domains
+- Instant rollbacks
+- Automatic SSL
+
+[Documentation](https://rivet.gg/docs/cdn)
 
 ### 🧩 Backend Modules
 
-Write server-side logic using THICC++ (or use your own API server):
+Write server-side logic using TypeScript (or use your own API server)
 
 - Modules include matchmaking, parties, authentication, & more
-- Postgres database included for persistence (because real databases are overrated)
-- Combine existing open-source modules - Open dat ASS up
+- Postgres database included for persistence
+- Powered by <a href="https://github.com/rivet-gg/opengb">Open Game Backend</a>
 
-## 🚫 What ASS is NOT
-
-- Not Kubernetes (because who needs that many syllables?)
-- Not written in fake languages like "Go" or "Java" (we use REAL languages like THICC++ and ASSembly)
-- Not a joke (okay, maybe a little)
-- Not your grandma's server solution (unless your grandma is really cool)
-- Not afraid of a little junk in the trunk (our servers are dummy thicc)
+[Documentation](https://opengb.dev/)
 
 ## 🚙 Supported Game Engines
 
-| Engine        |
-|---------------|
-| Godot         |
-| Unity         |
-| Unreal Engine |
-| HTML5 & JS    |
-| Rust          |
-| Other         |
+| Engine             | Plugin                                                                                 | Crash Course                           | Example Projects                                                                         |
+| ------------------ | -------------------------------------------------------------------------------------- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
+| Godot              | [rivet-gg/plugin-godot](https://github.com/rivet-gg/plugin-godot)                      | [Learn](https://rivet.gg/learn/godot)  | [Examples](https://github.com/rivet-gg/examples/tree/main?tab=readme-ov-file#godot)      |
+| Unity              | [rivet-gg/plugin-unity](https://github.com/rivet-gg/plugin-unity)                      | [Learn](https://rivet.gg/learn/unity)  | [Examples](https://github.com/rivet-gg/examples/tree/main?tab=readme-ov-file#unity)      |
+| Unreal Engine      | [rivet-gg/plugin-unreal](https://github.com/rivet-gg/plugin-unreal)                    | [Learn](https://rivet.gg/learn/unreal) | _WIP_                                                                                    |
+| HTML5 & JavaScript | [@rivet-gg/api](https://github.com/rivet-gg/rivet/tree/main/sdks/runtime/typescript)   | [Learn](https://rivet.gg/learn/html5)  | [Examples](https://github.com/rivet-gg/examples/tree/main?tab=readme-ov-file#javascript) |
+| Rust               | [rivet-api](https://github.com/rivet-gg/rivet/tree/main/sdks/runtime/rust)             | [Learn](https://rivet.gg/learn/custom) | [Examples](https://github.com/rivet-gg/examples?tab=readme-ov-file#other)                |
+| Go                 | [Source](https://github.com/rivet-gg/rivet/tree/main/sdks/runtime/go)                  | [Learn](https://rivet.gg/learn/custom) | [Examples](https://github.com/rivet-gg/examples?tab=readme-ov-file#other)                |
+| Other              | [Source](https://github.com/rivet-gg/rivet/blob/main/sdks/runtime/openapi/openapi.yml) | [Learn](https://rivet.gg/learn/custom) | [Examples](https://github.com/rivet-gg/examples?tab=readme-ov-file#other)                |
 
 ## 🚀 Getting Started
 
-1. Clone dat ASS
-2. Shake it
-3. Deploy it
+**Self-hosting & development**
 
-## 📐 Architecture
+See the [setup guide](/docs/getting_started/DEVELOPMENT.md) to develop & deploy Rivet yourself.
+
+**Rivet Cloud**
+
+[Rivet Cloud](https://rivet.gg) is the fastest and most affordable way to get your game up and running. Sign
+up at [rivet.gg](https://rivet.gg).
+
+## 💬 Community & Support
+
+**Discord**
+
+[Invite](https://rivet.gg/discord)
 
-Our architecture is THICC. Trust us, you'll really want to dive right in.
+- **Lounge** The Rivet team is remote and does most of their work in public Discord voice chat. Come drop by
+  if you have questions or want to hang!
+- **#support** Ask questions about getting your game runnin on Rivet
+- **#open-source-dev** Ask questions about the open source repo
+- **#showcase** Show off your game, get feedback
+
+**Releases**
+
+Stay up to date on the latest releases on [X](https://x.com/rivet_gg).
+
+Technical release notes can be subscribed to by watcing this repository.
+
+**Bugs & Feature Requests**
+
+Bugs and feature requests can be submitted as a GitHub Issue.
+
+**Roadmap**
+
+We create public issues for most items on our roadmpa.
+
+Subscribe to issues to get notified when they're updated. Add a 👍 reaction to issues to get them prioritized
+faster
+
+## 📐 Architecture
 
-![Architecture](https://github.com/NathanFlurry/ass/raw/main/media/architecture.png)
+We maintain a detailed architecture diagram
+[here](https://www.figma.com/file/GvCj77EG79NUoW1dRG4qkg/Architecture?type=whiteboard&node-id=0%3A1&t=WqMQ2r6avjM0jPK0-1).
+
+![Architecture](./media/architecture.png)
+
+## 📖 Documentation
+
+### Game developers
+
+Visit our documentation for game developers [here](https://rivet.gg/docs).
+
+### Internal documentation
+
+<!--
+
+GPT prompt:
+
+Convert this to a markdown list with indents with links to the document and a human readable name:
+
+$(tree docs/)
+
+-->
+
+- [About](docs/about)
+  - [Telemetry](docs/about/TELEMETRY.md)
+- [Getting Started](docs/getting_started)
+  - [Debugging](docs/getting_started/DEBUGGING.md)
+  - [Development Firewalls](docs/getting_started/DEVELOPMENT_FIREWALLS.md)
+  - [Development](docs/getting_started/DEVELOPMENT.md)
+  - [Project Structure](docs/getting_started/PROJECT_STRUCTURE.md)
+  - [Rust Analyzer](docs/getting_started/RUST_ANALYZER.md)
+  - [Services](docs/getting_started/SERVICES.md)
+- [Infrastructure](docs/infrastructure)
+  - [Alertmanager](docs/infrastructure/alertmanager/TESTING_ALERTS.md)
+  - [ClickHouse](docs/infrastructure/clickhouse)
+    - [Readme](docs/infrastructure/clickhouse/README.md)
+    - [Troubleshooting](docs/infrastructure/clickhouse/TROUBLESHOOTING.md)
+    - [Why ClickHouse](docs/infrastructure/clickhouse/WHY_CLICKHOUSE.md)
+  - [Cockroach](docs/infrastructure/cockroach)
+    - [Readme](docs/infrastructure/cockroach/README.md)
+    - [Why Cockroach](docs/infrastructure/cockroach/WHY_COCKRAOCH.md)
+  - [Helm](docs/infrastructure/helm/TROUBLESHOOTING.md)
+  - [Imagor](docs/infrastructure/imagor/MEDIA_DELIVERY_AND_RESIZING.md)
+  - [K3d](docs/infrastructure/k3d/TROUBLESHOOTING.md)
+  - [K8s](docs/infrastructure/k8s)
+    - [Tips](docs/infrastructure/k8s/TIPS.md)
+    - [Troubleshooting](docs/infrastructure/k8s/TROUBLESHOOTING.md)
+  - [Minio](docs/infrastructure/minio/TROUBLESHOOTING.md)
+  - [Nats](docs/infrastructure/nats/TROUBLESHOOTING.md)
+  - [Networking](docs/infrastructure/networking)
+    - [Edge Cluster Networking](docs/infrastructure/networking/EDGE_CLUSTER_NETWORKING.md)
+    - [IP Ranges](docs/infrastructure/networking/IP_RANGES.md)
+    - [IPv6](docs/infrastructure/networking/IPV6.md)
+  - [Nix](docs/infrastructure/nix)
+    - [Lorri](docs/infrastructure/nix/LORRI.md)
+    - [Readme](docs/infrastructure/nix/README.md)
+  - [Nomad](docs/infrastructure/nomad/README.md)
+  - [Prometheus](docs/infrastructure/prometheus/README.md)
+  - [Protobuf](docs/infrastructure/protobuf/TIMESTAMPS.md)
+  - [Redis](docs/infrastructure/redis)
+    - [Hosting Providers](docs/infrastructure/redis/HOSTING_PROVIDERS.md)
+    - [Readme](docs/infrastructure/redis/README.md)
+    - [Sharding](docs/infrastructure/redis/SHARDING.md)
+    - [Tips](docs/infrastructure/redis/TIPS.md)
+    - [Troubleshooting](docs/infrastructure/redis/TROUBLESHOOTING.md)
+    - [Why Redis](docs/infrastructure/redis/WHY_REDIS.md)
+  - [Rust](docs/infrastructure/rust/TROUBLESHOOTING.md)
+  - [S3](docs/infrastructure/s3/TROUBLESHOOTING.md)
+  - [SBOM](docs/infrastructure/SBOM.md)
+  - [Terraform](docs/infrastructure/terraform)
+    - [Configs and Secrets](docs/infrastructure/terraform/CONFIGS_AND_SECRETS.md)
+    - [Readme](docs/infrastructure/terraform/README.md)
+    - [Troubleshooting](docs/infrastructure/terraform/TROUBLESHOOTING.md)
+  - [Timeouts](docs/infrastructure/TIMEOUTS.md)
+  - [Traefik](docs/infrastructure/traefik)
+    - [Ing Job Sizing Methodology](docs/infrastructure/traefik/ING_JOB_SIZING_METHODOLOGY.md)
+    - [Readme](docs/infrastructure/traefik/README.md)
+    - [Router Priorities](docs/infrastructure/traefik/ROUTER_PRIORITIES.md)
+  - [Traffic Server](docs/infrastructure/traffic_server)
+    - [Readme](docs/infrastructure/traffic_server/README.md)
+    - [Why Traffic Server](docs/infrastructure/traffic_server/WHY_TRAFFIC_SERVER.md)
+- [Libraries](docs/libraries)
+  - [Bolt](docs/libraries/bolt)
+    - [Buggy Cache Purging](docs/libraries/bolt/BUGGY_CACHE_PURGING.md)
+    - [Config](docs/libraries/bolt/config)
+      - [Cloudflare](docs/libraries/bolt/config/CLOUDFLARE.md)
+      - [DNS](docs/libraries/bolt/config/DNS.md)
+      - [Linode](docs/libraries/bolt/config/LINODE.md)
+      - [Namespace](docs/libraries/bolt/config/NAMESPACE.md)
+      - [Sendgrid](docs/libraries/bolt/config/SENDGRID.md)
+    - [Debugging Services](docs/libraries/bolt/DEBUGGING_SERVICES.md)
+    - [Feature Flagging](docs/libraries/bolt/FEATURE_FLAGGING.md)
+    - [Readme](docs/libraries/bolt/README.md)
+    - [Regions](docs/libraries/bolt/REGIONS.md)
+  - [Chirp](docs/libraries/chirp)
+    - [Error Handling](docs/libraries/chirp/ERROR_HANDLING.md)
+    - [Glossary](docs/libraries/chirp/GLOSSARY.md)
+    - [Readme](docs/libraries/chirp/README.md)
+  - [Claims](docs/libraries/claims/JWT.md)
+- [Packages](docs/packages)
+  - [Api-Auth](docs/packages/api-auth/HUB_AUTH.md)
+  - [Cluster](docs/packages/cluster)
+    - [Autoscaling](docs/packages/cluster/AUTOSCALING.md)
+    - [Server Provisioning](docs/packages/cluster/SERVER_PROVISIONING.md)
+    - [TLS and DNS](docs/packages/cluster/TLS_AND_DNS.md)
+  - [Job](docs/packages/job/DOCKER_IMAGE_DELIVERY.md)
+  - [Mm](docs/packages/mm/IDLE_LOBBIES.md)
+  - [Upload](docs/packages/upload/UPLOADS.md)
+- [Philosophy](docs/philosophy)
+  - [Infra as Code](docs/philosophy/INFRA_AS_CODE.md)
+  - [Licensing](docs/philosophy/LICENSING.md)
+  - [Why Open Source](docs/philosophy/WHY_OPEN_SOURCE.md)
+- [Processes](docs/processes)
+  - [Changelog](docs/processes/CHANGELOG.md)
+  - [Deploy Process](docs/processes/DEPLOY_PROCESS.md)
+  - [Making Changes](docs/processes/MAKING_CHANGES.md)
+  - [Project Management](docs/processes/PROJECT_MANAGEMENT.md)
+  - [Pull Requests](docs/processes/PULL_REQUESTS.md)
+  - [Refactoring](docs/processes/REFACTORING.md)
+  - [Releasing](docs/processes/RELEASING.md)
+  - [Versioning](docs/processes/VERSIONING.md)
+
+<!--
+## We're hiring!
+
+We're a team of scrappy engineers willing to get our hands dirty with everything from Linux internals, niche game engines, designs that don't look like [this](https://www.linears.art/), and god-tier developer experiences. If you prefer reading the source instead of documentation, love hacking on games in your free time, and have a healthy dose of anarchy in you, come [join us!](https://rivet-gg.notion.site/Job-Board-eed66f2eab2b4d7ea3e21ccd63b22efe?pvs=4)
+-->
 
 ## License
 
-THICC-2.0 (Totally Hilarious Intentionally Comedic Copyleft)
+Apache 2.0
 
-_In ASS we trust, all others pay cash_
+_Trust no-one, own your backend_