群辉docker搭建MCSM面板,开我的世界服务器
在网上找docker搭建我的世界服务器很多都是使用 itzg/minecraft-server镜像搭建
但是不知道是不是我技术太差,用这个方法只能开成功纯净服,开不了模组服,我就直接用docker安装ubuntu容器在容器里开服,后来发现MCSM面板,并搭建成功
所以我写了我的第一篇文章分享出来,下面开始搭建
1、下载docker镜像
启用ssh服务
在套件中心安装docker
使用FinalShell等软件连接nas
输入命令
sudo -i#输入群辉登录是的密码
#登录成功后输入下载docker镜像docker pull ubuntu
至于 为什么要用命令下载,原因就是
2、创建docker容器
回到nas
启动容器,点击高级设置
在本地创建mc-server的目录,装载路径为/opt
放行下面的端口
25565是我的世界java版的端口,23333,24444是MCSM的端口
然后点击应用,再下一步,回到容器列表双击刚刚创建的ubuntu
点击终端机,接下来我们的操作将在这个容器的终端进行
3、配置服务器的环境
更新软件包列表:apt update
安装 Java 运行时环境:apt install openjdk-17-jre -y
(数字即版本,可对照下表更改)检查环境是否正常:java -version
#安装wget命令apt updateapt-get install wget -y#安装gitapt install git -y
切换服务器 Java 版本
卸载旧的版本
检查当前安装的版本:java -version
卸载当前版本:apt remove openjdk-17-jre
(以 Java 17 为例)
清理残留依赖包:apt autoremove
检查是否完全卸载:java -version
如果报错就表明卸载成功
4、开始安装面板
# 切换到安装目录/cd /opt/#如果没有这个目录就创建一个# 下载运行环境wget /mirrors/node/v14.17.6/node-v14.17.6-linux-x64.tar.gz# 解压文件tar -zxvf node-v14.17.6-linux-x64.tar.gz#这段时间会比较慢# 链接程序到环境变量中ln -s /opt/node-v14.17.6-linux-x64/bin/node /usr/bin/nodeln -s /opt/node-v14.17.6-linux-x64/bin/npm /usr/bin/npm# 准备安装目录mkdir /opt/mcsmanager/cd /opt/mcsmanager/# 下载面板端(Web)程序git clone /MCSManager/MCSManager-Web-Production.git webcd web# 安装依赖库npm install --production --registry=/ --no-fundcd /opt/mcsmanager/# 下载守护进程(Daemon)程序git clone /MCSManager/MCSManager-Daemon-Production.git daemoncd daemon# 安装依赖库npm install --production --registry=/
# 打开两个终端或两个 Screen 软件的终端窗口#安装screen(可选)apt -y install screen#如果要创建具名screen会话,那么可以使用命令screen -S yourscreenname#这将会打开一个新的shell窗口,你可以在这里进行任意操作。不带参数的screen命令创建的是一个匿名
因为使用的群辉所以我们可以直接开两个终端
# 先启动守护进程cd /opt/mcsmanager/daemon# 启动node app.js# 然后启动面板端进程cd /opt/mcsmanager/web# 启动node app.js# 访问 http://localhost:23333/ 即可进入面板。# 默认情况下,面板端会自动扫描 daemon 文件夹并且自动连接到守护进程。
现在我们可以打开浏览器,输入 群辉在本局域网的ip:23333 ,就可以访问面板了
创建账号,设置密码时要有数字、大小写字母
设置好账号密码后依次点击快速开始,创建一个Minecraft 服务器。
我们可以选择一键开服,
这里可以选择一些版本,就可以一键搭建我的世界服务器了
这样docker安装MCSM面板就告一段落了
注意!!!
如果是像我一样开启了两个终端机,在关闭docker容器的控制界面时要注意不要把所有终端机关闭
当然,这样非常的难受,而且每次重启容器都要再启动两个进程,那有没有更好的方法呢?
当然有的,那就是手动配置 MCSM 到 Linux 服务,这样就可以设置开机自启动面板,也就是开容器自启动
5、配置 MCSM 到 Linux 服务
此部分参考/#/zh-cn/tutorial/to_service
为了避免一些未知的错误我们先把刚才开的两个终端或screen关掉
#安装systemctlapt install -y systemctl#安装vimapt install -y vim
安装好vim后,开始配置
#将守护进程加入服务vim /etc/systemd/system/mcsm-daemon.service按i进入编辑模式,复制粘贴下面配置文件[Unit]Description=MCSManager Daemon[Service]WorkingDirectory=/opt/mcsmanager/daemonExecStart=${node_install_path}/bin/node app.jsExecReload=/bin/kill -s HUP $MAINPIDExecStop=/bin/kill -s QUIT $MAINPIDEnvironment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"[Install]WantedBy=multi-user.target
再按esc建,输入英文模式的冒号":"在左下角出现冒号后输入wq保存并退出
#将面板端进程加入服务vim /etc/systemd/system/mcsm-web.service配置文件,其它的同上[Unit]Description=MCSManager Web[Service]WorkingDirectory=/opt/mcsmanager/webExecStart=${node_install_path}/bin/node app.jsExecReload=/bin/kill -s HUP $MAINPIDExecStop=/bin/kill -s QUIT $MAINPIDEnvironment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"[Install]WantedBy=multi-user.target
然后再启动服务
systemctl start mcsm-{daemon,web}.service
systemctl enable mcsm-{daemon,web}.service#设置开机(容器)自启动systemctl start mcsm-{daemon,web}.service#启动服务systemctl restart mcsm-{daemon,web}.service #重启服务systemctl stop mcsm-{daemon,web}.service #停止服务
————————————————————————————————
我知道我写的第一篇教程并不好,怕有人不会,所以我把镜像commit出来了
安装第一步用下面的命令拉取镜像
docker pull -/xialiuya/mcsmubuntu:3.0
拉取完了就可以启动但是在这个镜像就不能将装载路径设置为/opt
这个镜像可以不用设置存储空间
端口跟第二部一样设置也就是,23333,24444,25565
启动容器后直接使用systemctl start mcsm-{daemon,web}.service
启动服务