Giter Site home page Giter Site logo

kejunmao / open-block-war Goto Github PK

View Code? Open in Web Editor NEW
76.0 2.0 24.0 1.68 MB

基于 React&Phaser 的支持斗鱼、哔哩哔哩的弹幕互动游戏弹弹乐

License: MIT License

TypeScript 98.24% HTML 0.29% JavaScript 0.08% CSS 0.92% Dockerfile 0.47%
bilibili bilibili-live react vite pahser

open-block-war's Introduction

弹弹乐

曾风靡一时的弹幕互动游戏,支持多直播间、支持 B 站官方、野生 API、斗鱼野生 API

QQ交流群:250709125

内置多款皮肤,且支持自定义贴图、颜色、名称:

  • "default" 四色大战
  • "fiveColor", 五色大战
  • "threeKingDom", 三国大战
  • "war3", 魔兽争霸 带贴图、兵种
  • "jiangHu", 江湖传说
  • "redAlert", 红色警戒
  • "minecraft", 我的世界 带贴图
  • "sevenKingDom7", 七国争霸
  • "warOfFiveDynasties", 五朝之争

以上都可以在运行时临时自定义颜色、名称等(刷新生效)

发展与开源

弹幕互动初期,弹弹乐吸引了大量用户,而现在热度已过,将其开源以促进弹幕互动界的 JS Gamer 的发展。

由于代码库最初并不是为开源而设计,如果你不是技术人员,在尝试运行时你可能会遇到一些问题还请谅解。

快速开始

请先安装 node18+

# 没有 pnpm 的话可以 npm install -g pnpm
pnpm install
pnpm dev

浏览器打开 http://localhost:5173/

推荐开启开发者控制台,然后修改尺寸响应为 1920x1080

新增直播间

无数据库设计,编辑 src\paid\index.ts 新增直播间授权

// 直播间 ID
[key: number]: {
  name: string; // 随便编个名字
  id: number; // 直播间 ID
  defaultTheme: string; // 默认皮肤
  themes: string[]; // 允许使用的皮肤列表
  liveType?: "bilibili" | "douyu"; // 直播类型,斗鱼还是 b 站
};

配置后使用浏览器访问:http://localhost:5173/{liveID} 即可,要指定主题可以使用参数 ?theme={themeName}

例如,访问我的直播间的魔兽争霸主题: http://localhost:5173/1439885?theme=war3

礼物配置

具体可查看 src/Live/Gift.ts

OBS 配置

不要使用直播姬,很卡,推荐使用 OBS ,新增一个浏览器,把权限都给了,大小配置 1920x1080,交互时按空格可自定义

部署

本质就是 node 应用

直接部署

pnpm build # 打包静态网页和 B 站头像、官方 API
# ./build 为后端接口
# ./dist 为游戏本体
pnpm start # 启动

浏览器打开 http://localhost:3000/

使用 Docker

pnpm docker:build # 构建镜像
docker run -P open-block-war # 创建容器

浏览器打开 http://localhost:3000/

注意事项

这个项目不再积极维护,已有 bug 也不会修复。

直播接口

新增 ?Code= 参数即可开启 B 站官方接口

提供了斗鱼和 B 站的两套接口,具体实现可查看 src/Live

代理

如果使用的野生 ws 接口的话,修改 api/proxy/ajax.ts 的相关配置即可设置获取头像的代理,不然如果人太多就会被 啊 B 暂时 ban 掉

金手指

便于开发和调试,具体可查看 src/Game/GoldKey.ts

open-block-war's People

Contributors

aimsam avatar kejunmao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.