Skip to content
This repository was archived by the owner on Sep 30, 2026. It is now read-only.
mc-addonPublic archive

Repository files navigation

MC Addon

MC Addon

Official MC Addon Webstore

Svelte Tailwind CSS Drizzle ORM License

Important

This project is archived and no longer maintained.

External services and dependencies may have changed, so parts of it may no longer work as expected.

📸 Preview

preview.mp4

💫 Prerequisites

Tool Type Version Purpose
Git Required 2.50+ Source control
Bun Required 1.3+ Runtime package manager

🚀 Production

  1. Clone this repository:

    git clone https://github.com/mc-addon/mcaddon
    cd mcaddon
  2. Install dependencies:

    bun i
  3. Copy .env file and configure secrets

    cp .env.example .env

Tip

Check environment variables section for details on the environment variables.

  1. Initialize database schema

    bun run db:push
  2. Sync static assets

    bun run sync-assets
  3. Authenticate with Cloudflare

    bunx wrangler login
  4. Copy example.wrangler.toml to wrangler.toml and configure it. (For [vars] section, copy-paste the values from .env)

  5. Deploy

    bun run deploy

🛸 Development

  1. Follow first 5 steps from the production section.

  2. Start the development server

    bun run dev

🔑 Environment Variables

Variable Type Description
PUBLIC_DISCORD_URL string Discord API base URI
PUBLIC_MCSTATUS_JAVA_API string Java server status API
PUBLIC_MCSTATUS_BEDROCK_API string Bedrock server status API
DATABASE_URL string Supabase connection string
DISCORD_CLIENT_ID string Discord client ID
DISCORD_CLIENT_SECRET string Discord client secret
DISCORD_BOT_TOKEN string Discord bot token
JWT_SECRET string Secret key for JWT signin
PUBLIC_TEBEX_TOKEN string Public Tebex token for API access
TEBEX_PRIVATE_KEY string Private key for Tebex API

📚 Getting database keys

  1. Host a PostgreSQL database (e.g. Local PostgreSQL, Supabase, etc.).

  2. Set connection string in DATABASE_URL environment variable.

    postgresql://<username>:<password>@<host>:<port>/<database>
    

Tip

For Supabase, you can find the connection string by clicking the Connect button at the top bar of the Supabase dashboard. Supabase Database URL

🔮 Getting Discord OAuth keys

  1. Create a new application in the Discord Developer Portal. New App

  2. Get DISCORD_CLIENT_ID and DISCORD_CLIENT_SECRET from the OAuth2 tab. Client Info

  3. In the same tab, add <your-domain>/auth/callback to Redirects. Add http://localhost:5173/auth/callback too for development. Redirect URL

  4. Get DISCORD_BOT_TOKEN from the Bot tab. Bot Token

  5. Invite the bot to your Discord server. It needs to be in the server to fetch its details.

💸 Getting Tebex keys

  • Open Tebex dashboard and go to Integration > API Keys Tebex

🪇 Other keys

  • Generate JWT_SECRET by running the following command.
    bun run gen-secret

❤️ Contributing

  • Follow commit conventions.
  • Keep code style consistent.
  • Run formatting and checks before pushing
    bun run format && bun run check
  • See STYLES.md for style guidelines.

🎨 Assets

The code is licensed under GPL-3.0. Assets are not.

  • Minecraft textures & sounds belong to Mojang. Not affiliated with Mojang AB or Microsoft.
  • Minecraftia font by Andrew Tyler, licensed CC BY-SA.

Contributors

Languages