利用日本云服务器和 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