Enterprise Virtualization in Minecraft

The goal of the project is to create a Minecraft mod that will integrate remote VM software directly into the gameplay of Minecraft. This will allow you to open a connection to a virtual machine and issue commands to it remotely, all without leaving Minecraft. =Problem Definition= Currently, unmodded Minecraft has no way to connect to a remote machine directly. If you want to manage the Minecraft server or perform any other actions on another machine, you have to leave the Minecraft window and use another software tool entirely to issue your commands. =Background=

=Deliverables= A fully functional Minecraft mod that can be installed on any Minecraft of version 1.15. This mod will grant the ability to log in and create a remote desktop connection to a remote machine, all within the game of Minecraft.

=Specifications= Must have Minecraft Version 1.15.x installed on your computer before attempting to use VMCraft.

=Value Proposition Statement= Although Minecraft mods to provide virtualization do exist, they currently focus on locally hosted virtual machines and lack the versatility to be useful at enterprise scale. The ability for a platform-agnostic mod to connect to remote hosts using standard protocols will provide much utility that current mods cannot. We plan to implement this mod with an emphasis on versatility so that users are limited only by the limitations of the virtual machine, rather than by the mod functionality as well.

=Design Considerations= This mod should be able to connect to a virtual machine hosting any operating system. In order to support this, we will attempt to implement it in a way that is platform agnostic. As long as the host operating system is capable of running software that uses common protocols for a remote desktop connection, VMCraft should be able to connect to it. We may have to implement extra functionality to support more than one kind of remote desktop protocol.

=Project Learning= In order to create the project, we have decided to use the program known as Minecraft Forge. Each team member needs to install this software and become familiar with its use. We will also need to become familiar with different types of virtual machines, as well as remote desktop connection protocols.

=Final Design= The final design of VMCraft includes a craftable laptop block, an in-game interface for entering connection information, and support for a remote desktop connection. The laptop block can be placed anywhere in the game, and interacted with in order to start the process of contacting a virtual machine. When you right-click the laptop block, it will open a GUI interface that allows the user to put in connection information. When the player selects "Connect", the mod will attempt to open a remote desktop connection with the remote machine. =Validation= The best way to validate if VMCraft is a fully functional product is to first set up two machines, one local and one remote. On the local machine, we will open Minecraft and use the laptop block to create a connection to our remote machine. Once connected to the remote machine, we will use the connection to make changes to the remote machine, by altering settings or data in some way. Then, once we have closed the connection, we will verify that the changes are still present on the remote machine. This will prove that VMCraft is truly capable of connecting to remote machines without leaving Minecraft.

=Team Members= Blake Rude Graeme Holliday Nathan Zander

=Additional Documentation=