搭建属于你自己的弹幕服务器-服务端(转载)

前言

本篇教程适用于现场活动等用途,通过 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 条评论

添加新评论

Markdown is supported.