Discord Activities Integration

Integrate your Rivet game with Discord Activities.


Procedure

  1. Edit your rivet.yaml to enable tagging:

    matchmaker:
      game_modes:
        default:
          taggable: true
    
  2. Set up the Discord SDK (docs):

    // Import the SDK
    import { DiscordSDK } from "@discord/embedded-app-sdk";
    
    // Instantiate the SDK
    const discordSdk = new DiscordSDK(process.env.DISCORD_CLIENT_ID);
    
    setupDiscordSdk().then(() => {
    	console.log("Discord SDK is ready");
    });
    
    async function setupDiscordSdk() {
    	await discordSdk.ready();
    }
    
  3. Update your Rivet matchmaking code to include tags:

    const res = await RIVET.matchmaker.lobbies.find({
    	// ...
    	tags: {
    		// Discord SDK set up in previous step
    		instanceId: discordSdk.instanceId,
    	},
    });
    
  4. Set up route mapping

    After following the activity tutorial, access the URL mapping for your Discord app and configure it like so:

    Player connection lobby creation
  5. Run activity (read docs here)


Example repo

A fully integrated example can be found here.

Was this page helpful?

Edit Page

Rivet

Open-source multiplayer infrastructure. Easy, flexible, and affordable.

This website is not sponsored by or affiliated with Unity Technologies or its affiliates. Unity Trademark(s) are trademark(s) or registered trademark(s) of Unity Technologies or its affiliates in the U.S. and elsewhere. | This website is not sponsored by, affiliated with, or endorsed by Epic Games, Inc. or its affiliates. 'Unreal Engine' is a trademark or registered trademark of Epic Games, Inc. in the U.S. and elsewhere. | The HTML5 Logo by the World Wide Web Consortium (W3C), used under a Creative Commons Attribution 3.0 License. Source | The Godot Engine Logo by the Andrea Calabró, used under a Creative Commons Attribution 4.0 International License. Source | Docker and the Docker logo are trademarks or registered trademarks of Docker, Inc. in the United States and/or other countries. Docker, Inc. and other parties may also have trademark rights in other terms used herein.

© 2024 Rivet Gaming, Inc. All rights reserved.