利用日本云服务器和 FRP 搭建 Minecraft Java 公网服务器,同时保留 WordPress

利用日本云服务器和 FRP 搭建 Minecraft Java 公网服务器,同时保留 WordPress

本文记录如何利用一台已经运行 WordPress 的日本云服务器,通过 FRP 将家中 Windows 电脑上的 Minecraft Java 服务端映射到公网。

最终效果:

玩家
  ↓
mc.xoho.top:25565
  ↓
日本云服务器上的 frps
  ↓
FRP 加密隧道
  ↓
家中 Windows 电脑上的 frpc
  ↓
Minecraft 服务端 127.0.0.1:25565

WordPress 继续使用 80 和 443 端口,Minecraft 使用 25565 端口,两者互不冲突。

一、环境说明

  • 日本云服务器:2 核 2GB,峰值带宽 200 Mbps
  • 云服务器系统:Alibaba Cloud Linux 8,x86_64
  • 云服务器已有 WordPress
  • 家中电脑:Windows 64 位 Intel 处理器
  • Minecraft:Java 版 26.2
  • Java:OpenJDK 25
  • FRP:0.69.1
  • 示例域名:mc.xoho.top

二、开放云服务器端口

在云服务商控制台的防火墙中放行以下 TCP 端口:

端口 用途 建议来源
22 SSH 管理 尽量限制为自己的公网 IP
80 WordPress HTTP 0.0.0.0/0
443 WordPress HTTPS 0.0.0.0/0
7000 FRP 控制连接 测试时可设为 0.0.0.0/0,之后建议限制
25565 Minecraft Java 0.0.0.0/0

三、在云服务器安装 FRP 服务端

通过 SSH 登录云服务器:

ssh -i "你的私钥路径.pem" root@你的云服务器公网IP

下载 FRP 0.69.1:

cd /tmp

curl -LO https://github.com/fatedier/frp/releases/download/v0.69.1/frp_0.69.1_linux_amd64.tar.gz

tar -xzf frp_0.69.1_linux_amd64.tar.gz

install -m 755 frp_0.69.1_linux_amd64/frps /usr/local/bin/frps

frps --version

正常应显示:

0.69.1

四、创建 FRP 服务端配置

创建专用用户和配置目录:

id frp >/dev/null 2>&1 || useradd --system --home-dir /nonexistent --shell /sbin/nologin frp

install -d -m 750 -o root -g frp /etc/frp

生成随机 Token:

openssl rand -hex 32

复制生成的字符串并妥善保存。不要将 Token 公开发布。

创建配置文件:

nano /etc/frp/frps.toml

填写:

bindPort = 7000

auth.method = "token"
auth.token = "替换为你自己生成的随机Token"

transport.tls.force = true

allowPorts = [
  { single = 25565 }
]

设置权限:

chown root:frp /etc/frp/frps.toml
chmod 640 /etc/frp/frps.toml

五、配置 frps 开机自启

创建 systemd 服务:

cat > /etc/systemd/system/frps.service <<'EOF'
[Unit]
Description=FRP Server
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=frp
Group=frp
ExecStart=/usr/local/bin/frps -c /etc/frp/frps.toml
Restart=always
RestartSec=5
NoNewPrivileges=true
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF

启动服务:

systemctl daemon-reload
systemctl enable --now frps
systemctl status frps --no-pager

检查 7000 端口:

ss -lntp | grep ':7000'

正常会看到:

LISTEN 0 4096 *:7000 *:* users:(("frps",...))

如果启动失败,可查看日志:

journalctl -u frps -n 50 --no-pager

六、在 Windows 安装 Java 25

以管理员身份打开 PowerShell:

winget install --id Microsoft.OpenJDK.25 -e --accept-package-agreements --accept-source-agreements

安装完成后重新打开 PowerShell:

java -version

正常应显示类似:

openjdk version "25.0.3"

七、创建 Minecraft 服务端

创建服务端目录:

New-Item -ItemType Directory -Force D:\mc-server

将官方服务端 JAR 放入该目录,并命名为:

D:\mc-server\server.jar

首次启动:

cd D:\mc-server
java -Xms1G -Xmx2G -jar .\server.jar nogui

首次运行后会生成 eula.txt。打开它:

notepad D:\mc-server\eula.txt

将:

eula=false

修改为:

eula=true

再次启动:

cd D:\mc-server
java -Xms1G -Xmx2G -jar .\server.jar nogui

看到以下内容表示启动成功:

Done (...)! For help, type "help"

八、检查 Minecraft 配置

打开:

D:\mc-server\server.properties

确认以下配置:

server-ip=
server-port=25565
online-mode=true
enable-rcon=false

server-ip= 后面需要保持为空。

测试本地端口:

Test-NetConnection 127.0.0.1 -Port 25565

正常应显示:

TcpTestSucceeded : True

九、在 Windows 安装 FRP 客户端

创建目录:

New-Item -ItemType Directory -Force C:\frp
cd C:\frp

下载 FRP Windows 64 位版本:

curl.exe -L `
  -o frp.zip `
  "https://github.com/fatedier/frp/releases/download/v0.69.1/frp_0.69.1_windows_amd64.zip"

Intel 和 AMD 的普通 64 位 Windows 电脑都使用 windows_amd64 版本。

解压并复制客户端:

Expand-Archive .\frp.zip -DestinationPath .\pkg -Force

Copy-Item `
  .\pkg\frp_0.69.1_windows_amd64\frpc.exe `
  .\frpc.exe

.\frpc.exe --version

十、配置 FRP 客户端

创建配置:

notepad C:\frp\frpc.toml

填写:

serverAddr = "你的日本云服务器公网IP"
serverPort = 7000

auth.method = "token"
auth.token = "填写与frps完全相同的Token"

transport.tls.enable = true

[[proxies]]
name = "minecraft-java"
type = "tcp"
localIP = "127.0.0.1"
localPort = 25565
remotePort = 25565

保存后启动:

cd C:\frp
.\frpc.exe -c .\frpc.toml

成功时会看到:

login to server success
proxy added: [minecraft-java]
start proxy success

十一、检查公网端口

在 Windows 中测试:

Test-NetConnection 你的云服务器公网IP -Port 25565

如果显示:

TcpTestSucceeded : True

说明整条链路已经打通:

公网玩家 → 日本云服务器 → FRP → 家中 Minecraft 服务端

十二、配置 Cloudflare 域名

进入 Cloudflare 的 DNS 页面,为域名添加一条 A 记录:

类型 A
名称 mc
IPv4 地址 日本云服务器公网 IP
代理状态 仅 DNS,也就是灰色云朵
TTL 自动

普通 Cloudflare 橙色云代理不能直接代理 Minecraft TCP 流量,所以必须保持“仅 DNS”。

检查解析:

nslookup mc.xoho.top

再测试:

Test-NetConnection mc.xoho.top -Port 25565

成功后,玩家可以通过下面的地址进入:

mc.xoho.top

十三、以后如何开服

每次开服时,先启动 Minecraft 服务端:

cd D:\mc-server
java -Xms1G -Xmx2G -jar .\server.jar nogui

等到出现 Done 后,再打开第二个 PowerShell 窗口启动 FRP:

cd C:\frp
.\frpc.exe -c .\frpc.toml

云服务器上的 frps 已设置开机自启,一般不需要每次手动启动。

十四、正确关服

不要直接关闭 Minecraft 服务端窗口。

先在 Minecraft 服务端控制台输入:

stop

等待地图保存并正常退出,然后在 frpc 窗口按:

Ctrl+C

正确顺序:

开服:Minecraft 服务端 → frpc
关服:Minecraft 输入 stop → frpc 按 Ctrl+C

十五、制作一键启动脚本

在桌面创建一个名为 启动MC服务器.bat 的文件,内容如下:

@echo off
start "Minecraft Server" powershell -NoExit -Command "Set-Location D:\mc-server; java -Xms1G -Xmx2G -jar .\server.jar nogui"
timeout /t 15 /nobreak >nul
start "FRP Client" powershell -NoExit -Command "Set-Location C:\frp; .\frpc.exe -c .\frpc.toml"

以后双击脚本即可依次启动 Minecraft 服务端和 FRP 客户端。

十六、安全建议

  • 不要公开 FRP Token。
  • SSH 端口 22 尽量只允许自己的公网 IP。
  • FRP 7000 端口也可以限制为家中公网 IP。
  • 使用 SSH 私钥登录,不建议开放 root 密码登录。
  • 保持 online-mode=true,防止玩家冒用他人账号。
  • 私人服务器可以启用白名单。
  • 定期备份 D:\mc-server\world 世界目录。
  • 关闭服务端前务必使用 stop 命令。

十七、常见问题

1. 本地 25565 测试失败

Test-NetConnection 127.0.0.1 -Port 25565

如果显示 False,说明 Minecraft 服务端没有启动成功,或者没有监听 25565。

2. frps 没有监听 7000

systemctl status frps --no-pager -l
journalctl -u frps -n 50 --no-pager

检查配置文件权限,以及 frp 用户是否能够读取 /etc/frp/frps.toml

3. 公网端口 25565 不通

依次确认:

  • Minecraft 服务端正在运行。
  • frpc 显示 start proxy success。
  • 云服务器防火墙已放行 TCP 25565。
  • frps 的 allowPorts 中包含 25565。

4. 域名解析正常但游戏无法进入

确认 Cloudflare 的 mc 记录是“仅 DNS”,不能开启普通橙色云代理。

总结

通过这种方式,可以在不改变现有 WordPress 环境的情况下,使用日本云服务器作为 Minecraft 的公网入口。

真正的地图、插件和玩家数据仍然保存在家中电脑,日本服务器只负责转发流量,因此 2 核 2GB 的云服务器也足够承担 FRP 中转任务。

最终服务器地址:

mc.xoho.top
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇