Terminology

Computer Basics
What you need to know is:


 * 1) Your server's performance will mainly rely on these computer parts: The CPU, RAM, and long-term storage (either HDD or SSD).
 * 2) The speed of all of these must be about equally good in order for your server to perform optimally. If you have 32 GB of RAM but your other parts aren't very good then your server won't run smoothly.
 * 3) Core Processing Unit (CPU)
 * 4) * Is the brain of the computer.
 * 5) * CPUs are made up of cores. Essentially more cores allow doing more tasks or running more programs at once smoothly. Unfortunately, Minecraft servers will typically only use one core of a CPU. Thus, when you're looking at what computer specs different hosts offer keep in mind that whichever CPU has the best performance per core is the fastest for running a server.
 * 6) *A more in-depth explanation of cores: Each core contains a thread, which is what processes all the data. CPUs that offer hyper-threading capabilities can split this physical thread into two virtual ones, thus making it even faster! When viewing CPU details on the link provided above, you may see something like "(4c/4t)". This means that particular CPU has 4 cores, each with 1 physical thread and does not support hyper-threading. Alternatively, "(4c/8t)" would point out that the CPU does support hyper threading because there are more threads than there are cores which is only possible with hyper-threading.
 * 7) Random Access Memory (RAM)
 * 8) * This is the short-term memory of your computer.
 * 9) * Minecraft hosts frequently will emphasis how much RAM they offer for each plan but don't state their other specs. This is a major red flag. If they aren't willing to show off their specs, they probably aren't using something very good. Although bear in mind they may just have their specs on another page, such as the "About Us" page.
 * 10) Hard Disk Drive (HDD) and Solid State Drive (SSD)
 * 11) * These are two long-term storage devices. In short, NvMe SSD is the fastest storage you can get. SSD storage is very fast and is most common to run servers on. HDD is slower and generally not recommended, however it is good for storing server backups because HDD drives allow more storage space for a cheaper price. Using faster storage methods means faster world generating and better performance.
 * 12) The Operating System (OS)
 * 13) * This is what all of your computer's software runs on. There are three popular Operating Systems: Windows, Mac, and Linux.
 * 14) *Note that Linux has different "flavors", or types. The three most commonly used for hosting Minecraft servers are: Ubuntu, Debian, and CentOS. Each has their pros and cons, but Ubuntu is known as the most beginner-friendly. Although the vast majority of new server owners will be using shared hosting providers and thus not have to worry about the Linux part of management.

Plugins vs Mods
Many servers like to add additional features to Minecraft's gameplay using either plugins or mods.

What are they? What is the difference?
Dez Ewing, from CubedHost, puts it quite nicely:"Plugins, which can be run off of CraftBukkit/Spigot/Paper, are used to change and/or enhance existing Minecraft server content. They are used server-side only, meaning that players aren't required to take any extra steps in order to connect to a server running plugins. Some of the most popular plugins you've likely heard of are 'Essentials', 'GriefPrevention', and 'WorldEdit'.""Mods, which are typically run off of Forge, are used to add new items/features to the Minecraft and/or enhance the existing gameplay. Mods are often required client and server-side (such as 'Biomes O' Plenty'), though some mods are built as client-side only (such as 'Optifine' or 'Damage Indicators'). Mods can also be grouped together to create what is known as a modpack (such as 'All The Mods 3' or 'Sky Factory').""Unfortunately, mods and plugins tend to not want to play well together, so it's unlikely you'll be able to run a server with both successfully."


 * Source: here

To finish up their explanation, SpongeForge is an add-on mod of Forge that allows using Sponge plugins on modded servers! It has its limits, but is still is an extremely powerful tool that should not be overlooked.

Popular Server Software
There are several types of software for running servers and they each have their own purposes. It is crucial to know which type of server software you want to use before you start making your server.

Popular Server Types

 * 1) Vanilla
 * 2) * Vanilla is an unmodified version of Minecraft
 * 3) * Does not support using plugins or mods
 * 4) * Does not provide the optimization features other server types do
 * 5) CraftBukkit 
 * 6) * Allows using plugins on servers
 * 7) * Is less popular today, but is the foundation that Spigot and Paper were built upon
 * 8) Spigot
 * 9) * It allows using plugins on servers
 * 10) * It's a fork of CraftBukkit, which means it provides all of CraftBukkit's features and more
 * 11) * You gain access to a wider variety of plugins to use
 * 12) * Spigot has a massive community on its forums that can help answer your questions and point you in the right direction
 * 13) * Spigot is very popular and well-known
 * 14) Paper
 * 15) * It allows using plugins on servers
 * 16) * It's a fork of Spigot meaning it provides all of Spigot's features and more
 * 17) * It aims to provide the best performance (least lag) out of CraftBukkit, Spigot, and Paper
 * 18) * To receive support for paper use the Paper Discord server or forums found here.
 * 19) * According to developers I've met, all well developed Spigot plugins will work on Paper servers. Any plugin that does not is probably using bad practices and you shouldn't be using them anyways.
 * 20) BungeeCord
 * 21) * If you have more than one server and you'd like to connect them all using a Hub server then you can use Bungeecord. Alternatively, you can use Waterfall which is explained below.
 * 22) Waterfall
 * 23) *According to ItzSomebody on the SpigotMC Wiki,
 * 24) *" WaterFall is another cool creation made by the Paper Spigot guys. It is a high performance fork of BungeeCord with over 40 patches [patches are fixes or improvements to software] that are supposed make BungeeCord even better. Because WaterFall is a modified BungeeCord however, it is known to have some incompatibilities with existing BungeeCord plugins."
 * 25) Forge allows using mods and modpacks on singleplayer, as well as, on servers
 * 26) *It has less optimization features than Spigot and Paper, however, there are many mods that aim to optimize your server (such as "FoamFix") and Minecraft client (such as "Optifine")
 * 27) *If combined with SpongeForge (a Forge mod / add-on), then you can use mods and sponge plugins together
 * 28) *In general, mods will require more computer resources to run than a normal plugin-based server of the same size
 * 29) *Lastly, you may occasionally hear from the plugin community that mods are "bad", "crash the server", or "cause major lag".
 * 30) **The "bad" statement is downright false. Plugins are fairly limited in what they can do. For those looking to add new content to Minecraft, mods are definitely the way to go.
 * 31) **However, there is some truth to the two other statements. Poorly developed mods run the risk of crashing your server. This is true for plugins as well, but especially for mods because mods often implement custom blocks in-game that use more computer resources. Furthermore, when mods are used irresponsibly on a server they can also crash the server.
 * 32) **Lastly, "lag" is a universal experience. Regardless of which server software you use there is a good chance you'll experience it depending on your computer's hardware and internet speeds. That said, modded Minecraft typically requires more computer resources to play. While playing normal Minecraft works on 1-2 GB of RAM allocated to Minecraft, modded Minecraft often requires 4-6 GB of RAM. This remains true on the server-side as well. Furthermore, some mods require a decent Graphics Processing Unit (GPU) to show detailed item textures and such in-game. As a result, anyone using Minecraft on a low-end or middle-end computer is much more likely to experience lag than on a normal plugin-based server.
 * 33) * Finally, bear in mind that there are some mods that are more server-friendly (cause less lag on servers) than others that were designed with singleplayer-use in mind. That said, all heavy-duty mods will lag at some point if you overuse them enough.

Those are the popular and most commonly used types of server software. If you'd like to learn about even more server software you can read this SpigotMC Wiki page!

Personal Recommendations
Please bare in mind these are solely my opinions. Your views on it may vary.


 * If you are completely new to making servers and want to use plugins, I recommend Paper.
 * While they don't have the massive community Spigot has, I've been told their support is good.
 * Furthermore, they allow downloading the Paper server jar file directly from their website! Spigot, on the other hand, requires you to go through a series of steps which may be very difficult for a complete beginner. While there are some alternative methods to install Spigot, they are not recommended.
 * Paper also has great server optimization features to minimize lag and it even fixes some duplication bugs by default!
 * If you are completely new to making servers and want to use mods, I recommend Forge.
 * Note that if you choose to go this route you will probably want to either use a pre-made modpack or make your own. Each have their pros and cons and tutorials will be provided for both methods.
 * Bear in mind: Creating your own modpack can be as small or as large as you want. However, the larger it is (and/or more configuration changes made) the more time consuming it will be! Stable/popular modpacks made by experienced teams can even take months to make!
 * However, if you have dedication and enjoy being able to create a server with everything exactly how you want then it may be the path for you!

IPs and Ports
When you first purchase a Minecraft server plan from a Minecraft host your server will have an IP and a Port. If players want to join your server they will need to enter your IP and Port into their Minecraft client like so:. The format is: IP:Port

Dedicated IPs
Requiring players to input: " to join your server isn't very professional looking. Plus it is hard to type in. Who really wants to go through that effort? (Shh, some people don't know about copy and paste). So, you can get a dedicated IP from your host. These will typically cost a few dollars extra per month and all it does is change your port number to  . Now,   is an exception to the rule of being required to input the port to join a server. If your Minecraft server uses a dedicated IP, AKA the   port, then your players won't need to type in your port to join your server! Hooray! Now they can just type in:.

Domains
But, let's be honest. Players are lazy. No one wants to type in a long IP number. Plus it doesn't look professional and it isn't easy for your players to remember if they want to tell their friends about your server. This is where a domain comes in. A domain is essentially an alias for your IP, made up of letters and/or numbers. For example, you may decide to get a domain called:. Now, with your dedicated IP and domain, players don't need to type in your. They can type in:  to join! Hooray! It actually is memorable and easy to type now.

Sub-Domains
Now, let's say later on you decide to open up some new servers and create a Network containing several different gamemodes. Each domain costs money and who wants to pay for a new domain? So we can take advantage of sub-domains. Each sub-domain will allow players to join a different server / gamemode you own. For example, if your normal domain is:  you could have the following sub-domains:



Denial of Service (DoS) Attack
According to Wikipedia, "In computing, a denial-of-service attack (DoS attack) is a cyber-attack in which the perpetrator seeks to make a machine or network resource unavailable to its intended users by temporarily or indefinitely disrupting services of a host connected to the Internet."

Distributed Denial of Service (DDoS) Attacks
Wikipedia also explains a DDoS attack: "In a distributed denial-of-service attack (DDoS attack), the incoming traffic flooding the victim originates from many different sources. This effectively makes it impossible to stop the attack simply by blocking a single source."

In other words, DoS and DDoS attacks are cyber-attacks used to either slow or bring your server or network down for a period of time. In order to prevent against these attacks, it is important to use DDOS protection. Most Minecraft hosts offer this by default, however, double check before paying for a plan! If you end up using a VPS or Dedicated Server (more on this later), you may need to manually setup the DDOS protection yourself.

Server Management Terms

 * 1) Configuration files allow you to edit settings on your server.
 * 2) * Most plugins and mods have their own config file.
 * 3) * In addition, the server software you use will have its own configuration file too.
 * 4) ** For example, Craftbukkit uses bukkit.yml, Spigot uses spigot.yml, and Paper uses paper.yml.
 * 5) ** Server software that is a fork of another type of server software will contain the original software's configuration file and their own configuration file. As a result, Paper servers will have "bukkit.yml", "spigot.yml", and "paper.yml" configuration files.
 * 6) * Each configuration file must follow a set of rules for how it is formatted. This is called Syntax.
 * 7) *Bukkit yml.png are several types of syntax: YAML, JSON, .conf, and more. Any plugin-based servers will most likely be using YAML syntax and any mod-based servers will use JSON or .conf syntax. It is important to know how to edit files with the syntax applicable for your server otherwise it could cause a lot of problems down the road. Tutorials on this will be provided in the Server Management section of this wiki.
 * 8) *Click the image to the right for an example configuration file using the YAML syntax.
 * 9) The Console is what shows all of the server messages, errors, and in-game chat to the server owner.
 * 10) *You typically connect to it via a website provided by your Minecraft hosting provider. If you are running the server on your own computer, however, the console will be a command prompt.
 * 11) *To enter commands into the console to run on your server type the command without the slash ('/').
 * 12) File Transfer Protocol (FTP): According to Wikipedia, "The File Transfer Protocol (FTP) is a standard network protocol used for the transfer of computer files between a client and server on a computer network."
 * 13) *In other words, FTP is used to transfer files from your hosting provider to your computer and vise versa.
 * 14) SSH File Transfer Protocol (SFTP): SFTP is the same as FTP except it uses SSH which is a secure method to transfer the files.
 * 15) * FTP and SFTP . These both mean File Transfer Protocol the only difference is SFTP uses SSH and thus is more secure. These both do exactly what they sound like: they allow you to transfer files between your computer and hosting service using software that support FTP and SFTP. This is a very useful tool you will use frequently.