[OLD] Multisocket

[OLD] Multisocket - 多端互通插件

适用于 Spigot 与 BungeeCord
Bukkit / Spigot 作者 Hazae41 支持版本 1.7 - 1.13
服务器使用量
未统计
服务玩家数
未统计
下载量
10,451
插件详细介绍

简介

厌倦了传统的插件消息通道吗?mc-multisockets 为开发者提供了一个简洁的解决方案,它使用带 SSL 的套接字,让你能在服务器之间轻松发送任意数据。无论是 BungeeCord 还是 Spigot 实例,只需几行代码即可实现双向通信,告别繁琐配置。它基于 WebSockets 协议,支持完整的双向对话,而不仅仅是简单的请求-响应。你甚至可以使用 JavaScript 从 Web 应用程序发送和接收数据。

核心特性

  • 跨平台通信:支持在 BungeeCord 与 Spigot 服务器实例之间发送任何数据。
  • 双向对话:基于 WebSockets,支持持续的、多轮次的通信,而非单一请求-响应。
  • 外部集成:可通过 JavaScript 与 Web 应用程序进行数据交换。
  • 简单部署:管理员只需将插件文件放入对应服务器的 plugins 文件夹即可。
  • SSL 支持:通信使用 SSL 加密,确保数据传输安全。

管理员指南

安装与配置

安装过程非常简单

  • 将插件文件放入你的 BungeeCord 以及所有 Spigot 服务器的 plugins 文件夹中。
  • 重启各服务器以加载插件。
  • 根据你的网络结构,在每个服务器的配置文件中设置套接字端口和连接信息。

网络配置示例

假设你有一个 BungeeCord 和两个 Spigot 服务器(Factions 和 HungerGames)。每个服务器都将运行一个套接字,并监听不同的端口。

BungeeCord 配置 (监听端口 25590)

sockets:
  "bungee":
    port: 25590
    connections:
      "factions":
        host: localhost
        port: 25591
      "hungergames":
        host: localhost
        port: 25592

Factions 服务器配置 (监听端口 25591)

sockets:
  "factions":
    port: 25591
    connections:
      "bungee":
        host: localhost
        port: 25590
      "hungergames":
        host: localhost
        port: 25592

HungerGames 服务器配置 (监听端口 25592)

sockets:
  "hungergames":
    port: 25592
    connections:
      "factions":
        host: localhost
        port: 25591
      "bungee":
        host: localhost
        port: 25590

开发者指南

当前支持与依赖

  • 支持语言:目前仅支持 Kotlin。
  • 依赖获取:请前往 JitPack 获取该库。

Kotlin 使用示例

以下代码展示了如何在插件启用时设置套接字、定义路由并启动对话。

// 当你的插件启用时
override fun onEnable() {
    // 当任何套接字启动时
    onSocketEnable { name ->
        println("Enabled socket $name on port $port")
        // 必须在此处定义所有路由
        // 创建到 /MyPlugin/test 的路由
        onConversation("/MyPlugin/test") {
            // 发送消息
            send("it works!")
            // 等待接收消息
            println(readMessage())
            // 可以重复多次
            send("it still works!")
            println(readMessage())
        }
        hello("factions")
    }
}

fun Socket.hello(target: String) {
    // 获取到目标服务器的连接
    val connection = connections[target] ?: return println("Unknown connection: $target")
    // 启动一个到 /MyPlugin/hello 的对话
    connection.conversation("/MyPlugin/hello") {
        // 发送消息
        send("hello world!")
        // 等待接收消息
        println(readMessage())
    }
    connection.printFactions()
}

fun Connection.printFactions() {
    // 这是一个简便函数,等效于 conversation { readMessage() }
    request("/Factions/factions") { result ->
        // 仅打印接收到的第一条消息,然后关闭对话
        println(result)
    }
}

获取帮助

如需更多技术细节、报告问题或参与讨论,请访问该插件的 GitHub 仓库,并加入 #mc-multisockets 频道。

测试支持版本
1.7 1.8 1.9 1.10 1.11 1.12 1.13
版本分布
基本信息
插件名称 [OLD] Multisocket
作者 Hazae41
平台 Bukkit / Spigot
支持版本 1.7 - 1.13
点赞数 16
最近版本
暂无数据 -

友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作

历史访问人数:2,671,239  |  历史访问人次:3,238,108

今日访问人数:16,681  |  今日访问人次:19,086

昨日访问人数:30,655  |  昨日访问人次:36,381

Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.

Powered by GermMC 京ICP备17023959号-6