tursom ef9cca7440
Some checks failed
Go / build (.exe, 386, windows, windows-386) (push) Has been cancelled
Go / build (.exe, amd64, windows, windows-amd64) (push) Has been cancelled
Go / build (.exe, arm64, windows, windows-arm64) (push) Has been cancelled
Go / build (386, freebsd, freebsd-386) (push) Has been cancelled
Go / build (386, linux, linux-386) (push) Has been cancelled
Go / build (386, netbsd, netbsd-386) (push) Has been cancelled
Go / build (386, openbsd, openbsd-386) (push) Has been cancelled
Go / build (386, plan9, plan9-386) (push) Has been cancelled
Go / build (amd64, darwin, darwin-amd64) (push) Has been cancelled
Go / build (amd64, dragonfly, dragonfly-amd64) (push) Has been cancelled
Go / build (amd64, freebsd, freebsd-amd64) (push) Has been cancelled
Go / build (amd64, illumos, illumos-amd64) (push) Has been cancelled
Go / build (amd64, linux, linux-amd64) (push) Has been cancelled
Go / build (amd64, netbsd, netbsd-amd64) (push) Has been cancelled
Go / build (amd64, openbsd, openbsd-amd64) (push) Has been cancelled
Go / build (amd64, plan9, plan9-amd64) (push) Has been cancelled
Go / build (amd64, solaris, solaris-amd64) (push) Has been cancelled
Go / build (arm, 6, linux, linux-armv6) (push) Has been cancelled
Go / build (arm, 7, linux, linux-armv7) (push) Has been cancelled
Go / build (arm, freebsd, freebsd-arm) (push) Has been cancelled
Go / build (arm, netbsd, netbsd-arm) (push) Has been cancelled
Go / build (arm, openbsd, openbsd-arm) (push) Has been cancelled
Go / build (arm, plan9, plan9-arm) (push) Has been cancelled
Go / build (arm64, darwin, darwin-arm64) (push) Has been cancelled
Go / build (arm64, freebsd, freebsd-arm64) (push) Has been cancelled
Go / build (arm64, linux, linux-arm64) (push) Has been cancelled
Go / build (arm64, netbsd, netbsd-arm64) (push) Has been cancelled
Go / build (arm64, openbsd, openbsd-arm64) (push) Has been cancelled
Go / build (loong64, linux, linux-loong64) (push) Has been cancelled
Go / build (mips, linux, linux-mips) (push) Has been cancelled
Go / build (mips64, linux, linux-mips64) (push) Has been cancelled
Go / build (mips64le, linux, linux-mips64le) (push) Has been cancelled
Go / build (mipsle, linux, linux-mipsle) (push) Has been cancelled
Go / build (ppc64, aix, aix-ppc64) (push) Has been cancelled
Go / build (ppc64, linux, linux-ppc64) (push) Has been cancelled
Go / build (ppc64, openbsd, openbsd-ppc64) (push) Has been cancelled
Go / build (ppc64le, linux, linux-ppc64le) (push) Has been cancelled
Go / build (riscv64, freebsd, freebsd-riscv64) (push) Has been cancelled
Go / build (riscv64, linux, linux-riscv64) (push) Has been cancelled
Go / build (riscv64, openbsd, openbsd-riscv64) (push) Has been cancelled
Go / build (s390x, linux, linux-s390x) (push) Has been cancelled
Go / build (wasm, js, js-wasm) (push) Has been cancelled
Go / build (wasm, wasip1, wasip1-wasm) (push) Has been cancelled
Go / merge-artifacts (push) Has been cancelled
添加 haproxy 协议支持
添加插件功能支持
2025-07-10 12:00:31 +08:00
2025-07-10 12:00:31 +08:00
2025-07-10 12:00:31 +08:00
2025-07-01 08:02:04 +08:00
2025-07-01 18:38:50 +08:00
2025-07-10 12:00:31 +08:00
2025-07-10 12:00:31 +08:00
2024-10-03 19:38:39 +08:00
2025-07-06 21:07:54 +08:00

mc-gateway

一个简易的 Minecraft 网关,通过 host 将客户端的流量转发到对应的后端 Minecraft 服务器。

配置

目前 mc-gateway 只支持读取当前目录的 config.toml 作为配置。在 config.toml 被修改时,可以自动加载并更新部分配置,以达到不停机修改配置的效果。支持热加载的配置有:

  • hosts
  • log
  • KCP 的 data_shards 和 parity_Shards
  • QUIC 的 application_protocols
  • pid_file

顶层配置

配置 类型 备注
pid_file string pid 文件

pid_file 在非 windows 平台默认会写入 /var/run/mc-gateway.pid 在 windows 平台默认不会写入任何文件

hosts

hosts 使用期望的 host 做 key转发的目的地址为 value。参考config.example.toml。默认的 fallback host 配置 key 为 default

log

配置 类型 备注
level Level 日志等级
file string 日志文件

日志适配 logrotate可以使用 logrotate 进行日志分片、压缩等日常运维操作,参考配置:

/var/log/mc-gateway.log {
    copytruncate
    daily
    missingok
    rotate 14
    compress
    compresscmd /usr/bin/zstd
    compressext .zst
    compressoptions -T0 --long
    uncompresscmd /usr/bin/unzstd
    notifempty
    delaycompress
    dateext
    postrotate
        # 向程序发送 SIGHUP 信号
        # mc-gateway 默认会将当前进程的 pid 写入 /var/run/mc-gateway.pid
        if [ -f /var/run/mc-gateway.pid ]; then
            kill -SIGHUP $(cat /var/run/mc-gateway.pid)
        fi
    endscript
}

tcp

配置 类型 备注
enable bool 是否启用
port int 端口

默认端口为 25565与 Minecraft 服务端保持一致

kcp

配置 类型 备注
enable bool 是否启用
port int 端口
data_shards int 数据分片
parity_Shards int 校验分片

quic

配置 类型 备注
enable bool 是否启用
port int 端口
application_protocols []string 应用协议列表

application_protocols 只要客户端与服务端有一个能够对应上就可以成功连接 默认值为 ["minecraft", "quic", "raw", "h3"]

websocket

配置 类型 备注
enable bool 是否启用
port int 端口
path str 接口路径

path 默认为 "/",会对所有路径的请求进行处理

port 默认为 25566

Description
No description provided
Readme 1.8 MiB
Languages
Go 90.4%
TypeScript 7.9%
HTML 0.8%
CSS 0.7%
Dockerfile 0.2%