FireStudio LogoFireStudio
ProductsAuroraMC

Configuration

Customize your server branding, products, discounts, feature toggles, and more.

Configuration

AuroraMC is designed to be configured through a few centralized files. You can customize everything from your server name and branding to products, discount codes, and which widgets appear on the storefront — without touching component logic.

Site Config

Edit config/site.config.ts to set your server details, branding, feature toggles, currency, and SEO metadata.

Server Info & Branding

config/site.config.ts
export const siteConfig = {
    serverName: 'YourServer',
    serverIp: 'play.yourserver.net',
    websiteUrl: 'https://yourserver.com',
    discordUrl: 'https://discord.gg/your-invite-code',
    supportEmail: 'support@yourserver.com',

    mainLogo: '/server-logo.png',
    smallLogo: '/server-icon.png',
    favicon: '/server-icon.png',
    heroBackground: '/server-background.png',
    // ...
};

All image paths reference files inside the public/ directory. Drop your images there with matching filenames.

[!TIP] Recommended image dimensions:

  • server-logo.png — 800×300px, transparent PNG
  • server-background.png — 1920×1080px, hero banner
  • server-icon.png — 512×512px, used as favicon
  • Product images — 400×400px

Feature Toggles

Control which widgets and features appear on the store:

config/site.config.ts
features: {
    showDiscordWidget: true,
    showServerStatus: true,
    showRecentPurchases: true,
    showMonthlyGoal: true,
    enableCoupons: true,
},

Set any of these to false to hide that section from the storefront.

Currency

Configure the currency symbol and display format:

config/site.config.ts
currency: {
    symbol: '$',
    code: 'USD',
    position: 'before',   // 'before' = $10.00, 'after' = 10.00$
},

SEO

Set the page title, description, and keywords for search engines:

config/site.config.ts
seo: {
    title: 'YourServer Store - Minecraft Packages',
    description: 'Purchase ranks, items, and exclusive packages. Secure checkout powered by Tebex.',
    keywords: 'minecraft, server, store, ranks, tebex',
},

Theme

Configure the color scheme:

config/site.config.ts
theme: {
    primaryColor: 'purple',
    accentColor: 'pink',
    darkMode: true,
},

For deeper color customization, see the Customization Guide.


Products

Products are defined in src/lib/store-data.ts. Each product has an ID, name, price, image, category, and optional properties:

src/lib/store-data.ts
export const products: Product[] = [
  {
    id: 'gold-1000',
    name: '1000 Gold',
    price: 10.00,
    image: '/gold-500.png',
    category: 'gold',
    description: 'Get 1000 gold coins for your server adventures.',
    features: [
      '1000 Gold Coins',
      'Instant Delivery',
      'Never Expires',
      'Secure Transaction'
    ],
    color: 'from-yellow-500 to-amber-500',
    isPopular: true
  },
];

Product Fields

FieldTypeRequiredDescription
idstringYesUnique identifier, also used for Tebex mapping
namestringYesDisplay name shown on the store
pricenumberYesPrice in your configured currency
originalPricenumberNoStrikethrough price for showing discounts
imagestringYesPath to product image in public/
categorystringYesOne of: 'gold', 'xolar', 'nova'
subcategorystringNoOne of: 'ranks', 'gkits', 'hypeboxes', 'crate-keys', 'lootboxes'
descriptionstringYesShort product description
featuresstring[]YesBullet-point list of included features
colorstringNoTailwind gradient classes for the product card
isPopularbooleanNoHighlights the product with a "Popular" badge

Categories

Categories are also defined in src/lib/store-data.ts. Each category has an ID, display name, description, and gradient colors:

src/lib/store-data.ts
export const categories: Category[] = [
  {
    id: 'gold',
    name: 'Gold Packages',
    description: 'Purchase gold coins for in-game currency',
    color: 'from-yellow-500 to-amber-600',
    gradient: 'from-yellow-500 to-amber-500',
    icon: '',
    count: 1
  },
];

Update the count field to reflect the number of products in each category.


Tebex Product Mapping

To connect your local products to Tebex for checkout, map each product ID to its Tebex Package ID in config/products.config.ts:

config/products.config.ts
export const productMapping: Record<string, number> = {
    'gold-1000': 1234567,
    'example-rank': 7654321,
};

Finding Your Tebex Package ID

  1. Open your Tebex Dashboard
  2. Go to Packages and click on a package
  3. The Package ID is in the browser URL — for example, https://creator.tebex.io/packages/1234567 → the ID is 1234567

[!IMPORTANT] Products with a mapping value of 0 or missing from the mapping will not redirect to Tebex checkout. Make sure every product you want to sell has a valid Package ID.


Discount Codes

Discount codes are managed in src/lib/discount-codes.ts:

src/lib/discount-codes.ts
export const discountCodes: DiscountCode[] = [
    {
        code: 'STORE10',
        discountPercent: 10,
        maxUses: 100,
        currentUses: 0,
        description: '10% off for new players'
    },
    {
        code: 'WELCOME20',
        discountPercent: 20,
        maxUses: 50,
        currentUses: 0,
        description: '20% welcome discount for first-time buyers'
    },
];

Discount Code Fields

FieldTypeDescription
codestringThe code customers enter (case-insensitive)
discountPercentnumberPercentage discount (e.g., 10 = 10% off)
maxUsesnumberMaximum number of times this code can be used
currentUsesnumberSet to 0 for new codes
descriptionstringInternal description for your reference
expiryDateDateOptional — code expires after this date

Usage counts are tracked in the browser's localStorage, so they persist per-device but reset across different browsers.

[!TIP] If you prefer to manage discounts entirely through Tebex, set enableCoupons: false in the feature toggles and use Tebex's built-in coupon system instead.


Social Proof Data

Recent Purchases

Edit the recentPurchases array in src/lib/store-data.ts to show recent activity:

src/lib/store-data.ts
export const recentPurchases: RecentPurchase[] = [
  { username: 'Player1', product: 'VIP Rank', time: '2m ago' },
  { username: 'Player2', product: '1000 Gold', time: '5m ago' },
];

Top Donators

Edit the topDonators array with your community's top supporters:

src/lib/store-data.ts
export const topDonators = [
  { rank: 1, username: 'Player1', amount: 500, avatar: '👑', badge: '🏆' },
  { rank: 2, username: 'Player2', amount: 350, avatar: '⭐' },
];

Monthly Goal

Set your monthly donation target:

src/lib/store-data.ts
export const monthlyGoalData: MonthlyGoal = {
  current: 150,
  target: 500,
  month: 'This Month'
};

On this page