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)
  • What is MUD?
  • Get started
  • Protocol
    • Introduction
    • Data model
    • Tables
    • Table libraries
    • Encoding
    • Store hooks
      • StoreCore (internal)
      • IStore (external)
      • StoreHook
      • Miscellaneous
    • Introduction
    • Namespaces & Access Control
    • Tables
    • Systems
    • System Hooks
    • Function Selectors
    • Balance
    • Account Delegation
    • Batch Calls
    • Modules
      • Keys with Value
      • Delegation (interface)
      • Modules
      • Modules (interface)
      • Systems
      • Systems (interface)
      • World
      • World (interfaces)
      • World context
      • World context (interface)
      • Resource IDs
      • Miscellaneous
        • Access Control
        • Create2
        • Delegation
        • ERC165
        • ERC165 (interface)
        • Init Module
        • Init Module Implementation
        • SystemCall
  • 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
  • What is MUD?
  • Get started
  • Protocol
    • Introduction
    • Data model
    • Tables
    • Table libraries
    • Encoding
    • Store hooks
      • StoreCore (internal)
      • IStore (external)
      • StoreHook
      • Miscellaneous
    • Introduction
    • Namespaces & Access Control
    • Tables
    • Systems
    • System Hooks
    • Function Selectors
    • Balance
    • Account Delegation
    • Batch Calls
    • Modules
      • Keys with Value
      • Delegation (interface)
      • Modules
      • Modules (interface)
      • Systems
      • Systems (interface)
      • World
      • World (interfaces)
      • World context
      • World context (interface)
      • Resource IDs
      • Miscellaneous
        • Access Control
        • Create2
        • Delegation
        • ERC165
        • ERC165 (interface)
        • Init Module
        • Init Module Implementation
        • SystemCall
  • 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

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

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

  2. Create a new app from a template:

    pnpm create mud@next my-project
  3. Start the app:

    cd my-project
    pnpm dev
  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.

What is MUD?Introduction

MIT 2023 © MUD