mirror of
https://github.com/layue13/MoonBridge.git
synced 2026-10-26 19:03:49 +00:00
新增可选 websocket 配置段,在原有 TCP listen 之外再开一个 WebSocket 监听, 供经 CDN 接入的客户端使用;两种入口共用会话、选服、转服和 maxConnections。 - core.websocket:升级握手(可选 TLS)、二进制消息与 Minecraft 字节流互转、 可信代理真实 IP(X-Forwarded-For 从右取第一个不可信地址 / CF-Connecting-IP 等) - SessionChannels.clientAddress 统一玩家地址,用于两类准入事件、Mojang 验证 IP 与 Bungee 转发 - ConnectionGate 支持升级后才加入管线;登录等待守卫放在 WebSocket 适配器之后 - 未升级连接计入 maxConnections,并受 handshakeTimeoutSeconds 约束 - 测试:真实 socket 上 TCP 与 WebSocket 并存登录与转发、分片/合并/Ping、 在线模式加密与转发 IP、不可信来源、404/文本帧、名额归还、wss 证书加载 - 文档:docs/websocket.md,并更新运行配置、插件、架构与默认配置示例 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GGL9BudzWm4dUQgBsQw4Qr
30 lines
1.9 KiB
TOML
30 lines
1.9 KiB
TOML
[versions]
|
|
junit = "5.14.1"
|
|
netty = "4.2.18.Final"
|
|
jackson = "2.20.0"
|
|
slf4j = "2.0.18"
|
|
logback = "1.6.3"
|
|
adventure = "5.2.0"
|
|
|
|
[libraries]
|
|
junit-bom = { module = "org.junit:junit-bom", version.ref = "junit" }
|
|
junit-jupiter = { module = "org.junit.jupiter:junit-jupiter" }
|
|
netty-transport = { module = "io.netty:netty-transport", version.ref = "netty" }
|
|
netty-codec = { module = "io.netty:netty-codec", version.ref = "netty" }
|
|
netty-handler = { module = "io.netty:netty-handler", version.ref = "netty" }
|
|
netty-codec-http = { module = "io.netty:netty-codec-http", version.ref = "netty" }
|
|
netty-pkitesting = { module = "io.netty:netty-pkitesting", version.ref = "netty" }
|
|
netty-resolver-dns = { module = "io.netty:netty-resolver-dns", version.ref = "netty" }
|
|
netty-transport-classes-epoll = { module = "io.netty:netty-transport-classes-epoll", version.ref = "netty" }
|
|
netty-transport-native-epoll = { module = "io.netty:netty-transport-native-epoll", version.ref = "netty" }
|
|
netty-transport-classes-kqueue = { module = "io.netty:netty-transport-classes-kqueue", version.ref = "netty" }
|
|
netty-transport-native-kqueue = { module = "io.netty:netty-transport-native-kqueue", version.ref = "netty" }
|
|
jackson-databind = { module = "com.fasterxml.jackson.core:jackson-databind", version.ref = "jackson" }
|
|
jackson-yaml = { module = "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml", version.ref = "jackson" }
|
|
slf4j-api = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" }
|
|
logback-classic = { module = "ch.qos.logback:logback-classic", version.ref = "logback" }
|
|
adventure-api = { module = "net.kyori:adventure-api", version.ref = "adventure" }
|
|
adventure-minimessage = { module = "net.kyori:adventure-text-minimessage", version.ref = "adventure" }
|
|
adventure-gson = { module = "net.kyori:adventure-text-serializer-gson", version.ref = "adventure" }
|
|
adventure-plain = { module = "net.kyori:adventure-text-serializer-plain", version.ref = "adventure" }
|