• 注册
  • 服务器&插件 服务器&插件 关注:18 内容:11828

    ExternalChat 网页聊天插件

  • 查看作者
  • 打赏作者
  • 当前位置: SodaMC > 服务器&插件 > 正文
  • 潮涌核心
    反派

    ExternalChat 网页聊天插件

    下载: 4,516|源代码
    允许通过网页向 Minecraft 世界发送与接收聊天消息,使用 JSON 在游戏内外通信,并通过 Minecraft 服务器进行用户认证;已在 CraftBukkit (CB) 1.1-R6 与 CB 1.2.2-Dev 上测试通过。
    • 详细介绍

    概述

    ExternalChat 插件允许从网页发送和接收 Minecraft 聊天消息。它使用 JSON 在 Minecraft 服务器与外部网页之间交换数据,并通过 Minecraft 官方认证服务对网页用户进行验证,以准确识别发送者身份。

    功能

    • 从网页向 Minecraft 客户端发送消息
    • 从 Minecraft 向网页发送消息
    • 安全的网页用户认证(使用 Minecraft 账户)
    • 无需数据库
    • 网页用户使用其 Minecraft 用户名与密码登录

    兼容性与测试

    • 在 CraftBukkit (CB) 1.1-R6 上测试通过
    • 在 CraftBukkit (CB) 1.2.2-Dev 上测试通过

    配置

    插件配置(Plugin Configuration)

    • show_death(默认:true)- 是否将死亡消息发送到网页
    • death_name(默认:Humiliator)- 当将死亡消息发送到网页时显示的用户名
    • chat_delay(默认:3000)- 检查新消息的间隔(以毫秒为单位)
    • clean_delay(默认:30000)- 检查并清理旧消息的间隔(以毫秒为单位)
    • clean_age(默认:45000)- 消息达到该年龄(毫秒)后将被删除
    • chat_file(默认:map/inChat.json)- 用于读写消息的文件名

    Minecraft 服务器配置(Minecraft Server Configuration)

    • Minecraft 服务器必须对 chat_file(由插件配置指定)具有读写权限。

    Web 服务器配置(Web Server Configuration)

    • PHP 版本 > 5.2.0 或启用了 JSON 扩展
    • 已安装并配置 SSL(建议使用 HTTPS 以保护认证信息)
    • 以下文件需要写权限:chat_sessionsinChat.json

    player_chat.js 配置

    • player_chat.js: line 1 - chatRead(默认:/inChat.json)- 用于读取消息的文件名
    • player_chat.js: line 2 - chatWrite(默认:/outChat.php)- 认证后用于写入消息的文件名
    • player_chat.js: line 3 - authenticator(默认:/minecraft_authenticator.php)- 发送认证请求的文件名
    • player_chat.js: line 4 - expireDays(默认:365)- 客户端浏览器 Cookie 的有效天数
    • player_chat.js: line 5 - chatDelay(默认:3000)- 检查新消息的间隔(毫秒)

    outChat.php 配置

    • outChat.php: line 2 - chatJSON(默认:inChat.json)- 用于写入消息的文件名
    • outChat.php: line 3 - sessionFile(默认:chat_sessions)- 用于读写会话信息的文件名
    • outChat.php: line 4 - timeZone(默认:America/New_York)- 服务器时区设置(参见 PHP 支持的时区

    minecraft_authenticator.php 配置

    • minecraft_authenticator.php: line 2 - sessionFile(默认:chat_sessions)- 用于读写会话信息的文件名

    要求

    • Web 服务器应使用 SSL(虽然不是技术上的严格要求,但强烈建议不要在非 SSL 连接上传输认证信息)
    • 如果聊天页面不是通过 HTTPS 加载,客户端浏览器必须支持 Access-Control-Allow-Origin 头(以满足跨域 AJAX 安全策略,大多数现代浏览器支持)
    • chat_sessions 文件不应对外可见:服务器需对其读写,但不应将其公开到互联网

    安装

    1. 将插件的 jar 包放入 Minecraft 服务器的 plugins 目录。
    2. 将以下文件复制到你的 Web 目录:js/player_chat.jsoutChat.phpminecraft_authenticator.phpinChat.jsonchat_sessionschat.html(示例页面)。
    3. 为 Web 服务器设置 chat_sessionsinChat.json 的写权限。
    4. 为 Minecraft 服务器设置 inChat.json 的写权限。
    5. 启动 CraftBukkit 服务器并开始聊天。

    命令

    • private - 将玩家的聊天模式设置为私有(其聊天消息不会发布到网页)
    • public - 将玩家的聊天模式恢复为公开(其聊天消息会发布到网页)

    已知问题 / 限制

    • chat.html 文件仅作为示例,界面较为简陋,旨在演示如何整合聊天功能
    • 来自 Minecraft 的消息中如果包含 HTML 标记,网页端会原样显示 HTML,存在被滥用的可能性
    • 此聊天功能要求网页用户需有 Minecraft 账户才能认证;如果用户不是正版账户,仍可被允许进入聊天(取决于认证逻辑)

    未来计划

    • 可能增加 Facebook 集成
    • 在 Minecraft 内宣布网页用户的上线/离线状态
    • 对从 Minecraft 传出的聊天消息进行 HTML 转义以避免注入

    文档结构

    • 概述
    • 功能
    • 配置(插件 / 服务器 / Web / 各脚本)
    • 要求
    • 安装
    • 命令
    • 已知问题 / 限制
    • 未来计划

    该文章由SodaMC收录 如侵犯版权请联系社区管理删除

    版本[来自CurseForge.com]

    ExternalChat v0.52012-03-02
    下载
    ExternalChat v0.32012-02-23
    下载
  • 请登录之后再进行评论

    登录
  • Soda任务 图片
  • 偏好设置
  • 主题
  • 帖子间隔 侧栏位置: