Mindustry私有服务器部署手册:快速构建多人联机环境
概述
Mindustry是一款开源的自动化工厂建造与塔防策略游戏,支持玩家自建服务器实现多人协作或对抗。本指南将详细介绍如何在主流操作系统上完成服务端部署,涵盖环境配置、编译构建、运行调优及网络连通等关键环节。
前置依赖
服务端运行需要Java运行时环境,推荐采用JDK 17 LTS版本。可通过以下方式验证当前环境:
java -version
若版本不符,请按系统类型选择安装方案:
- Debian/Ubuntu:
sudo apt update && sudo apt install openjdk-17-jdk - Windows:从Adoptium或Oracle官网获取安装包
- macOS:
brew install --cask temurin17
获取源码并构建
克隆官方仓库至工作目录:
git clone https://github.com/Anuken/Mindustry.git
cd Mindustry
执行Gradle构建任务生成服务端可执行文件:
# Unix-like系统
./gradlew server:dist
# Windows CMD
gradlew.bat server:dist
# Windows PowerShell
.\gradlew server:dist
构建产物位于server/build/libs/server-release.jar,该JAR文件即为服务端核心程序。
服务端配置详解
首次启动会自动生成config/目录,关键文件包括:
| 文件 | 用途 |
|---|---|
| server.json | 网络参数、游戏模式、玩家上限 |
| maps/ | 自定义地图存储路径 |
| mods/ | 扩展模组加载目录 |
| logs/ | 运行日志归档 |
典型server.json配置示例:
{
"host": "0.0.0.0",
"bindPort": 6567,
"serverName": "Industrial Frontier",
"motd": "自动化工厂与战略防御",
"playerLimit": 8,
"defaultMode": "attack",
"autosaveInterval": 300,
"whitelist": false,
"cheatProtection": true
}
启动与进程管理
基础启动命令:
java -jar server-release.jar
生产环境建议采用JVM调优参数:
java -server \
-Xms1G -Xmx4G \
-XX:+UseG1GC \
-XX:+ParallelRefProcEnabled \
-XX:MaxGCPauseMillis=200 \
-jar server-release.jar nogui
使用systemd实现后台托管(Linux):
# /etc/systemd/system/mindustry.service
[Unit]
Description=Mindustry Dedicated Server
After=network.target
[Service]
Type=simple
User=mindustry
WorkingDirectory=/opt/mindustry
ExecStart=/usr/bin/java -Xmx3G -jar server-release.jar
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
网络连通配置
服务端默认监听UDP 6567端口,需确保:
- 操作系统防火墙放行:
sudo ufw allow 6567/udp - 云服务器安全组配置入站规则
- 家庭网络需配置NAT端口转发(外部端口→内网主机:6567)
客户端连接方式:
- 本地测试:
localhost:6567或127.0.0.1:6567 - 局域网直连:服务端内网IP加端口
- 公网访问:域名或公网IP加端口
地图与模组管理
通过控制台指令动态切换地图:
maps # 列出可用地图
map <名称> # 加载指定地图
host <地图名> <模式> # 以指定配置重启游戏
模组安装流程:
- 从社区仓库下载
.jar或.zip格式的模组包 - 放置于
config/mods/目录 - 执行
mods指令验证加载状态 - 使用
mod <名称> enable激活
运维与监控
常用控制台指令:
| 指令 | 功能 |
|---|---|
| help | 显示可用命令列表 |
| status | 查看在线玩家与性能数据 |
| kick <玩家名> | 移除指定玩家 |
| ban | 封禁访问 |
| say <消息> | 广播服务器消息 |
| exit | 安全关闭并保存 |
日志轮转建议配置logrotate或同类工具,防止磁盘空间耗尽。
故障排查速查
- 启动报
UnsupportedClassVersionError - 确认
JAVA_HOME指向JDK 17,检查多版本冲突 - 端口绑定失败
- 执行
ss -ulnp | grep 6567定位占用进程,或修改监听端口 - 客户端连接超时
- 逐层排查:服务端本地回环→同网段主机→跨网段路由→公网可达性
- 游戏过程中卡顿
- 监控GC日志,调整堆内存;降低同屏单位数量或玩家上限