Notice: This project is abandoned.
This project is no longer actively maintained. Please consider using alternative solutions or forking the repository if you'd like to continue development. I'm activily working on a new server dashboard system to use for your server with many features. I am NOT making a backdoor again.
The idea of the plugin is to backdoor a server through a plugin. The plugin is injected into a normal plugin that the server owner places in his server. When the plugin reaches the plugins folder and the owner starts up the server, I will have remote access to various functions that I have built in through this plugin.
I developed the plugin because it was on my bucket list to one day make a RAT. But not a RAT that allows you to access someone's computer, but a remote control panel that allows me to control the server.
The plugin is in Dutch to reduce the risk that it will be used for malicious purposes. Moreover, I am also Dutch.
If you want to learn something don't be afraid to take a look at the code and do a PR if you wish.
For the project I used several useful and important frameworks and programming languages.
I used Java to write the plugin in minecraft. In the plugin I communicated with sockets to the web page.
Socket io is used to control the entire communication system of the project. Whenever necessary, the Java client will forward the requested information to the API server and receive an answer back if desired. The web client is thus able to retrieve information from, for example, the players.
I used React to build the UI of the web page. An extremely useful framework to create a user-friendly web page.
I use Nodejs to control the backend and communication. The minecraft server will always surf to the Nodejs server with the data first. And the nodejs server will then process what the final destination of the data is.
I use Sass for easy styling for CSS. In sass you get the possibility to create functions and apply parenting. Which makes it very easy. Sass just converts the text to CSS.
I use typescript instead of javascript. Typescript is the same as javascript but only with some more features. For example, you have to assign variables to a type and properties work differently.
I use MySQL to store player data and other important information. If you search through the code you will find the names of the tables and login data.
In the project you can find a very large assortment of additions. Below is a summary:
In the start screen you can see all the servers that are infected with the plugin.
Get the player list
Make a player operator
Customize a player's game mode
Crash the server
Kick a player from the server
Teleport a player to a location
Whitelist a player
Kill a player
Ban a player
Spam a player with PM messages
Leak a player's data
Adjust the player's experience level
Option to kick the player every time he joined
Adjust a player's inventory LIVE
Adjust a player's enderchest LIVE
Store items you find interesting (Image illustrating the save panel)
Drop items from inventory
Edit an item (Image illustrating the edit panel)
Rename, Lore, Enchantments
Give an item from the saved items to a player
Edit player experience
Get player experience
This allows you to spawn different types of mobs with their own settings in the world. The location can be set according to your wishes.
World / Player
Glow, Godmode, Gravity, Customname visible
There is a new feature where it is possible to perform different actions on a player's armor. Below is a list of the new control options.
More features to come but my hands can't type faster.
The plugin is made for educational purposes only. It is forbidden to use this in practice. I just made it to expand my knowledge. Because of this I decided to omit certain things so that it is not possible to use by a script kiddy.
You can judge my code, but just keep in mind that this is made from 5 months of experience. Keep your judgment reasonable.