linux docker搭建 minecraft 我的世界游戏服务器
minecraft
本篇文章介绍使用docker容器方式在linux操作系统上搭建最新版本minecraft服务器,并使用bungeecord配置为群组服务器模式。
常规方式搭建minecraft服务器参考这篇文章:
https://blog.csdn.net/whatday/article/details/108414774
搭建环境介绍
systemctl stop firewalld && systemctl disable firewalld
sed -i ‘s/^SELINUX=enforcing$/SELINUX=disabled/’ /etc/selinux/config
setenforce 0
BC代理端和所有子服全部运行在一台服务器上,逻辑结构如下图:
#下载安装脚本并执行
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh --mirror Aliyun#配置镜像加速
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://registry.docker-cn.com"]
}
EOF#启动docker服务
systemctl enable --now docker
#安装epel源
# yum install -y epel-release
#安装docker-compose
# yum install -y docker-compose
- mcworld1和mcworld2是minecraft的两个服务端,也即两个子服,mcbungeecord为服务端代理软件。
- 使用的容器镜像为dockerhub镜像:
https://hub.docker.com/r/itzg/minecraft-server/
https://hub.docker.com/r/itzg/bungeecord/ - 安装的服务端版本为PaperSpigot 1.13.2。
docker run -d -e EULA=TRUE \-v /mcworld1_data:/data \-e TYPE=PAPER \-e VERSION=1.13.2 \-e OPS=willminec \-e ONLINE_MODE=FALSE \-p 25566:25565 \--restart always \--name mcworld1 \itzg/minecraft-server --noconsole
docker run -d -e EULA=TRUE \-v /mcworld2_data:/data \-e TYPE=PAPER \-e VERSION=1.13.2 \-e OPS=willminec \-e ONLINE_MODE=FALSE \-p 25567:25565 \--restart always \--name mcworld2 \itzg/minecraft-server --noconsole
docker run -d -v /mcbg_data:/server \-p 25565:25577 \--name mcbungeecord \--restart always \itzg/bungeecord
我们也可以使用docker-compose来一次运行多个容器,这里已经提前安装了docker-compose,下面我们将运行3个容器的命令写入yml文件并使用docker-compose执行。
在/root目录下创建docker-compose.yml文件,配置如下内容:
[root@willcentos ~]# vim docker-compose.yml
version: '2'
services:mcworld1:image: itzg/minecraft-serverports:- 25566:25565volumes:- /mcworld1_data:/dataenvironment:- EULA=true- TYPE=PAPER- VERSION=1.13.2- OPS=willminec- ONLINE_MODE=FALSEcontainer_name: mcworld1tty: truestdin_open: truerestart: alwaysmcworld2:image: itzg/minecraft-serverports:- 25567:25565volumes:- /mcworld2_data:/dataenvironment:- EULA=true- TYPE=PAPER- VERSION=1.13.2- OPS=willminec- ONLINE_MODE=FALSEcontainer_name: mcworld2tty: truestdin_open: truerestart: alwaysmcbg:image: itzg/bungeecord ports:- 25565:25577volumes:- /mcbg_data:/serverlinks:- mcworld1- mcworld2container_name: mcbungeecordrestart: always
[root@willcentos ~]# docker-compose up -d
[root@willcentos ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
itzg/minecraft-server latest c6a0d0b8e7e5 4 weeks ago 309MB
itzg/bungeecord latest e9aff248403a 6 months ago 86.5MB
STATUS列全部为UP(healthy)说明容器已经正常运行
[root@willcentos ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b73c30462d8d itzg/bungeecord "/usr/bin/run-bungee…" 7 minutes ago Up 7 minutes 0.0.0.0:25565->25577/tcp mcbungeecord
bea699ee3242 itzg/minecraft-server "/start" 7 minutes ago Up 7 minutes (healthy) 25575/tcp, 0.0.0.0:25567->25565/tcp mcworld2
7c3cd9e03326 itzg/minecraft-server "/start" 7 minutes ago Up 7 minutes (healthy) 0.0.0.0:25566->25565/tcp, 25575/tcp mcworld1
服务端的配置文件全部存放在主机本地根目录下,删除容器数据不会被删除。
[root@willcentos ~]# ll /
total 16
...
drwxr-xr-x 4 1000 1000 158 Nov 25 12:10 mcbg_data
drwxrwxr-x 6 1000 1000 125 Nov 25 11:57 mcworld1_data
drwxrwxr-x 6 1000 1000 125 Nov 25 12:01 mcworld2_data
...
[root@willcentos ~]# ll /mcbg_data/
total 10084
-rw-r--r-- 1 1000 1000 10297582 Nov 25 15:57 BungeeCord.jar
-rw-r--r-- 1 1000 1000 989 Nov 25 15:57 config.yml
-rw-r--r-- 1 1000 1000 3 Nov 25 15:57 locations.yml
drwxr-xr-x 2 1000 1000 4096 Nov 25 15:57 modules
-rw-r--r-- 1 1000 1000 155 Nov 25 15:57 modules.yml
drwxr-xr-x 2 1000 1000 4096 Nov 25 15:57 plugins
-rw-r--r-- 1 1000 1000 3911 Nov 25 15:59 proxy.log.0
-rw-r--r-- 1 1000 1000 0 Nov 25 15:57 proxy.log.0.lck
2.首先获取云服务器网卡IP地址,我这里是172.31.112.2
[root@willcentos ~]# ip a
......
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:16:3e:0a:26:84 brd ff:ff:ff:ff:ff:ffinet 172.31.112.2/20 brd 172.31.127.255 scope global dynamic eth0valid_lft 315270699sec preferred_lft 315270699sec
3.需要修改的配置文件为config.yml,,修改如下内容:
[root@localhost ~]# vim /mcbg_data/config.yml
online_mode: true #默认ture
......
ip_forward: true #默认为false,改为true
......
#复制lobby内容,增加一个子服务器create,注意修改IP和端口
servers: lobby:motd: 'Welcome the lobby world!'address: 172.31.112.2:25566restricted: falsecreate:motd: 'Welcome the create world!'address: 172.31.112.2:25567restricted: false
......
需要修改mcworld1和mcworld2配置文件,这里以mcworld1为例:
[root@willcentos ~]# ll /mcworld1_data/
total 42508
-rw-rw-r-- 1 1000 1000 2 Nov 25 15:57 banned-ips.json
-rw-rw-r-- 1 1000 1000 2 Nov 25 15:57 banned-players.json
-rw-rw-r-- 1 1000 1000 1053 Nov 25 15:57 bukkit.yml
drwxrwxr-x 2 1000 1000 4096 Nov 25 15:57 cache
-rw-rw-r-- 1 1000 1000 598 Nov 25 15:57 commands.yml
drwxrwxr-x 2 1000 1000 4096 Nov 25 15:57 config
-rw-rw-r-- 1 1000 1000 65 Nov 25 15:57 eula.txt
-rw-rw-r-- 1 1000 1000 2576 Nov 25 15:57 help.yml
drwxrwxr-x 2 1000 1000 4096 Nov 25 15:57 logs
drwxrwxr-x 2 1000 1000 4096 Nov 25 15:57 mods
-rw-rw-r-- 1 1000 1000 137 Nov 25 15:57 ops.json
-rw-rw-r-- 1 1000 1000 11 Nov 25 15:57 ops.txt.converted
-rw-rw-r-- 1 1000 1000 43431489 Nov 25 15:57 paper_server.jar
-rw-rw-r-- 1 1000 1000 5473 Nov 25 15:58 paper.yml
-rw-rw-r-- 1 1000 1000 0 Nov 25 15:57 permissions.yml
drwxrwxr-x 3 1000 1000 4096 Nov 25 15:57 plugins
-rw-r--r-- 1 1000 1000 912 Nov 25 15:58 server.properties
-rw-rw-r-- 1 1000 1000 3358 Nov 25 15:58 spigot.yml
-rw-rw-r-- 1 1000 1000 108 Nov 25 15:57 usercache.json
-rw-rw-r-- 1 1000 1000 47 Nov 25 15:57 version_history.json
-rw-rw-r-- 1 1000 1000 2 Nov 25 15:57 whitelist.json
drwxrwxr-x 8 1000 1000 4096 Nov 25 16:13 world
drwxrwxr-x 4 1000 1000 4096 Nov 25 16:13 world_nether
drwxrwxr-x 4 1000 1000 4096 Nov 25 16:13 world_the_end
[root@willcentos ~]#
2.需要修改的配置文件为server.properties和spigot.yml:
[root@willcentos ~]# vim /mcworld1_data/server.properties
......
online-mode=false #此项如果为true需要改为false
[root@willcentos ~]# vim /mcworld1_data/spigot.yml
......
config-version: 11
settings:
......bungeecord: true #将false改为true
......
[root@willcentos ~]# docker restart mcbungeecord mcworld1 mcworld2
登录MC服务端
官方客户端下载地址:https://minecraft.net/zh-hans/download/
官网注册账号,购买游戏,下载minecraft客户端并安装到个人电脑,启动客户端并登录,登录后界面如下:
输入服务器名称,可以默认,输入服务端IP地址,即阿里云服务器的公网地址,点击完成:
再次输入/server可以看到当前所在服务端为create服务器端:
[root@willcentos ~]# vim /mcworld1_data/ops.json
[{"uuid": "9f8064f3-8797-312e-af07-ac091656b63d","name": "willminec","level": 4,"bypassesPlayerLimit": false}
查询willminec用户的uuid
访问查询网站:https://mcuuid.net,输入用户名进行查询:
[root@willcentos ~]# vim /mcworld1_data/ops.json
[{"uuid": "44702a33-29dc-4b8f-a545-f8aa499517ef","name": "willminec","level": 4,"bypassesPlayerLimit": false}
]
[root@willcentos ~]# docker restart mcworld1
例如使用/deop (玩家名)删除op时提示当前可删除的op为willminec.
/tp 1000 64 1000 #传送到x坐标为1000,y坐标为64,z坐标为1000的位置
/time set day #将时间切换到白天
使用winspc或者FlashFXP从windows系统传送到linux系统的/mcworld1_data/plugins目录下即可:
[root@willcentos ~]# ll /mcworld1_data/plugins/
total 5872
drwxrwxr-x 2 1000 1000 4096 Nov 26 20:08 bStats
-rw-r--r-- 1 root root 1211165 Nov 26 18:07 EssentialsX-2.15.0.1.jar
-rw-r--r-- 1 root root 14270 Nov 26 18:07 EssentialsXAntiBuild-2.15.0.1.jar
-rw-r--r-- 1 root root 12792 Nov 26 18:07 EssentialsXChat-2.15.0.1.jar
-rw-r--r-- 1 root root 1120585 Nov 26 18:07 EssentialsXGeoIP-2.15.0.1.jar
-rw-r--r-- 1 root root 19387 Nov 26 18:07 EssentialsXProtect-2.15.0.1.jar
-rw-r--r-- 1 root root 18251 Nov 26 18:07 EssentialsXSpawn-2.15.0.1.jar
-rw-r--r-- 1 root root 334630 Nov 26 18:07 EssentialsXXMPP-2.15.0.1.jar
-rw-r--r-- 1 root root 722895 Nov 26 18:40 PermissionsEx-1.23.4.jar
-rw-r--r-- 1 root root 1449119 Nov 16 13:35 worldedit-bukkit-7.0.0-beta-01.jar
-rw-r--r-- 1 root root 1088638 Nov 24 12:54 worldguard-bukkit-6.2.2.jar
[root@willcentos ~]#
然后重启mcworld1容器,插件即可生效,登录游戏进行验证:
[root@willcentos ~]# docker restart mcworld
可以看到已经支持了world相关命令,我们用worldedit插件功能创建一个半径为5的空心玻璃圆形,执行命令://hcyl glass 5 1
linux docker搭建 minecraft 我的世界游戏服务器相关推荐
- linux搭建 minecraft 我的世界游戏服务器
本篇文章介绍在Linux系统上搭建最新版本Minecraft服务器,并使用bungeecord配置为群组服务器模式. docker容器方式搭建minecraft服务器查看这篇文章: https://b ...
- linux搭建mcpe服务器_Ubuntu Linux下搭建Minecraft我的世界服务器
总结一下在Ubuntu Linux下搭建Minecraft我的世界服务器的方法,其实非常简单直接. (1).把当前的软件都更新到最新 sudo apt-get update Minecraft服务器需 ...
- linux系统我的世界开服,Ubuntu Linux下搭建Minecraft我的世界服务器
总结一下在Ubuntu Linux下搭建Minecraft我的世界服务器的方法,其实非常简单直接. (1).把当前的软件都更新到最新 sudo apt-get update Minecraft服务器需 ...
- 【我的世界】如何在 Linux 上搭建 Minecraft(我的世界) 服务器
系统要求 MC系统要求 CPU:双核 内存:20-40人2GB,30-60人3GB,60+人8GB 阿里云配置: CPU: 1核 内存: 2 GiB 操作系统: CentOS 7.3 64位 带宽: ...
- 威联通NAS用Docker搭建Minecraft(MC)服务器
QNAP使用Docker容器搭建我的世界游戏服务器 本教程以1.19版官方版服务端为例,其他服务端也差不多的流程. 视频教程:https://www.bilibili.com/video/BV16Z4 ...
- 阿里云服务器搭建Minecraft我的世界配置选择
阿里云服务器搭建Minecraft我的世界CPU内存配置怎么选择?公网带宽和系统盘选择多少合适?一般20人以内玩家.1.12版本的大型整合包.100个以内个轻量mod,2核4G配置就够用了,公网带宽选 ...
- keycloak 微服务认证_走进微认证 | 搭建我的世界游戏服务器 让游戏更high
当"吃鸡"成为年轻人社交的主题词,"荣耀"成为学生的日常语,我们可以看到,网游影响并改变着我们的娱乐和社交方式.你知道为何现在游戏体验在日益提升吗?你想提高自己 ...
- Linux+MCSM9+Docker 搭建Minecraft基岩版BDS私服,我的世界基岩版开服教程
Debian系统使用MCSManager面板和Docker容器搭建MC基岩版服务器的教程 视频教程:https://www.bilibili.com/video/BV1FZ4y1v7iK/ Linux ...
- 树莓派搭建Minecraft我的世界服务器
搭建你自己的Minecraft服务器,以及在树莓派上搭建Minecraft服务器. 为什么要折腾这个? 为什么要自己搭Minecraft服务器呢?限制于经费,在自己的服务器上玩Minecraft,不是 ...
最新文章
- EXCEL 电子表格MID 返回值 不能用于计算的问题
- android关于设置list_item高度问题
- linux install命令文件夹,详解Linux系统中的install命令的用法
- 100个必会的python脚本-100行Python代码实现自动抢火车票(附源码)
- Sqrt(int x) leetcode java
- pytorch生成一个数组
- 详解mybatis的配置setMapperLocations多个路径两种方法
- docker应用,后端服务出现OOM情况排查
- Nginx+PHP实时生成不同尺寸图片
- 排得更好VS估得更准VS搜的更全「推荐、广告、搜索」算法间到底有什么区别?...
- 35 【kubernetes】configMap
- 不允许更改采购订单币种
- php如何查询mysql数据库字符集_修改及查看mysql数据库的字符集_MySQL
- Android中CursorLoader的使用、原理及注意事项
- proxytable代理不生效_深圳劳动纠纷律师为你解答劳动合同没有盖章是否生效
- 如何用python进行数据处理?(一)
- Excel函数,数据透视表图,某招聘网站职位分析项目
- 【Java】教学视频资源
- 手机中的com.android.provision删除可不可以,Android Provision (Setup Wizard)
- 阿里云ECS云服务器实例重置-更换操作系统
热门文章
- 深圳.NET俱乐部7月活动小结及照片
- orcle 删除表报正在使用_删除文件时提示正在使用无法删除?这款免费软件帮你快速解决问题...
- 筑业和恒智天成哪个好_浙江新闻客户端:废弃物变身创意作品 天成小学垃圾分类工作有声有色...
- Service Mesh — APIGW vs ServiceMesh
- 5G NPN 行业专网 — Overview
- CentOS7 升级 curl 支持 HTTP2 与 TLS 1.3
- oraToolKit Oracle安装辅助工具的使用方法
- Windows 08R2_AD图文详解
- JavaScript随机生成颜色以及十六进制颜色 与RGB颜色值的相互转换
- SQL语句利用日志写shell