Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix markdown formatting #1

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -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.
Expand All @@ -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
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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.
Expand All @@ -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.
Expand All @@ -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.