晚上八点,三个人一起进服,走两步卡一下,群里开始问“你这服是不是要挂了”。你把 server.properties 翻到后半段,看到 max-tick-time、sync-chunk-writes、prevent-proxy-connections 这些从没动过的键,不知道哪个有用、哪个一动就会让人进不来。
基础项决定“别人看到什么、能不能进”,这一页的进阶项决定“进得快不快、稳不稳、安不安全”。它们大多数时候不用动,真要动,先弄清它在哪一层生效,比抄一份“优化参数”有用得多。下面每一组都按同一个顺序写:管什么 → 默认值 → 手机服推荐值 → 改错的后果 → 要不要重启。
这十几个键全部只在服务端启动时读一次,改完必须停止再启动。
性能先动两个距离:2~5 人手机服把视距和模拟距离都设为 6。
会挡住人的五个键:
online-mode、white-list、enforce-whitelist、prevent-proxy-connections、enforce-secure-profile。RCON 与 Query 默认关闭,没有需求就别开。
其余键(
max-tick-time、sync-chunk-writes、rate-limit、log-ips)保持默认最安全。
改完为什么不生效:这些键全部要重启#
服务端启动时把整份文件读进内存,之后不再回头看磁盘。所以在配置页点保存,只是把值写进文件,当前这局还是旧值;没有任何一个键能在运行中生效。要生效只有一条路:点「停止」,等状态变成未运行,再点「启动」。Minexa 没有独立的重启按钮。
| 你改的东西 | 生效时间 | 要不要重启 |
|---|---|---|
server.properties 里任意键 | 下次启动 | 要 |
| 配置页的「保存」按钮 | 只写进磁盘 | 不重启等于没改 |
| 玩家页的白名单开关 | 立即 | 不用,但重启后被文件覆盖 |
改法有两条:底部「服务器管理 → 服务器配置」是表单,常见键都能改;表单里没有的键(负数、新版本才有的键)去「文件」里编辑。两条路都只是写文件,页面细节见 服务器配置页。
一次改五项再重启,出问题你分不清是哪一项干的。正确节奏是:改一项 → 重启 → 进服走一圈 → 再改下一项。
性能类:先动两个距离,其余两个别乱碰#
这一组决定手机扛不扛得住。四个键里真正值得调的是前两个;后两个改了没有收益,只有风险。
| 键 | 默认 | 2~5 人手机服 | 改错的后果 |
|---|---|---|---|
view-distance | 10 | 6(还卡就 5) | 调高 → 内存暴涨、玩家卡在“加载地形” |
simulation-distance | 10 | 6 | 低于 4 → 作物不长、怪不刷、红石停 |
max-tick-time | 60000 | 不动 | 调小 → 服务端把自己判定成卡死并退出 |
sync-chunk-writes | true | 不动 | 改 false → 断电或强停时区块损坏 |
view-distance:客户端能看多远#
它管的是服务端把周围多少区块的数据发给客户端,单位是区块(16×16 格),不是格。默认 10,即每个玩家周围 21×21 个区块都要准备好。
推荐:4GB 手机、2~5 人填
6;8GB 手机、8~10 人填8。改错:调到
12以上,内存和时间全花在发地形上,玩家反而更卡,甚至卡在加载界面直到超时。重启:要。
视距是手机上最吃内存的一项,它和客户端自己的“渲染距离”是两回事,让玩家调低渲染距离救不了服务端。
simulation-distance:服务器真的在算多远#
它决定多远以内的实体、作物、红石、刷怪笼是真的在运转。默认 10。推荐手机服填 6,再省也别低于 4;设成 2 看着很省,实际你走开几十格,农田和刷怪塔就全停了。改完要重启。
模拟距离不要大于视距,多算的部分没人看得见。两个一起降效果最明显,数值原理见 视距与模拟距离。
另外两个键:改了只有风险#
max-tick-time 是看门狗(watchdog):单个游戏刻的处理超过这个毫秒数,服务端就判定自己卡死并强制退出,默认 60000(60 秒)。保持默认就好——调成 10000 这种小值,一次世界保存就可能让它误判退出;改成 -1 等于关掉看门狗,真卡死时服务端会一直僵着。
sync-chunk-writes 决定区块写入是不是立刻刷盘,默认 true。改成 false 只快一点点,代价是可能丢档:手机被系统杀掉、突然断电、或者你点了强制停止,正在写的区块就可能损坏,Level is corrupt 这类报错多半和它有关。两个键都只在启动时读,改完都要重启。
网络类:压缩、代理检测、Query 与限速#
这一组影响进服速度和流量,也影响“某些人为什么进不来”。默认值都安全,只有 prevent-proxy-connections 例外:它默认关闭,开了反而容易挡人。
| 键 | 默认 | 建议 | 改错的后果 |
|---|---|---|---|
network-compression-threshold | 256 | 保持 256 | 调太小 → CPU 忙在压缩上;-1 → 流量翻几倍 |
prevent-proxy-connections | false | 一般保持 false | 开 true → CGNAT、校园网、加速器玩家进不来 |
enable-query | false | 不需要就关 | 开了没坏处,但要额外放行 UDP |
query.port | 25565 | 开 Query 才相关 | 和别的服务撞端口时查询失效 |
rate-limit | 0 | 保持 0 | 调小 → 玩家走路都顿,甚至被断开 |
network-compression-threshold:压缩的取舍#
超过这个字节数的数据包才压缩,默认 256。
推荐:手机服保持
256。CPU 更弱的手机可以试512,流量大一点、CPU 压力小一点。改错:改到
128甚至更小,压缩更积极,但压缩本身要 CPU,进服反而更慢;改成-1完全不压缩,流量成倍增长。重启:要。
prevent-proxy-connections:挡的是代理,误伤的是玩家#
开着它,服务端会拿登录服务器看到的 IP 和实际连接 IP 比对,不一致就拒绝,默认 false。
推荐:只在明确被扫描、被攻击时临时打开,平时关着。
改错:开了之后,用运营商大内网(CGNAT)、校园网、公司网、部分加速器或 VPN 的玩家会一律进不来,而他们自己不知道为什么。
重启:要。
排查时记住顺序:先关它,再看是不是隧道的问题,见 联机问题排查。
enable-query 与 rate-limit:两个只该留默认的键#
Query 是服务器列表和监控工具读取在线人数的老协议,不影响玩家进服,默认 false;query.port 默认 25565,走 UDP,和游戏端口不冲突。要用就保持这两个默认值——应用提供的直连隧道只转发 TCP,Query 走 UDP,跨网络基本查不到。
rate-limit 限制每秒每个玩家能发多少数据包,默认 0 表示不限。它是防攻击参数,不是优化参数:设成 10 这种小值,正常玩家跑步、开箱子都会被限速,表现是“走走停停然后被断开”。
三个键都只在启动时读,改完都要重启。
安全类:六个键决定谁能进、以什么身份进#
这一组最容易把人挡在门外。默认值(online-mode=true、white-list=false)本身合理,问题都出在为了“让人进来”而乱改。
| 键 | 默认 | 建议 | 改错的后果 |
|---|---|---|---|
online-mode | true | 保持 true | 改 false → 谁都能用你的名字进来 |
enforce-secure-profile | true | 保持 true | 改 false → 客户端不验签名,聊天可伪造 |
white-list | false | 熟人服 true | 名单空着就开 → 所有人都进不来 |
enforce-whitelist | false | 与上一项一起开 | OP 不在名单里 → 连你也进不来 |
enable-status | true | 保持 true | 改 false → 列表里显示连不上,只能手动输地址 |
hide-online-players | false | 一般 false | 改 true → 别人看不到谁在线,排查也少线索 |
online-mode:唯一一个“改了就像换了个服”的键#
true 时服务端会去验证账号,没有正版的人进不来;false 就是离线模式,UUID 由名字算出来,冒名者用你朋友的名字进来会直接继承他的背包、位置和权限,详见 server.properties 基础项。
enforce-secure-profile:关掉它,聊天就不再可信#
1.19 之后玩家聊天要带签名,这一项默认 true。改成 false 能让部分客户端(离线版、某些改过的客户端)进来,代价是聊天签名不再强制,别人可以伪装成另一个人的发言,出事也没有可举报的凭证。保持 true,改完要重启。
enable-status 与 hide-online-players:列表里的可见性#
enable-status 默认 true,决定服务端要不要回应服务器列表的 ping。改成 false 后,别人列表里的你会显示成连不上,但手动输入 IP:端口 仍然能进。除非正被扫描骚扰,否则别关。
hide-online-players 默认 false,改成 true 会隐藏列表里那个“谁在线”的悬浮信息。它只影响列表回执,不影响游戏内 Tab 列表,想真藏住在线的玩家得靠权限插件。两项都在启动时读,改完都要重启。
存档与日志:不会当场报错,过几天才后悔#
| 键 | 默认 | 建议 | 改错的后果 |
|---|---|---|---|
max-world-size | 29999984 | 不动 | 改小 → 世界边界收缩,走远了被挡住 |
level-seed | 空 | 不动 | 老世界改它没效果;配上新 level-name 会生成新图 |
enable-command-block | false | 保持 false | 开 true → 红石能执行命令,误触就清地图 |
log-ips | true | 保持 true | 关掉 → 日志里没 IP,联机问题无从查 |
level-seed 只在第一次生成这个世界时起作用,改了它已有世界不会变;但如果同时把 level-name 换成新名字,服务端会按新种子生成一张新地图,看起来就像“旧存档没了”。换图前先备份,见 备份策略与恢复演练。
max-world-size 是世界边界半径的上限,不是磁盘占用上限;改小后边界立刻收缩,边界外的建筑还在,但玩家过不去。enable-command-block 打开后,带 OP 的玩家能放命令方块,红石一触发就执行,一个写错的循环方块几秒内能把地图填满。
RCON 与资源包:配置写对了也可能出事#
RCON 是远程控制台,资源包是强制发给客户端的材质包,两者都不适合新手随手开。
| 键 | 默认 | 建议 |
|---|---|---|
enable-rcon | false | 保持 false:应用内的终端已经能执行命令 |
rcon.port | 25575 | 真要开就改成非默认端口 |
rcon.password | 空 | 必须设长随机密码,空密码等于没装门 |
broadcast-rcon-to-ops | true | 保持默认,给自己留操作记录 |
resource-pack / resource-pack-sha1 | 空 | 两个一起填,校验不过客户端会拒绝 |
require-resource-pack | false | 保持 false,设 true 时资源包一挂所有人都进不来 |
resource-pack-prompt 只在 1.20.3 及更新版本里有,用来写一句下载提示,填错不影响进服。真正会挡人的是 require-resource-pack:链接失效、sha1 不匹配、玩家手机下载超时,都会让人卡在“正在下载资源包”然后被踢,所以没有明确需求就保持 false。
RCON 不带限速、不带验证码,端口被扫到就等于服务器被人接管。真要开:改非默认端口、用长随机密码、只允许本机访问,用完就关。更省事的做法是直接用应用的「终端」。
直接抄:一份 2~5 人手机服配置#
下面这段是「2~5 人、8GB 内存以下手机、正版生存服」的起点。只改文件里同名的行,不要整份覆盖,否则端口、MOTD 和其它键都会丢。
# 2~5 人手机服起点:改完必须 停止 → 启动
# 性能
view-distance=6
simulation-distance=6
sync-chunk-writes=true
max-tick-time=60000
# 网络
network-compression-threshold=256
prevent-proxy-connections=false
enable-query=false
query.port=25565
rate-limit=0
# 安全
online-mode=true
enforce-secure-profile=true
white-list=true
enforce-whitelist=true
enable-status=true
hide-online-players=false
# 存档与日志
enable-command-block=false
log-ips=true人数上到 8~10、手机有 8GB 内存时,只把两个距离提到 8,其余不变。再多的人,瓶颈通常不是这几个键,而是内存和 CPU,见 综合优化。
改完怎么验证:看三个地方#
重启后看终端里的
Done。出现Done (…s)! For help, type "help"才算按新配置启动成功;还卡在Starting就别让人进。自己先进一次。进不去,说明撞上了上面“会挡住人”的键,按那一行往回改。
看 TPS。Paper 系在控制台发
tps,20 是满分;持续低于 15 说明视距还是偏高,先降视距,再让外网的朋友试。
改完点过「停止」再点「启动」,终端出现过
Done。view-distance和simulation-distance都不大于 8,模拟距离不低于 4。online-mode和enforce-secure-profile仍然是true。white-list=true时,名单里至少有你自己。enable-rcon、enable-query是false,除非你确实在用。知道哪种情况要回滚:进不去、卡在加载、TPS 掉到 15 以下。
下一步#
每个键的默认值和完整清单:server.properties 全项速查表
视距到底该给多少:视距与模拟距离
想开公网又不想被扫:公网 IP、端口映射与 IPv6