MC 服务器部署与架构

服务器:49.232.135.134 · 版本:Fabric 1.16.5 · 部署方式:AI 一句话部署 · 状态:🟡 需手动开机(探针已停用)
本文档介绍技术架构;玩家看 MC服务器游玩指南。


〇、核心:这是 AI 托管服务器

部署、白名单、世界设置、换地图——全程 AI 一句话搞定,从头到尾没有手动敲命令。

服务器上运行 AI Agent(Hermes / Amadeus),微信可直连:

一句话 实际做什么
"帮 HCN 加白名单" 远程执行 whitelist add HCN
"换个地图玩探险图" 切换世界目录 + 重启 MC
"把和平难度改成困难" 改 server.properties + 重启
"服务器卡不卡" 查 TPS / 内存 / 日志

即便本人不在电脑前,微信上也能完全管理这台 MC 服务器。


一、技术栈与现状(2026-08-11)

项目 值
版本 Fabric 1.16.5(Loader 0.19.3)
Java OpenJDK 17(/usr/bin/java)
路径 /home/ubuntu/mc-server/
mod Lithium 0.6.6 / FerriteCore 2.1.1 / Krypton 0.1.2 / Phosphor 0.8.0 / Fabric API / Chunky
JVM -Xms768M -Xmx1536M -XX:+UseG1GC -XX:MaxGCPauseMillis=200
内存 MC 最多 1.5G + 2G swap 兜底
端口 25565(游戏)· 25575(RCON 管理)
白名单 whitelist=true(离线服安全核心)

二、核心机制:手动启停(省内存)

想玩 ──▶ 微信说一声 / sudo systemctl start mc-server ──▶ 约 15 秒开机
玩完 ──▶ sudo systemctl stop mc-server ──────────────▶ 释放约 1.5G
  • 省内存:不开机时 MC 完全不占内存,释放给其他服务(网站/数据库)
  • 游戏模式切换:MC 启动时自动 docker stop searxng + 杀闲置 Chrome(省 ~350MB);MC 停止自动恢复
  • 为什么不再自动唤醒:旧的 mc-wake 探针无条件信任任何连上 25565 的连接,被公网扫描器当门铃按——2026-09-25 前 24 小时内唤醒 91 次(84 次来自同一段 IP),每次空跑一个 1.5G 的 JVM 十五分钟。无人游玩期不值得,已停用。
  • 恢复自动唤醒:sudo systemctl enable --now mc-wake.service mc-idle.timer,并取消 /etc/systemd/system/mc-server.service 里 ExecStopPost=... restart mc-wake.service 那行的注释(不取消的话,每次关服都会把探针重新拉起来)。更彻底的方案是先给探针加 next_state 判别(握手包 next_state=1 是列表查询,=2 才是真登录),只对真登录唤醒。

三、内存与性能预算

总内存 3.3G
  Hermes/网站/数据库 ≈ 1.2G(常驻)
  MC 独占          ≈ 1.5G(游戏时)
  swap 兜底        ≈ 2G(防 OOM,平时空着)

卡顿判断:

  • 挖方块"等一下才掉"、怪瞬移 → 服务器 TPS 掉了(人太多/区块加载)→ 别开第三个玩家或等它缓
  • 画面一顿一顿 → 客户端掉帧 → 玩家装 Sodium
  • 动作有延迟 → 网络延迟(几十 ms 正常)

四、管理入口

日常管理(微信 → AI Agent)

白名单添加、资料查看、重启、换图、改设置,全部一句话远程完成,无需 SSH。

手动兜底(SSH)

sudo systemctl start mc-server    # 手动开机
sudo systemctl stop mc-server     # 手动关机
systemctl status mc-server        # 状态
sudo journalctl -u mc-server -n 50  # 日志
systemctl is-active mc-wake       # 探针已停用,应为 inactive

游戏内命令(控制台)

whitelist add <名字>     # 加白名单
whitelist list           # 看白名单
op <名字>                # 给管理员
gamemode creative <名字> # 切创造

五、配置修改

/home/ubuntu/mc-server/server.properties 关键项:

online-mode=false        # 离线模式(同学能进;别改回 true)
view-distance=5          # 视野(调大=更吃内存)
max-players=5            # 人数上限
whitelist=true           # 白名单开关

JVM 参数在 /etc/systemd/system/mc-server.service 的 ExecStart 行。

改完:sudo systemctl daemon-reload && sudo systemctl restart mc-server


六、故障排查

症状 原因 解决
连不上/超时 安全组没放行 腾讯云防火墙加 25565
一直卡"连接中" 服务器没开机 微信说一声,或 sudo systemctl start mc-server
进去说"不在白名单" 名字没加 微信一句话加白名单
内存爆了 MC 超 1.5G(人太多) 等空闲自动关,重开
服务器起不来 看日志 journalctl -u mc-server -n 50
无人在玩却反复起停 探针被公网扫描器触发 已停用探针,改手动启停(见第二节)

七、升级记录

  • 2026-08-11:初始部署(AI 一句话完成:Fabric 1.16.5 + 4 性能 mod + 探针唤醒 + 空闲关闭 + 游戏模式切换)
  • 2026-08-11 v2:修复空闲检测自激循环(mc-idle.sh 改走 RCON 25575,不再触发唤醒探针);预生成世界 10,201 区块(半径 800 格);补装 Fabric API + Chunky
  • 2026-09-25:停用按需唤醒(mc-wake + mc-idle.timer 已 disable,ExecStopPost 重启探针那行已注释)——公网扫描器把探针当门铃,24h 唤醒 91 次、每次空跑 1.5G JVM 十五分钟;改为手动启停,游戏模式切换逻辑保留

相关