/MiNET

A (not so) basic Minecraft Pocket Edition server written in C#

Primary LanguageC#OtherNOASSERTION

In case you don't find the information your are looking for in the README. Do try the wiki

MiNET

Join the chat at https://gitter.im/NiclasOlofsson/MiNET Build status NuGet Version and Downloads count

Can I test this before I download it?

Yes, you can. Some of the below are professional networks, and at times there are dev servers running and you might be lucky enough to get in..

IP: CRISTALIX.PE
Port: 19132

IP: play.infinite.pe
Port: 19132

IP: pepirates.ru
Port: 19132

IP: yodamine.com (dev server)
Port: 19132/19134

What is this?

A basic Minecraft Pocket Edition (MCPE) server written in C#. Current goal is to create a server that has enterprise performance for large Minecraft multi-user gaming providers. Current servers handle 10-100 users per instance, the aim with MiNET is to deal with thousands. Priority is also to create interfaces, and to some extend, ready-made implementations of the most basic enterprise game-management features (users, worlds, etc.). With all likelyhood, MiNET will emerge into a Microsoft Cloud ready product.

As part of the project, I also deliver an up-to-date automatically generated MCPE Protocol Specification. This is a synery of that large parts of the communication code being generated using XML and T4 templates.

Why do this?

This is actually a pet-project - a true father-son project that I do together with my son Oliver 6 years old. He is driving the requirements for this, doing much of prioritization of the order of implementation. He is a great fan of online-MCPE gaming, but still too young to play the "real deal". He also lacks the patience and understanding of laggy under-performant servers, and the consequences of that. He is also not a big fan of the kill-style game-modes around, so a sub-project of this is for him to create new kidz-friendly game-modes that we can implement in MiNET. Oliver was the one originally responsible for creating the scope of our project.

And as he really likes to tell his mother these days "Mom, don't disturb daddy. He is working for me now!". 6 years old, but I think you get the picture. I know he does.

Lately I have also been joined by kennyvv as a full member of the team with me and Oliver. I still considering the impact of this in respect to the father-son project concept. Might be forced to adopt kennyvv at some point, we will see. I guess for now I will be the old grumpy guy and kennyvv the wise nice young guy (smartass kid, yeah).

Follow me on Twitter @NiclasOlofsson for news about the project, or simply track the checkins which i tend to comment heavily.

Also follow kennyvv on Twitter @WuppDotNet for even more news and updates.

MiNET is running CI through the fantastic service of AppVeyor. Currently the build status of master is...
Build status

Can I do my own plugins?

Yes you can! See the Plugin documention in the wiki

Please note that the plugin system is work in progress and the example might be outdated.

Can I contribute?

Of course you can! We just need you to accept the following:

  1. You will use the same coding style as the rest of the code.
  2. You do not copy code from anyone or anywhere, unless you have their permissions.
  3. We can always decide not to include your code, and we might make changes to it. So better ask before you do a pull request to the project.

Also, make sure to join our Gitter chat for easy communication.
Join the chat at https://gitter.im/NiclasOlofsson/MiNET

Are there forums for MiNET?

No, but you can ask questions on stackoverflow using the tag MiNET.

Installation

Windows

For a 30 seconds quick start check this video MiNET quick windows tutorial by Bamuel.

For a windows installation you can choose to download the binary from the build server or fetch the code and compile from Visual Studio. Note that MiNET requires .NET 4.6.

When downloading exe & dll files from the web they will often be sandboxed - You will need to right click and unblock within the properties window to allow these to be ran without errors.

Mono (Linux & Mac)

MCPE 0.15 introduced a lot of crypto, which is not implemented on Mono. So until another solution comes along, Mono support is not possible. Mono Installation