Minecraft has several different server programs that you can choose from for running your own server instance. The several server programs around all have different uses and different project goals.
- The vanilla server program from Mojang is probably the most basic offering and it does not natively support plugins which means that it is not good to use on a server which you want to heavily modify or develop for on your own.
- Spigot is another, and probably the most popular of all server programs for Minecraft. Spigot has a system for implementing your own custom plugins fairly easily and it runs better than most server instances.
- Sponge is a newer, faster server program than Spigot, also allowing you to create your own plugins. Sponge utilizes newer Java language features than Spigot does such as Optional
The server programs listed here that allow plugins expect the plugins to be developed in a
programming language called
Java. Minecraft itself is also
mostly developed using the Java programming language except for the console editions and the Windows 10 edition which are developed in another programming language called
C++.
Java is an object oriented programming language (simplified) with a pretty easily understood syntax so it is not very hard to learn and understand. Java has been around for many years so there are a lot of resources for learning it around the internet that are freely available to anyone.
An
Integrated Development Environment (IDE) is useful but not required for developing with Java. The top two IDE's for Java are
IntelliJ Idea (free, or paid) and
Eclipse (free) but whatever you do don't use
Netbeans :hungover: IDE's have features like auto complete and bracket matching that make learning Java a lot easier and i highly recommend using one for all your programming.
Once you have learned a bit of Java and setup your IDE to your liking you can setup your preferred server to develop and test with. Each server has its own guides on how to do this (except the vanilla server of course).
[SPOILER="Further Learning"]
If you plan to work with Minecraft servers long term, specifically large servers such as Meepcraft i highly suggest that you familiarize yourself with the
Linux terminal
(specifically bash). The most popular distribution of Linux for servers is called
Ubuntu server because it is easy to learn and use. I recommend
installing Ubuntu server in a virtual machine so that you can mess around with it on your own and learn some of the basics. There are some
free online resources you can use for this as well including
several reference websites and a
free Codecademy course.
[/SPOILER]