Windows/Linux/Docker 搭建 Minecraft Java 版服务器

分别为 Windows、Linux 和 Docker 搭建方式

环境

  • Windows Server 2016 Standard
    • 已安装 2020 5 月更新
  • Ubuntu 18.04
  • Docker 19.03.8
  • Minecraft Java 版本(Windows 10)
    • 截止到 2020.5.14,官方最新版本为 1.15.2

准备

  • Minecraft Java Server
    • 下载地址
    • 截止到 2020.5.14,官方最新版本为 1.15.2

参考

步骤

Windows 搭建

  1. Java 环境配置
    • 下载 Java 安装包并安装 下载地址
    • 安装后默认路径在 C:\Program Files (x86)\Common Files\Oracle\Java\javapath
  2. 配置 MC 服务器
    • 新建并重命名文件夹,将下载的 server.jar 包放入文件夹内
    • 双击 jar 包运行
    • 第一次运行会失败,并在同目录下生成默认的配置文件和 eula 协议文件
    • 打开 eula.txt 文件,将 eula 字段改为 true,代表你接受 eula 协议
    • 再次运行 server.jar,出现 GUI 服务器管理界面,右侧会显示世界的生成进度,等待进度到 100% 即世界生成完毕
    • 同目录下的 server.properties 文件中包含了世界的属性,更改属性以生成不同的世界
    • 在 GUI 右侧下方可以输入各种指令,操作世界,输入 /help 查看指令列表
  3. 配置防火墙
    • 世界生成完毕后如果直接在客户端连接服务器 IP,可能会报错,显示连接超时
    • 此时进入服务器查看资源管理器(进入【任务管理器 – 性能】,选择左下角的【打开资源监视器】,或者在控制台输入 resmon)的网络标签页,选择 javaw.exe 进程,发现其端口(默认为 25565)被防火墙拦截了
    • 进入【控制面板 – 防火墙 – 高级设置】,在【入站规则】和【出站规则】中新建端口规则,放行 MC 服务器监听的端口
    • 重新启动 server.jar,再次测试客户端,可以连接服务器
  4. 设置为计划任务(可选)
    • 添加 MC 服务器为计划任务
    • 将操作设置为【启动程序】,其中【程序或脚本】设置为 Java 的绝对路径(见上文的默认路径),参数设置为 server.jar 的绝对路径,【起始于】设置为 server.jar 所在目录
    • 可以添加 -Xmx -Xms 参数来限制使用的内存,添加 nogui 来关闭 GUI
    • 在【触发器】中可选择开机启动

Linux(Ubuntu 18.04) 搭建

server.jar 可用 wget 等指令下载

  1. 安装 Java 环境
    • 执行指令
      sudo apt install openjdk-8-jdk-headless
  2. 配置 MC 服务器
    • 新建 Minecraft 目录,并将 server.jar 放入该文件夹内
      mkdir Minecraft
      mv server.jar Minecraft
    • 运行 server.jar
      # 设置 JVM 开始时使用 1G 内存,最大使用 1G 内存,不使用 GUI
      java -Xms1G -Xmx1G -jar server.jar nogui
    • 提示需要同意 eula 协议,用 vim、nano 等编辑器打开目录下的 eula.txt,更改 eula 字段为 true
    • 再次运行 server.jar
      java -Xms1G -Xmx1G -jar server.jar nogui
    • 正在生成世界
    • 世界生成后可以输入 /help 查看指令列表,来操作生成的世界
  3. 配置系统服务(可选)
    • 可以通过 systemd 实现开机启动
    • systemd 配置文件编写可参考 Tutorials/Ubuntu startup script,这里为方便阅读,复制一下配置文件内容
    • /lib/systemd/system/ 下新建文件 minecraft-server.service
      [Unit] 
      Description=start and stop the minecraft-server 
      
      [Service]
      WorkingDirectory=/srv/minecraft-server
      User=minecraft
      Group=minecraft
      Restart=on-failure
      RestartSec=20 5
      ExecStart=/usr/bin/java -Xms1536M -Xmx1536M -jar server.jar nogui
      
      [Install]
      WantedBy=multi-user.target

      注意:
      需要将 WorkingDirectory 更改为自己的 server.jar 所在目录
      User 和 Group 更改为自己的用户名
      也可以选择在 /etc/systemd/system/ 下新建文件

    • 如果想要与 MC 服务器交互(使用指令改变世界的环境等等),可以选择如下配置文件(需要安装 screen
      [Unit] 
      Description=minecraft-server 
      
      [Service]
      WorkingDirectory=/home/minecraft/server
      User=minecraft
      Group=minecraft
      Type=forking
      ExecStart=/usr/bin/screen -dmS minecraft /usr/bin/java -Xms1536M -Xmx1536M -jar server.jar nogui
      
      [Install]
      WantedBy=multi-user.target
    • 配置服务开机启动
      sudo systemctl enable minecraft-server.service
    • 运行服务
      sudo systemctl start minecraft-server.service
    • 查看服务状态
      systemctl status minecraft-server.service

Docker 搭建

  1. 拉取镜像
    • 执行指令
      sudo docker pull sirplexus/minecraft-server-standalone:latest
  2. 创建容器
    • 执行指令
      sudo docker container create --publish 0.0.0.0:25565:25565/tcp --name "Minecraft-Server" --env RAM=1G sirplexus/minecraft-server-standalone

      资源使用的参数可自行更改

    • 如果要开启启动,可以添加 –restart=always 参数,有其他需求可以进一步了解 docker
  3. 运行容器
    • 执行指令
      sudo docker container start Minecraft-Server

效果

Windows

Linux

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据