diff --git a/README.md b/README.md index b4521a6..59aaf96 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ -#Welcome +# Welcome These are the important information for Minecraftly Cloud Platform. Read them carefully, as they tell you what this is all about, explain how to install the software, and what to do if something goes wrong. -##What is Minecraftly? +## What is Minecraftly? Minecraftly (Minecraftly Cloud Platform) is a free and open source (FOSS) alternative of the official Mojang's Minecraft Realms, designed and written from scratch by Viet Nguyen and Keir Nellyer, respectively, with assistance from some friendly developers and helpers from the internet. It aims towards creating an easy to run a distributed network, on any server, using traditional server system. Minecraftly Cloud Platform is now community-developed and will be remained free under GNU GPL license. Started out as a simple Minecraft game server like every other, I understood and saw the importance of education through gaming. The period of changing mindset from owning a proprietary software to deciding if I should open source it was not short of a challenge. In the end, I'm glad that I was able to open source it, and share it with passionate people who want to contribute to the community, to change the world via cloud computing, and with everyone who wants to learn. @@ -16,15 +16,15 @@ software, and what to do if something goes wrong. We currently support the latest version of Minecraft. The version is always up to date. -##Why Open Source? +## Why Open Source? I'm [Viet](https://twitter.com/vietdoge), a simple guy with love for cloud computing, the web, technologies, and Minecraft just like you. Ever since I first run a Minecraft server in 2012, I've always been looking for a way to scale Minecraft with high availability and fault tolerant. It took me years to think and build the first prototype after seeing that not many people in the community have a high availability mindset. I can't do it alone and need your contribution to make it better. I dedicated myself to cloud computing and passed my AWS Solutions Architect Certification exam in 2015. It helped construct my knowledge to build a simplier open source project that anyone can test, build, host their own network. -##How it works +## How it works As an alternative of Mojang's Minecraft Realms, if you install Minecraftly in your server, then each of your player will have his/her own server, accessible via (player's MC username).(your domain name).com -##Player Flow +## Player Flow Usually, in a normal Minecraft server, player flow is like this: ```ruby Player A @@ -81,7 +81,7 @@ software, and what to do if something goes wrong. For multiple servers to "share the same folder", the simpliest way is to use NFS (Network File System) server. -##Architecture +## Architecture Minecraftly operates under the premise that everything can fail at anytime, so we focus on designing a high availability, fault tolerant system that can withstand failure at the server, database, or network level. First, let's visualize the stack: @@ -113,7 +113,7 @@ software, and what to do if something goes wrong. There are an infinite amount of BungeeCord and Spigot servers, having the same exact configuration. It doesn't matter how many BungeeCord or Spigot servers out there. As long as they use the same NFS mount point, the same MySQL server, and the same Redis server, then the player's experience will be unified. -##Single Machine Environment (for testing) +## Single Machine Environment (for testing) To build a single machine test environment, it will be visualized like this: ```ruby @@ -137,7 +137,7 @@ To build a single machine test environment, it will be visualized like this: This testing environment is very simple. It works with traditional server cluster (VM, dedicated servers, etc...). It can also work with cloud servers (Amazon Web Services, Google Cloud Platform, Microsoft Azure). -##Requirements +## Requirements * BungeeCord: serve as a proxy server * Spigot: serve as Minecraft server * MySQL Server @@ -146,7 +146,7 @@ To build a single machine test environment, it will be visualized like this: * Vault plugin (for permissions hook) * ProtocolLib plugin (Will plan to not depend on ProtocolLib) -##How is it better than [Minecraft Realms](https://minecraft.net/realms)? +## How is it better than [Minecraft Realms](https://minecraft.net/realms)? Minecraftly is better than Minecraft Realms in many ways. First, let's look at how complex and redundant Minecraft Realms is ![screen shot Minecraft Realms Architecture](https://media.amazonwebservices.com/blog/2014/minecraft_realms_arch_2.png) Cloud computing doesn't need to be that complicated. It's complicated mainly because of intellectual properties. Since we're open source, we can make it as simple and as extendable as possible. @@ -157,7 +157,7 @@ To build a single machine test environment, it will be visualized like this: * Minecraftly lets players jump from server to server in real time, embracing the feeling of having many people playing with you at the same time. * Minecraftly saves server cost more efficiently than Minecraft Realms. While Realms creates a separated server for each paid player which is costly, we use one server for many free and paid players, and still deliver better and more seamless performance. -##Contributing +## Contributing Minecraftly is licensed under the GNU General Public License version 3 (GNU GPLv3), and we welcome anybody to fork and submit a Pull Request back with their changes, and if you want to join as a permanent member we can add you to the team. This is a "copyleft" license, which means if you publish the modified work as your own, you must open source it as well. It benefits the educational purpose of the software and helps everyone build better software that work on both traditional and cloud infrastructure. @@ -166,17 +166,17 @@ To build a single machine test environment, it will be visualized like this: For contributing information, check out the [CONTRIBUTING.md](CONTRIBUTING.md) file for more details. -##Managed Hosting +## Managed Hosting Besides the free and open source version, we also offer a value added hosted service at [https://m.ly](https://m.ly). You can play with friends and don't have to setup server. -##Special Thanks To +## Special Thanks To Andrew, Keir, Tux, Michael, Devin, Snivell, Ben (redraskal) and many others who have been helping me over the years to make this happen. -##To Do +## To Do - [x] Create world with UUID format for each player with the same UUID - [x] Multiple servers pointing to one folder that serves worlds - [ ] Let players mute, kick, ban and trust others in their own world - [ ] Let players teleport to others via /tpa {username}, /tpahere {username}, /server {username} commands. -#License +# License Minecraftly is distributed under [GNU GPLv3](LICENSE) license.