前言
本篇教程适用于现场活动等用途,通过 Web 接受弹幕数据,并使用客户端显示叠加层。
[hermit auto=”0″ loop=”1″ unexpand=”0″ fullheight=”0″]netease_songlist#:426881487[/hermit]基础环境部署
作为一台服务器,首先我们需要安装最基础的工具。
运行以下代码
#debian
apt-get install wget curl screen http git vim
#Centos
yum install wget curl screen http git vim
安装完基础工具后,我们开始安装弹幕服务器的后端,首先我们需要安装 Nodejs 执行环境,在这里我们使用 Easyenv 一键安装。
运行以下代码,选择安装 Nodejs 6.x 版本
wget https://raw.githubusercontent.com/FunctionClub/Easyenv/master/easyenv.sh
bash easyenv.sh
弹幕服务安装
Nodejs 部署完成后,我们就可以正式进入服务端的部署了
首先,我们需要获得弹幕服务器的执行文件
运行以下代码
git clone https://github.com/zsxsoft/danmu-server
获取执行文件后,我们需要安装一些 Nodejs 的基本库
运行以下代码
npm install
到这里,安装就已经完成了,下面我们需要进行服务端的配置
服务端配置
弹幕服务的配置文件为 config.js,日常使用只需修改它。
以下为一份 config.js 示例文件。
module.exports = {
"rooms": {
"default": {
"hostname": ["test.zsxsoft.com", "danmu.zsxsoft.com"],
"cdn": false,
"display": "默认",
"table": "room_default", // 数据表
"connectpassword": "123456", // 客户端连接密码
"managepassword": "123456", // 管理密码
"advancedpassword": "123456", // 高级弹幕密码
"keyword": {
"block": /^$/,
// 强制屏蔽关键词
"replacement": /^$/,
// 替换关键词
"ignore": /^$/
// 忽略词
},
"blockusers": [ // 封禁用户
"test"
],
"maxlength": 100, // 队列最大长度
"textlength": 1000, // 弹幕最大长度
"image": {
"regex": /\[IMG WIDTH=(\d+)\](.+?)\[\/IMG\]/ig, // 图片弹幕
"lifetime": 300 // 每个图片给每条弹幕增加的时间
},
"permissions": { // 普通用户允许的弹幕权限
"send": true, // 弹幕开关;关闭后无论普通用户还是高级权限都完全禁止弹幕。
"style": false, // 弹幕样式开关
"color": false, // 颜色开关
"textStyle": false, // CSS开关
"height": false, // 高度开关
"lifeTime": false, // 显示时间开关
"sourceCode": false, // 自定义高级JavaScript弹幕开关
}
},
},
"database": {
"type": "csv", // 数据库类型(mysql / mongo / csv / none)
"server": "127.0.0.1", // 数据库地址(mysql / mongo)
"username": "root", // 数据库用户名(mysql / mongo)
"password": "123456", // 数据库密码(mysql / mongo)
"port": "3306", // 数据库端口(mysql / mongo)
"db": "danmu", // 数据库(mysql / mongo)
"retry": 10, // 24小时允许断线重连最大次数,超过则自动退出程序。24小时以第一次断线时间计。(mysql)
"timeout": 1000, // 数据库重连延时及Ping(mysql)
"savedir": "./", // 指定文件保存位置(csv)
},
"websocket": {
"interval": 10, // 弹幕发送间隔
"singlesize": 5 // 每次弹幕发送数量
},
"http": {
"port": 3000, // 服务器端口
"headers": { // HTTP头
//"Access-Control-Allow-Origin": "*",
//"Access-Control-Allow-Methods": "POST"
},
"sessionKey": "hey"
},
"cache": {
"type": "none", // 缓存类型,支持memcached和aliyun。后者需要npm install aliyun-sdk
"host": "127.0.0.1:11211", // 缓存服务器地址,可用socket
"auth": false, // 是否打开身份验证
"authUser": "", // 身份验证账号
"authPassword": "" // 身份验证密码
},
"ext": {
/*
"weibo": { // 新浪微博扩展
"clientID": '', // App ID
"clientSecret": '', // App Secret
"callbackURL": 'http://test.zsxsoft.com:3000/auth/sina/callback', // 这里填写的是 网站地址/auth/sina/callback
"requireState": true // 是否打开CSRF防御
},*/
"autoban": { // 自动封号扩展
"block": 3, // 被拦截超过一定数字自动封号
},
/*"audit": { // 审核扩展
},*/
"livesync": {
"unlimited": { // 房间名
"liveUrl": "http://live.bilibili.com/3" // 直播地址
}
}
}
};
最后,我们需要启动弹幕服务器
运行以下代码
screen
npm start
在最后,感谢 zsx 大佬编写的弹幕服务。
Github
本文由 giao创作, 采用 知识共享署名4.0 国际许可协议进行许可 本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名 原文地址:《搭建属于你自己的弹幕服务器-服务端(转载)》
最后一次更新于2018-12-21
0 条评论