dr4ft

Multiplayer Online MTG Draft and Sealed Simulator
授权协议 MIT License
开发语言 JavaScript
所属分类 Web应用开发、 常用JavaScript包
软件类型 开源软件
地区 不详
投 递 者 孙永思
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

dr4ft


dr4ft

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
  • Special game modes like "Glimpse Draft" or "Decadent"
  • 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 mana cost
  • Bots
  • Notifications when a pack is available
  • API to create and manage a game remotely. More docs here
  • Accurate Booster generation rules from @taw's magic-sealed-data
  • Allow several picks per pack
  • Download draft logs for analysis
  • Export your deck to various other apps
  • Generate deck hashes for competitive play

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 >= 12.0.0
  2. Run
    $ npm install
    $ npm run build
    $ npm start
  3. 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 startThis command start the server

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

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

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

Development Notes

VSCode

You can debug this application by adding the following configuration to your launch.json:

{
  "name": "Launch via NPM",
  "type": "node",
  "request": "launch",
  "cwd": "${workspaceFolder}",
  "runtimeExecutable": "npm",
  "runtimeArgs": [
      "run", "start-debug"
  ],
  "port": 1338
}

You should now be able to set breakpoints in backend/ and hit them when you start the debugger.This relies on the --inspect-brk=1338 flag to open port 1338 for the debugger to attach to.

Breakpoints for the frontend should be set in your browser console.

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.

  • import java.io.*; import java.util.*; /* Used to generate table of contents. - No args: generate GitHub table - args == 'wordpress', generate WordPress table. - args == 'review', generate Review Page

  • 前言 如何熟练操作FT2232H设备呢?这是一个问题。下面我们以Visual Studio环境下C++例程代码为例来逐步进行解析。 正菜 获取当前连接的FTDI设备 ftStatus = FT_CreateDeviceInfoList(&dwNumDevs); // Get the number of FTDI devices if (ftStatus != FT_OK) // Did t

  • /* AN_129_HS_JTAG_with_MPSSE.cpp : Defines the entry point for the console application. */ /* @Desc:包含必要的头文件 */ #include "stdafx.h" #include <windows.h> #include <stdio.h> #include "ftd2xx.h" /* @D

  •      编码实现  Filter的编码实现包括Filter的注册信息、Filter上的框架函数实现、逻辑控制类实 现、自定义接口实现、属性页实现、产权保护等。 1.Filter注册信息  a.在...\Microsoft Visual Studio\Common\Tools下运行guidgen.exe获取一个新的 CLSID。  形式如下:  // {683474FE-DF11-4281-97C

  • //2015年1月17日 //http://blog.sina.com.cn/s/blog_530fb60e0100ro4v.html 1 变换的目的,意义,应用。 2 傅里叶级数与傅里叶变换的区别和联系 3 连续傅里叶变换,离散时间傅里叶变换,离散傅里叶变换,序列的傅里叶变换,各自的定义,区别,联系。 4 快速傅里叶变换的实质,常用的算法之间的区别和联系,各自的优势。 5 fft的应用 讨论:

  • 一、处理不信任的SSL证书的网站 SSL证书 数字证书的一种 SSL服务器证书 遵守SSL协议 具有服务器身份验证和数据传输加密功能 在爬虫时可能会遇到这样的报错(SSLError)这说明我们要爬取的网站没有SSL证书 处理:res = requests.get(url,verify=False) 二、cookie 通过记录用户信息来确定身份 1 模拟登陆 #人人网保持登陆状态 import r

相关阅读

相关文章

相关问答

相关文档