Managed game servers, matchmaking, and DDoS mitigation that lets you focus on building your game

Overview

rivet_logo

Managed game servers, matchmaking, and DDoS mitigation that lets you focus on building your game.

License Apache-2.0 Calendar versioning PRs Welcome GitHub commit activity GitHub closed issues

Home - Docs - Twitter - Discord

👾 Features

  • Everything is accessible from an easy to use GUI, CLI, or API
  • Serverless Lobbies for auto-scaling game lobbies
  • Flexible matchmaker for placing players in lobbies with no wait times
  • CDN for hosting assets and webpages with a custom domain or provided rivet.game subdomain
  • Game Guard for DDoS mitigation and managed WebSocket SSL, TCP+TLS, and UDP
  • Streamlined DevOps for teams
  • Unified logging & monitoring & analytics
  • No downtime deploys with easy rollbacks

rivet_screenshot

🚀 Getting Started

Rivet Cloud

Rivet Cloud is the fastest way to get your game up and running. Sign up at rivet.gg and get a free game server.

Self-hosting

See the setup guide to develop & deploy Rivet yourself.

📐 Architecture

Below is a simplified architecture diagram of a Rivet cluster.

Architecture

📖 Documentation Overview

Looking for documentation on building a game with Rivet?

Visit our documentation for game developers!

Getting Started

Philosophy

Architecture

About

Comments
  • [SVC-2583] Investigate best way to boot hub for development

    [SVC-2583] Investigate best way to boot hub for development

    Requirements

    • Make getting backend & hub up and running as quickly as possible
    • Allow running hub independently without the backend

    Options

    • What we do now: run webpack for the other repo and manually set BASE_URL
    • Automatically deploy to Cloudflare Pages from backend Terraform
    • Serve the repo through Traefik with a local-built copy
    • Serve the repo through Traefik with a webpack hot reload server

    Other notes

    • Need to find a simple way to merge hub_origin_regex and hub_origin

    From SyncLinear.com | SVC-2583

    hub investigate 
    opened by NathanFlurry 1
  • [SVC-2619] SQLx pool leaks connections sporadicatlly

    [SVC-2619] SQLx pool leaks connections sporadicatlly

    Symptoms

    Around once per month, SQLx will leak connections and stop being able to make new requests.

    Grafana snapshot

    The following services are affected:

    • job-run-cleanup
    • job-run-nomad-monitor-eval-update
    • job-run-nomad-monitor-alloc-plan
    • job-run-nomad-monitor-alloc-update

    Workaround

    • Manually restart the allocations of the affected jobs once per day

    From SyncLinear.com | SVC-2619

    bug job High priority 
    opened by NathanFlurry 0
  • [SVC-2590] Write standalone production setup guide

    [SVC-2590] Write standalone production setup guide

    Motivation

    We need to document how to deploy a production instance of Rivet for self-hosted. At the moment, we only document how to set up a dev server.

    Questions

    • Should we document just standalone servers or clusters too?
    • How much does this differ from local development?
    • Should we look at using prebuilt images?

    From SyncLinear.com | SVC-2590

    documentation Medium priority 
    opened by NathanFlurry 0
  • [SVC-2589] Add ability to BYO job server without using Terraform

    [SVC-2589] Add ability to BYO job server without using Terraform

    Motivation

    It's common for developers to either bring in custom hardware, non-standard hardware (e.g. OVH's non-standard configurations), or use on-prem hardware.

    MVP

    • Create an install script to run on the machine
    • Add a way in the namespace config to register the machine

    Challenges

    • Issuing Nebula certs
    • Negotiating salt-key approval

    From SyncLinear.com | SVC-2589

    enhancement infrastructure Low priority 
    opened by NathanFlurry 0
  • [SVC-2478] Speed up creating standalone server

    [SVC-2478] Speed up creating standalone server

    We need to analyze what chunks take up the most time.

    Off the top of my head, the big ticket items:

    • Generating Nix config
    • Building bolt
    • Building services

    We should be able to use tools like Flax or Cachix for Nix & sscache for Bolt & services. Potentially Cachix can solve the Bolt issue too if we build it with the shell.

    From SyncLinear.com | SVC-2478

    maintenance infrastructure bolt 
    opened by NathanFlurry 0
A Rust framework for building Minecraft servers.

A Rust framework for building Minecraft: Java Edition servers. Like feather, Valence is an effort to build a Minecraft compatible server completely fr

Valence 1.4k Dec 30, 2022
Plotting library for the Bevy game engine with a focus on esthetics and interactivity

Plotting library for the Bevy game engine with a focus on esthetics and interactivity. It can handle both data points (see the "minimal", "markers", a

Eli 40 Dec 25, 2022
Combine simple building blocks to create smooth cameras: first-person, chase, orbit, look-at, you name it!

?? dolly Combine simple building blocks to create smooth cameras: first-person, chase, orbit, look-at, you name it! Camera rigs made with dolly are en

Tomasz Stachowiak 284 Dec 26, 2022
This is an online game in which you program your character and he fights with other players

Game for programmers The goal of this project is to create a simple game for programmers. The essence of the game Each player has his own character th

Danila 1 Dec 10, 2021
A puzzle game where you eat your own tail to win!

taileater taileater is a puzzle game available for free here: https://szunami.itch.io/taileater This project is built using Rust and Bevy. Assets were

null 25 Dec 20, 2022
You have been an apprentice to a powerful sorcerer for as long as you can remember.

You have been an apprentice to a powerful sorcerer for as long as you can remember. However you dream of becoming a rancher, raising animals in your own pen.

null 3 Jun 22, 2022
Random utility stuff for bevy for my personal use. You're welcome to use it, too, if you like.

bevy_cleancut Random utility stuff for bevy for my personal use. You're welcome to use it, too, if you like. Stuff It's all in the prelude: use bevy_c

Nathan Stocks 3 Aug 15, 2024
Solana Game Server is a decentralized game server running on Solana, designed for game developers

Solana Game Server* is the first decentralized Game Server (aka web3 game server) designed for game devs. (Think web3 SDK for game developers as a ser

Tardigrade Life Sciences, Inc 16 Dec 1, 2022
This tool allows you to open one or more notebooks in Visual Studio and go hog wild exploring your systems in Bevy.

Bevyrly Bevy is rly useful, but requires some hygiene! Pronounced as /ˈbɛvə(ɹ)li/, derives from Old English, combining befer ("beaver") and leah ("cle

null 4 Feb 28, 2024
Small game where you play a big spider chasing small spiders, written in Rust and Macroquad.

Ludum Dare #49 Compo entry - Procedural Spider Small game where you play a big spider chasing small spiders. Each spider you catch makes you bigger! C

Jakub Arnold 16 Sep 5, 2022
A place to start when building webgl apps in Bevy. Use this to avoid writing the boilerplate.

Template Bevy project with WebGL enabled Prerequisites cargo install cargo-make Build and serve WASM version Set your local ip address in Makefile.to

Michael Dorst 0 Dec 24, 2021
A framework for building adventure games in Bevy.

Bevy_adventure A framework for building 3d adventure games in Bevy. preview.mp4 Features Interactive trait is the backbone of the framework, allowing

Hank Jordan 9 Jan 5, 2023
The Big Cheese a webapp wherein you can share recipes with your friends.

The Big Cheese The Big Cheese a webapp wherein you can share recipes with your friends. Contributing Contributions are what make the open source commu

null 3 May 5, 2022
A canvas on which you can draw anything with ease before drawing the pixels on your small hardware display.

embedded-canvas    canvas - a piece of cloth backed or framed as a surface for a painting NOTE: This crate is still in development and may have breaki

Lechev.space 13 Aug 31, 2022
Transform your terminal into an art canvas where you can draw stuff!

Termdraw Turn your terminal into the drawing cavnas of your dream... or not! Installation To install this dream-come-true of a tool simply run cargo i

Enoki 5 Nov 23, 2022
An HTML5 game where you are a bumblebee visiting flowers

Bumble Umble Gee Our small family team made a game to compete in the Game Off 2021. In this game you play a bumble-bee visiting flowers in a meadow. G

Alan Falloon 1 Dec 1, 2021
Extreme Bevy is what you end up with by following my tutorial series on how to make a low-latency p2p web game.

Extreme Bevy Extreme Bevy is what you end up with by following my tutorial series on how to make a low-latency p2p web game. There game can be played

Johan Klokkhammer Helsing 39 Jan 5, 2023
🐝 An action-packed game where you play as a missile-dodging, laser-evading, upgradeable bumbly bee.

Beeline The last known specimens of the Andor flower, the flower with the tastiest nectar in the world, are preserved at the Mount Dared fortified mil

plam 4 Oct 6, 2022
vetovoima is an arcade game where you control gravity!

vetovoima vetovoima is an arcade game where you control the gravity! The world is a hollow circle with a star in the center. You're the Yellow Block a

Matias Klemola 6 Oct 4, 2022