MUD logoMUD
StatusStatus (opens in a new tab)CommunityCommunity (opens in a new tab)TwitterTwitter (opens in a new tab)DiscordDiscord (opens in a new tab)
GitHubGitHub (opens in a new tab)
  • Quickstart
  • Introduction
  • Protocol
    • Introduction
    • Data model
    • Tables
    • Table libraries
    • Encoding
    • Store hooks
      • StoreCore (internal)
      • IStore (external)
      • StoreHook
    • Introduction
    • Namespaces & Access Control
    • Tables
    • Systems
    • System Hooks
    • Function Selectors
    • Balance
    • Account Delegation
    • Batch Calls
    • Modules
      • Keys with Value
  • Framework
  • Config
    • mud tablegen
    • mud worldgen
    • mud test
    • mud deploy
    • mud dev-contracts
    • mud abi-ts
    • mud faucet
    • mud set-version
      • RECS
      • Zustand
    • Indexer
    • Faucet

    • Replicating onchain state
    • Hello World
      • Add a table
      • Filter data synchronization
      • Add a system
      • Deploy to a blockchain
    • Extending a World
    • Emojimon
      • Preface: the ECS model
      • Getting started
      • Players and movement
      • Map and terrain
      • A wild Emojimon appears
      • Advanced features
      • Getting Started
      • Contracts
      • Vanilla
      • React-ECS
      • Three.js
    • Godot
    • Progressive Web App (for mobile)
    • Swift
    • Svelte
    • Unity
  • Contribute
  • Changelog
    • 2023-09-12 registerSystem vulnerability
  • Quickstart
  • Introduction
  • Protocol
    • Introduction
    • Data model
    • Tables
    • Table libraries
    • Encoding
    • Store hooks
      • StoreCore (internal)
      • IStore (external)
      • StoreHook
    • Introduction
    • Namespaces & Access Control
    • Tables
    • Systems
    • System Hooks
    • Function Selectors
    • Balance
    • Account Delegation
    • Batch Calls
    • Modules
      • Keys with Value
  • Framework
  • Config
    • mud tablegen
    • mud worldgen
    • mud test
    • mud deploy
    • mud dev-contracts
    • mud abi-ts
    • mud faucet
    • mud set-version
      • RECS
      • Zustand
    • Indexer
    • Faucet

    • Replicating onchain state
    • Hello World
      • Add a table
      • Filter data synchronization
      • Add a system
      • Deploy to a blockchain
    • Extending a World
    • Emojimon
      • Preface: the ECS model
      • Getting started
      • Players and movement
      • Map and terrain
      • A wild Emojimon appears
      • Advanced features
      • Getting Started
      • Contracts
      • Vanilla
      • React-ECS
      • Three.js
    • Godot
    • Progressive Web App (for mobile)
    • Swift
    • Svelte
    • Unity
  • Contribute
  • Changelog
    • 2023-09-12 registerSystem vulnerability
    • Changelog
    • Contribute
  • Status (opens in a new tab)
  • Community (opens in a new tab)
  • Twitter (opens in a new tab)
  • Discord (opens in a new tab)
Question? Give us feedback → (opens in a new tab)Edit this page
Quickstart

Quickstart

The easiest way to get started with MUD is to use a template.

  1. Ensure you have node (opens in a new tab), pnpm (opens in a new tab) and foundry (opens in a new tab) installed.

  2. Create and start the application:

    pnpm create mud@next my-project && cd my-project && pnpm dev
  3. Select the template to use.

  4. Browse to the application. Usually it is at http://localhost:3000 (opens in a new tab), but if that port is in use it might be 3001, 3002, etc.

Introduction

MIT 2023 © MUD