Skip to content
/ dr4ft Public
forked from dr4fters/dr4ft

Multiplayer Online MTG Draft and Sealed Simulator

License

Notifications You must be signed in to change notification settings

MunWolf/dr4ft

 
 

Repository files navigation

dr4ft


dr4ft Chat

dr4ft is a NodeJS based web-application that simulates draft and sealed format between players and/or bots. Most of MTG sets are playable thanks to MTGJson support. We follow as much as possible the rules that determine how a real booster is created.

The application provides the following features:

  • Draft and sealed format
  • Regular, Cube and chaos game types
  • 1 to 100 players
  • 1 to 12 packs per player
  • All playable sets ever printed
  • Import your custom set and play it
  • In-game chat
  • Pick Timer
  • Autopick
  • Suggest lands
  • Kick players
  • Connection indicators
  • Pick confirmation
  • Grid and column view
  • Card sorting by rarity, type, color or Manacost
  • Bots
  • Notifications when a pack is available
  • API to create and manage a game remotely. More docs here

Technologies

dr4ft is written in ES6 and transpiled with Webpack and Babel, and uses React on the client-side. The application uses SocketIO and the Websocket technology between client and server.

Project History

dr4ft is a fork of arxanas' drafts.ninja fork of aeosynth's draft project:

draft (initial project, discontinued)
    ↳ drafts.ninja (fork, discontinued)
            ↳ dr4ft (fork, current main project)

It supports all their features, and many more.

Known pages running this code:


Installation

Native

  1. Install Node.js >= 11.0.0
  2. Run
$ sudo npm install --unsafe-perm
$ npm start
  1. Visit http://localhost:1337

Docker

You can also create a Docker image and run the app in a container:

  1. Install Docker
  2. Build the image:
    docker build -t dr4ft-app .
  3. Run it in a container:
    docker run -dp 1337:1337 dr4ft-app
  4. Visit http://localhost:1337

Usage

Start server

npm start

This command start the server

npm run download_allsets This command downloads all sets from MTGJson and integrates them.

npm run update_database This command downloads integrates all files previously downloaded from MTGJson.

npm run download_booster_rules download and parse booster generation rules from magic-sealed-data

Contributors

THANK YOU!

Contribute!

Be a part of this project! You can run the test using the following.

  1. Install dependencies from package.json by running npm install
  2. Run the test via npm test
  3. Make some fun new modules!

Found bugs or have feature requests? Feel free to open an issue! Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

The project is unaffiliated with Wizards of the Coast, and is licensed under the MIT license.

About

Multiplayer Online MTG Draft and Sealed Simulator

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 94.3%
  • CSS 5.0%
  • Other 0.7%