Skip to content

trulshj/artifacts-mmo-server

Repository files navigation

chicken copper dagger copper rocks green slime cow ash tree goblin

artifacts-mmo

Artifacts MMO is a browser-based idle MMO fully driven by a REST API — your characters exist in the game world and can fight, gather resources, and craft items entirely through API calls, no UI required. This project is a web dashboard and automation engine that lets you manage multiple characters, run automated jobs, and track everything in real time.


Features

⚔️ Character Automation

owlbear

Set characters to fight monsters, gather resources, or craft items and let them run unattended. The automation handles HP management (resting when low), banking when inventory is full, and equipping the right tools automatically.

  • Fight — target any monster; auto-rest and auto-bank keep the loop going
  • Gather — mine, chop, or fish; best tool auto-equipped based on your skill level
  • Craft — multi-step crafting with full dependency resolution (see below)
  • Idle — park a character without stopping the job runner

🔨 Intelligent Craft Planning

fire staff

The craft planner recursively resolves everything needed to produce an item. It checks your bank, figures out what to withdraw, what to craft as intermediates, and what to gather if materials are missing — then executes the plan step by step with a live tree visualization.

  • Recursive material dependency resolution
  • Sources ingredients from the bank automatically
  • Visual plan tree: have / withdraw / craft / gather / fight / shortfall steps
  • Reports shortfalls for materials that can't be sourced

🏦 Bank Management

emerald

View and manage the shared character bank from the dashboard. Deposit or withdraw any item for any character, with optimistic UI updates so the interface stays snappy.


🗡️ Equipment Manager

magic wizard hat

All 16 equipment slots per character — weapon, shield, helmet, body armor, leg armor, boots, amulet, rings, artifacts, rune, utilities, and bag. Equip and unequip items directly from the UI.


🧑‍🤝‍🧑 NPC Trading

gemstone merchant

Browse every NPC and their buy/sell inventories. Execute trades for any character straight from the dashboard.


📦 Item Browser

battlestaff

Browse all craftable items with filters for skill, item type, and level range. Inspect the full material chain for any item and launch a craft job with a chosen quantity in one click.


♻️ Recycling

mushmush

Dismantle unwanted items to recover their base materials.


📡 Real-time Updates

Live character state, job progress, and action logs streamed over WebSocket. Auto-reconnects with exponential backoff if the connection drops.


Tech Stack

Layer Technology
Frontend React 18 + TypeScript + Vite
Backend Node.js + Express + WebSocket (ws)
Cache / State Redis
Deploy Docker + Fly.io

Getting Started

  1. Get an API token from artifactsmmo.com (account settings)

  2. Configure environment

    cp .env.example .env
    # Set ARTIFACTS_TOKEN — REDIS_URL is optional, falls back to in-memory caching
  3. Install and run

    npm install
    npm run dev

The dashboard is served at http://localhost:3000.

Using Fly.io Redis locally? Run npm run dev:fly instead. It opens a fly redis proxy tunnel to your deployed Redis instance and starts the dev server with REDIS_URL wired up automatically — no manual port forwarding needed.


Deployment

The project ships with a Dockerfile and fly.toml for one-command deployment to Fly.io:

fly deploy

If using Fly's managed Redis, run npm run dev:fly locally to proxy the instance and wire up REDIS_URL automatically.

About

A server and web client for the API-based game Artifacts MMO

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages