MineComputer —— 在MC里玩真正的电脑,还能装硬件

KasuganoSoras 发表于 2018-11-18 08:52:03 | 查看:391 | 分享


这是我用了两天时间肝出来的一个插件,灵感来源于论坛的一个黑客游戏插件。
MineComputer 主要是模拟一台真正的电脑,具有真实的命令执行功能,可以运行真正的 Linux 操作系统。

该插件目前还属于实验性质,建议不要用于生产环境,朋友之间娱乐娱乐还是可以的。
本插件完美不支持面板服和 Windows 服务器,并且对于小白来说可能有些复杂,慎入

首先我们通过几张图片来看看这个插件有什么功能。

这就是一个简单的电脑方块,当然,你可以在配置文件里修改它的外观。
放置了电脑方块以后,系统会随机分配一个 IP 地址,当然这是假的 IP 地址。

电脑可以安装硬件,CPU、内存、硬盘都可以自由搭配,还可以通过更换安装盘改变系统

先点击左键开机,再点击右键就可以连接到电脑的 SSH,然后就可以执行 Linux 命令了

主要功能

  1. 模拟出简单的电脑硬件功能(自定义 CPU、内存、硬盘)
  2. 可更改操作系统类型,支持自定义镜像
  3. 支持模拟命令行,可以运行真正的 Linux 命令

安全性

MineComputer 使用 Docker 实现模拟电脑,基于容器服务,安全性是足够的。

安装教程

首先,准备以下几样东西

  1. 一台 Linux VPS 或者独立服务器,不支持 OpenVZ 虚拟化的 VPs
  2. SSH 软件终端,例如 XShell 和 Putty
  3. 一个聪明的脑子

第一步,用终端软件连接到 Linux 服务器上

第二步,输入以下命令查看系统是否已安装 Docker

docker -v

如果出现了 Docker version xx.xx.x, build xxxxxx 类的字样,就代表已经安装 Docker。
建议的 Docker 版本是 18 以上,如果你的版本太旧,请更新一下。
以下是 CentOS 7 的 Docker 安装教程,其他安装教程请看这里:http://www.runoob.com/docker/docker-tutorial.html

首先,删除旧版本的 Docker

sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine

安装一些必要的软件包

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

添加软件源信息

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新 Yum 缓存

sudo yum makecache fast

安装 Docker-ce

sudo yum -y install docker-ce

启动 Docker 后台服务

sudo systemctl start docker

测试运行 hello-world

docker run hello-world

镜像加速

鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像地址:http://hub-mirror.c.163.com
新版的 Docker 使用 /etc/docker/daemon.json 来配置 Daemon。
请在该配置文件中加入(没有该文件的话,请先建一个):

{
    "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

第三步,安装必要软件
这里需要安装 Socat 和 NC 两个软件
Socat 用于将 Docker 的命令行转发,NC 用于连接。

yum install socat nc -y

第四步,安装插件
插件下载地址:https://cdn.tcotp.cn:4443/assets/MineComputer/MineComputer-1.0.0.jar
下载完成后,放入 plugins 文件夹,然后重启服务器载入插件。
请不要使用 Yum 等插件的 load 功能热加载,否则会出现不可预料的错误!
因为涉及到系统层的操作,所以不建议使用 reload 功能,理由同上。
重启服务器后,插件第一次运行会自动下载 Docker 镜像,大概需要几分钟时间,请耐心等待。
下载完后会有提示,此时就可以使用了。

插件命令 & 权限

插件的基础命令是 /mcp/minecomputer
以下是命令参数

命令参数 所需权限 功能介绍
getcomputer minecomputer.admin.getcomputer 获得一台电脑主机
getimg <名称> minecomputer.admin.getimg 获得一张系统安装光盘
getcpu <名称> minecomputer.admin.getcpu 获得一个电脑 CPU
getmem <名称> minecomputer.admin.getmem 获得一个电脑内存条
getdisk <名称> minecomputer.admin.getdisk 获得一个电脑硬盘
getinfo <电脑> minecomputer.admin.getinfo 获得指定电脑的信息
list minecomputer.admin.list 获得所有运行中的电脑
poweron <电脑> minecomputer.admin.poweron 开启指定的电脑
poweroff <电脑> minecomputer.admin.poweroff 关闭指定的电脑
reload minecomputer.admin.reload 重新载入插件配置

硬件使用方法

首先输入 /mcp getcomputer 获得一台电脑,右键摆到地上

接着,输入 /mcp getcpu Core2 获得一个双核的 CPU。
插件自带了两种 CPU,一个是双核一个是 4 核,你也可以自定义。
拿着 CPU 对着电脑主机右键即可安装。

然后在输入 /mcp getmem 2G 获得一个 2G 的内存条,同样还是右键电脑主机。

接着输入 /mcp getdisk 8G 获得一个 8G 空间的硬盘,再次右键电脑主机。

最后一步,就是给电脑装系统,输入 /mcp getimg CentOS 获得一个 CentOS 的安装盘。
还有另一个 Ubuntu 系统,也是插件自带的。
将安装盘右键电脑,即可安装系统。

现在,就可以左键电脑主机开机了。

然后,用空手右键电脑主机连接到 SSH。

现在就可以输入命令了,比如输入个 ls -la 查看当前目录

要断开与电脑的连接,再次右键即可。
如果要拆掉电脑,必须要用铁镐才能拆掉。
请注意:拆掉电脑后不会掉落硬件,所以放置电脑的时候要慎重选地方 233
但是拆掉电脑还是会返还一个主机给你的

注意!

你在这台虚拟的电脑里面做出的任何修改都不会被保存,关机后全部会丢失。
如果你想储存一些数据,请将文件存至虚拟电脑中的 /data 目录。
输入命令 cd /data 即可。
/data 目录会挂载到 服务端/plugins/MineComputer/data/虚拟电脑名字/

自定义电脑硬件

配置文件全部在 config.yml,你可以通过修改配置实现自定义硬件
硬件代号必须是唯一的并且只能是英文和数字组成
自定义 CPU:ServerDrives > CPU,格式如下:

硬件代号:
    Name: "游戏内显示名称"
    Description: "硬件介绍"
    Core: CPU 核心数
    item: 物品 ID

自定义内存:ServerDrives > Memory,格式如下:

硬件代号:
    Name: "游戏内显示名称"
    Description: "硬件介绍"
    Capacity: 内存容量,单位 MB
    item: 物品 ID

自定义硬盘:ServerDrives > Disk,格式如下:

硬件代号:
    Name: "游戏内显示名称"
    Description: "硬件介绍"
    Capacity: 硬盘容量,单位 MB
    item: 物品 ID

自定义操作系统镜像

除了 CentOS 和 Ubuntu,你还可以添加自己想要的系统镜像。
系统识别名称和硬件代号一样,只能是英文和数字组成。
Docker 镜像非常多,推荐到 https://hub.docker.com/ 这里去找镜像。
自定义镜像:SystemImage,格式如下:

系统标识名称:
    Name: "操作系统在游戏内的名字"
    Description: "操作系统的介绍"
    image: 'Docker 镜像名称'
    item: 安装光盘的物品 ID

关于 Docker

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

感谢使用,如果有任何不懂的地方或者有更好的建议,请在回复告诉我。
如欲获得更快的解答,可以联系我的 QQ 204034。

KasuganoSoras 在 2018-11-18 08:59:37 编辑了帖子


img


帖子评分

评分是对作者的一种鼓励,您可以在评论框输入 /cs score 分数 附言 对帖子进行评分。

最少 1 分,最大 5 分,评分会消耗自己的积分,不能给自己的帖子评分。

暂时没有人评分!


发表你的评论

回帖时请注意遵守论坛发言规定,请勿恶意灌水。

  回帖倒序排列   匿名回复 您还可以输入 2000  


欢迎来到 ZeroDream 论坛!

您还没有登录噢 :P

登陆以后就可以发帖和回复啦~


系统主题选项

在线人数:Loading...

WebSocket 状态:Loading...