- 商业转载请联系作者获得授权,非商业转载请注明出处。
- 协议(License): 知识共享署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
- 作者(Author): lhDream
- 链接(URL): https://blog.luhua.site/archives/1734968846131
软路由系统 iStoreOS 中部署 Minecraft 服务器
前言
本文将介绍如何在软路由系统 iStoreOS 中通过 Docker 部署 Minecraft 服务器。此方法同样适用于其他支持 Docker 的系统,以及运行 Java 程序的场景。值得一提的是,本方案同样兼容 OpenWrt 系统。在 OpenWrt 系统上使用时,请确保已安装并正确配置 Docker 环境,可以通过 opkg 软件包管理器安装必要依赖。此外,根据 OpenWrt 的存储和性能限制,建议将数据目录挂载到外置存储设备以提升运行效果。
环境要求
依赖环境
- Docker:确保系统已安装并支持 Docker,如果尚未安装,请先配置 Docker 环境。
一键启动命令
以下命令将在基于 Java 17 的 Docker 容器中启动 Minecraft 服务器。服务器的数据将存储于宿主机的 /mnt/nvme0n1-4/mc/server
目录下。如果用户需要自定义数据目录或修改端口映射,可将命令中的 -v
和 -p
参数按需调整。例如,-v /你的自定义路径:/app
可以设置新的数据存储目录,-p 你的端口:25565
可以更改服务器对外的连接端口。同时,确保命令中的 server.jar
文件路径与实际位置一致。
docker run -it --rm \-v /mnt/nvme0n1-4/mc/server:/app \-p 25565:25565 \bitnami/java:17 \java -jar /app/server.jar
命令说明
docker run -it --rm
:启动一个交互式、临时的容器,关闭后自动删除。-v /mnt/nvme0n1-4/mc/server:/app
:将宿主机的/mnt/nvme0n1-4/mc/server
目录挂载到容器的/app
路径。-p 25565:25565
:将容器的 25565 端口映射到宿主机,供外部客户端连接。bitnami/java:17
:指定运行环境,基于 Java 17 的 Docker 镜像。java -jar /app/server.jar
:执行位于容器/app
目录下的server.jar
文件。
注意事项
-
目录权限:确保宿主机的
/mnt/nvme0n1-4/mc/server
目录具有正确的读写权限。在 OpenWrt 环境下,可以使用以下命令检查和设置权限:# 检查目录权限 ls -ld /mnt/nvme0n1-4/mc/server# 如果需要设置权限 chmod -R 755 /mnt/nvme0n1-4/mc/server chown -R root:root /mnt/nvme0n1-4/mc/server
请根据实际用户和组的需求调整
chmod
和chown
参数。 -
文件路径:根据实际情况修改命令中的
server.jar
路径为你服务器核心文件所在位置。 -
网络设置:如果在局域网外访问,请配置路由器的端口转发规则,将外部访问映射到宿主机 25565 端口。
通过上述方式,即可在软路由系统 iStoreOS 和 OpenWrt 系统上成功部署 Minecraft 服务器。为帮助用户更好地应对部署中的可能问题,这里列举了一些常见问题及解决方法:
-
端口冲突:
检查宿主机是否已有其他服务占用 25565 端口,使用netstat -tuln | grep 25565
确认。如果冲突,可在命令中更改-p
参数,将端口映射到其他未占用的端口。 -
性能优化:
在设备资源有限的情况下,可以考虑为 Docker 容器限制 CPU 和内存资源,例如添加--memory
和--cpus
参数。此外,确保 Minecraft 的运行参数已根据服务器规模优化,例如-Xms
和-Xmx
设置。 -
数据丢失:
请定期备份数据目录,例如通过 cron 定期复制/mnt/nvme0n1-4/mc/server
到安全位置,以防止意外情况导致数据损失。