SoraChat —— 在网页上聊天,与游戏内同步

Akkariin 发表于 2018-10-25 01:54:28 | 查看:998 | 分享


这是什么?

这是一个服务器插件,可以让玩家在网页上聊天,与服务器内同步,并且内置 http 服务器,无需其他依赖。
网页聊天界面使用 HTML5 + PHP 开发,需要 PHP 环境的支持。
您需要使用 AuthMe 登录插件才能让玩家在网页上登录,目前仅支持 AuthMe 与作者自己服务器的登录插件,后续会增加更多支持。

有什么用?

有。有时候您不在电脑前,又想看看服务器内发生了什么事情,无需登录游戏,即可在网页上查看玩家的聊天内容,非常方便快捷,并且网页上也是可以向游戏内发送消息的。

  1. 双向聊天,网页上聊天游戏内可以看到/游戏内聊天网页上可以看到
  2. 炒鸡强大的内置 NicoHTTP 服务器核心,多人在线聊天完全不卡
  3. 仅500毫秒的疯狂 AJAX 轮询依然不炸,100 人同时挂机在线响应速度不超过 50 毫秒
  4. 页面最小化、切换到其他页面、窗口时自动断开连接,节省服务器资源占用。
  5. 桌面通知功能,有新消息会在右下角弹出通知提醒(可关闭)
  6. 玩家上下线通知,谁进游戏了谁退游戏了一目了然。
    更新功能:
  7. 禁言玩家功能,输入 #禁言player 即可禁止 Player 发言,输入 #解禁player 即可解禁
  8. 切换主题功能,目前有 4 种配色可以选择(个人感觉蓝色最佳)
  9. 历史消息功能,按箭头 ↑ 可以调出您发送的上一条消息,按 ↓ 调回当前输入内容
  10. 优化代码,减去不必要的部分,修复 https 下异常问题
  11. 修复发送消息按钮显示异常问题
    桌面通知功能在 Chrome 62 以后不再可用,因为 Chrome 62 版本以后会拒绝非 https 协议申请通知权限(旧版本不受影响)。

如何使用?

安装和使用 SoraChat 非常简单。
第一步,下载 SoraChat
https://cdn.tcotp.cn:4443/download/chat/plugins/download.php
↑ 如果无法下载,提示 CSRF 验证,请在本帖内按下 Ctrl + F5 强制刷新缓存重试。

解压出来,打开 SoraChat 文件夹。

进入子文件夹 plugins,您可以看到 SoraChat.jar 与 SoraChat 文件夹。

打开 SoraChat 文件夹,里面有一个 config.yml,用专业的编辑器打开进行编辑。

设置好端口、密码、前缀后保存配置文件。
将 SoraChat.jar 与 SoraChat 文件夹复制到您服务器的 plugins 目录,重启服务器。

接下来部署网页端,如果您已经有虚拟主机或者在本地搭建好了环境,可以跳过这一段话。
如果您没有主机,点这里有免费的,但是稳定性一般,建议还是自己搭或者租一个好点的。

开始配置网页端,打开 data 文件夹,里面有一个 config.php,用专业的编辑器打开进行编辑。

根据里面的注释提示修改端口、密码、数据库信息,保存。

目前 SoraChat 仅支持 AuthMe 与 SoraLogin(此插件未发布) 登录插件的数据库。
AuthMe 需要将数据库字段设置为 username 与 password (默认就是这两个所以一般不用改)

复制所有网站文件(index.php 以及那一堆文件夹,除了 plugins 文件夹)到网站根目录。

网站根目录一般就是购买了虚拟主机,登录 FTP 后的文件夹,或者是登录 FTP 后的 Web 文件夹。
如果您是自己搭建环境,且是 IIS 的话,在 IIS 管理器中右键网站列表中的网站名字 》浏览 即可打开根目录。
本地建站如果新手推荐用 phpStudy (http://phpstudy.net/) 比较方便。

复制完成后,打开网站地址,使用你的游戏账号与密码登录,就可以开始聊天啦~



新版本效果

增加新的配色方案
目前有 4 种配色可选
blue —— 蓝色
green —— 原谅色
pink —— 粉色
orange —— 橙色



增加禁言用户功能

旧版本如何更新?

首先下载更新包:https://cdn.tcotp.cn:4443/download/chat/plugins/download.php?s=update
打开压缩包,里面有个 SoraChat 文件夹,点进去
复制这里面所有文件到你的网站目录,如果提示替换文件,请点击 “全部覆盖” 或 “全部选是”
编辑 data/config.php 文件,另起一行,输入以下内容

$adminuser = "admin"; // 管理员列表,用 ; 隔开,可以禁言玩家
$themename = "blue";  // 主题选择,自带 green/blue/pink/orange

然后你的配置文件看起来应该像这样

给善于开发的小伙伴

其实这个插件有非常简单的 api 功能。
您只需要按照以下方式 GET 数据即可。

http://您的服务器地址:插件配置中的端口/?user=欲显示的用户名&pass=连接密码&msg=消息内容

注意消息内容需要 URLEncode 编码后才能发送,否则会出现 400 Bad Request
例子,在游戏中以 Nico 的身份发送消息内容 Hello,连接密码为 12345678

http://localhost:8848/?user=Nico&pass=12345678&msg=hello

就会在游戏中显示 [SoraChat] hello
配合 QQ 机器人还能实现 Q 群聊天同步噢~

更新记录

2018.2.3 修复禁言功能失效问题,验证 CSRF
2018.2.2 下午 发布更新,增加主题,禁言功能
2018.2.2 发布 SoraChat

喵喵喵

因为我在 MCBBS 的账号已经删除了,所以就把这些帖子转移到这里了,如果有人要阅读的话还可以在这里找到。

Akkariin 在 2018-10-25 01:54:28 发表了帖子


img


帖子评分

评分是对作者的一种鼓励,您可以在评论框输入 /cs score 分数 附言 对帖子进行评分。

最少 1 分,最大 5 分,评分会消耗自己的积分,不能给自己的帖子评分。

暂时没有人评分!


发表你的评论

回帖时请注意遵守论坛发言规定,请勿恶意灌水。

  回帖倒序排列   匿名回复 您还可以输入 2000  


欢迎来到 ZeroDream 论坛!

您还没有登录噢 :P

登陆以后就可以发帖和回复啦~


系统主题选项

在线人数:Loading...

WebSocket 状态:Loading...