网络服务器配置与管理教辅书 Help

10-3 (课外)MineCraft游戏服务

介绍

Minecraft《我的世界》最早由瑞典游戏设计师马库斯·佩尔松开发,之后由其成立的Mojang AB开发,游戏最初使用Java语言编写。后被微软收购。
沙盒风格的游戏中,玩家能在一个3D世界内与方块或生物进行交互,游戏中的特色玩法包括探索世界、采集资源、合成物品及生存冒险等。玩家为其制作了大量mods,进一步增加游戏的生命力。

游戏早期比较开源,官方对私服态度宽松。目前有大量的第三方启动器、官方版破解、mods,适合个人用户搭建私服。

实验设计:

  • 服务端:因为没有云服务器,选择CentOS虚拟机作为服务器。因为传统方式需要安装java解释器、下载jar包安装、下载游戏、破解、修改游戏配置等步骤复杂,选择docker-compose方式搭建服务。

  • 客户端:Windows上安装第三方启动器,启动器会自动下载游戏本体、破解、安装mods加载器。

前置准备

  1. 客户端和服务器对内存均要求4G以上,分两台电脑,一台电脑中的CentOS虚拟机做服务器。

  2. CentOS虚拟机 4~6G内存。4~8核心 CPU。

  3. 勾选"intel VT-X虚拟化支持"。

  4. 选择"桥接"网络,(学校机房禁用宿主机Virtualbox网卡)。这样多人客户端可以出现在一个服务器中一块玩。

服务器端选型

通过搜集资料,MineCraft有多个版本,java版虽然效率不及基岩板,但更为开放更适合部署和加载mods。
通过搜集资料,发现itzg团队下的docker-minecraft-server项目对minecraft服务器进行了完善的封装。
github itzg/docker-minecraft-server
readthedocs itzg/docker-minecraft-server
docker hub itzg/minecraft-server

docker环境

# 复制docker-installer.tar.gz和docker-compose到虚拟机用户家目录下 tar -zxf ./docker-installer.tar.gz rpm -iv --nodeps --force ./docker-installer/*.rpm systemctl start docker cp ./docker-compose /usr/local/bin/docker-compose # 验证 systemctl status docker docker -v docker-compose -v
  1. 导入 itzg/docker-minecraft-server 的离线镜像。

# 导入离线镜像 docker load -i minecraft-server.tar # 验证 记录一下镜像的tag标签版本,这里准备的tag是stable-java21 docker image ls

容器编排

  1. 创建项目文件夹。习惯上创建项目文件夹,然后把docker-compose.yml配置文件和项目相关东西放入项目文件夹下。

# [root@localhost ~] mkdir minecraft-server
  1. 切换工作目录至项目文件夹下。方便后续命令。

# [root@localhost ~] cd minecraft-server # ⚠️注意工作目录已经发生改变 # [root@localhost minecraft-server]
  1. 创建几个映射所需目录。用于容器内的服务器数据暴露到宿主机供查阅,或宿主机的mod文件映射到容器内。

# [root@localhost minecraft-server] mkdir data mkdir mods mkdir modpacks
  1. 创建docker-compose.yml容器编排配置文件。

# [root@localhost minecraft-server] touch docker-compose.yml nano docker-compose.yml

写入内容

version: '3.8' services: minecraft: image: itzg/minecraft-server:stable-java21 # !!离线情况下,镜像tag应该与之前导入的镜像tag一致 container_name: minecraft-server ports: - "25565:25565" # 游戏端口(!!客户端添加服务器地址时用) - "25575:25575" # RCON(可选,远程控制终端) environment: EULA: "TRUE" # 必须同意用户许可协议 VERSION: "1.21.11" # Minecraft 版本(!!需要与客户端游戏版本匹配) TYPE: "FABRIC" # 模组mods加载器。其它的还有Froge等。 FABRIC_VERSION: "0.16.5" # Fabric模组加载器版本 MEMORY: "4G" # 分配内存(4Gb以上) ONLINE_MODE: "false" # 离线模式(允许非正版客户端) DIFFICULTY: "easy" # 游戏难度 MODE: "creative" # 游戏模式创造模式 ENABLE_RCON: "true" # 远程控制台 RCON_PASSWORD: "123456" # 远程控制台密码 REMOVE_OLD_MODS: "true" # 更新模组时清理旧版 # 模组包自动安装 # MOD_PLATFORM: "AUTO_CURSEFORGE" # CurseForge 自动模组包 # CF_SLUG: "create-above-and-beyond" # 替换为教育模组包 Slug # CF_API_KEY: "your_curseforge_api_key" # CurseForge API volumes: - ./data:/data # 游戏内容持久化、游戏配置 - ./mods:/mods:ro # 手动模组目录(容器内只读) - ./modpacks:/modpacks:ro # 模组包目录(容器内只读) stdin_open: true tty: true restart: no healthcheck: test: ["CMD-SHELL", "mc-monitor status localhost:25565"] interval: 60s timeout: 10s retries: 3
  1. 启动容器编排。

# [root@localhost minecraft-server] # 如果未加-d后台运行参数,那么ctrl+C会终止服务。 docker-compose up -d # (可选但建议)查看日志。日志显示监听在端口则正常 # docker-compose logs -f minecraft-server
  1. 关闭防火墙

systemctl stop firewalld

模组

(也可先跳过模组部分,只玩游戏本体。)

  1. (跳过)模组加载器。模组加载器负责加载管理模组,知名的minecraft模组加载管理器有Fabric、CurseForge等。服务端镜像已经自带,通过参数指定。客户端后面选择第三方启动工具中内置自带。

  2. 模组。丰富多彩的网友创意在模组加载器网站搜索,这里选择一个跟计算机教育有关的模组computercraft,
    curseforge模组加载器 computercraft模组
    下载jar包。

  3. 复制模组ComputerCraft1.79.jar到项目目录下mods文件夹下

# 从Windows桌面复制ComputerCraft1.79.jar到虚拟机项目下mods目录下 # [root@localhost minecraft] cp ~/ComputerCraft1.79.jar ~/minecraft/mods/
  1. 重启服务

# [root@localhost minecraft] docker-compose down docker-compose up -d

客户端

客户端本来需要的步骤:下载游戏本体、破解。下载模组加载器jar包,下载模组jar包并放置mod文件夹下。
第三方启动工具可以自动化这些流程。第三方启动器工具有很多,这里选择
sklauncher

  1. 安装sklauncher。Windows作为客户机,下载sklauncher-installer.exe。

  2. 离线模式。启动器提供离线模式,而不需要登录正版账号。

  3. 新建一个启动配置,选择游戏版本"v1.21.11" 和"Fabric"模组加载器和版本范围,⚠️与服务端docker-compose.yml中相关字段一致,根据实际情况变化。

  4. (实际上的第一步)启动游戏时会下载游戏本体约300Mb和启动器相关文件140Mb。直接解压缩sklauncher.rar和minecraft.rar,解压缩至C:\Users\Administrator\AppData\Roaming下。从"C:\Users\Administrator\AppData\Roaming\sklauncher"下找软件的启动入口。

  5. 启动游戏时还会下载些相关jar包,然后游戏窗口开启。

  6. 可以先改变语言为中文

  7. 选"多人游戏",选"添加服务器",输入"你的centos服务器IP地址:25565",连接成功后看到服务器已添加。点击"加入服务器"。

  8. 🎉进入游戏界面,实验成功。

  9. 游戏中按E进入工作台,合成物品,尝试合成电脑。验证computercraft模组是否正常工作。这部分没研究过上网查下教程。

10 3sklauncher
10 3sklauncher 2
10 3
10 3 2
10 3
10 3 2
10 3 3
10 3 4

15 十二月 2025