WebConsole
A plugin to enable your server to be controlled with a website.
What exactly does it do?
- Provide the foundation for WebConsole-Clients
- WebConsole-Clients can control the server completely from a website*
- External server management: developers can automate processes such as creating a backup or dynamic user management
* You got to protect your website with a login system, otherwise people with the address of your WebConsole may be able to harm your server.
How does it work?
- The plugin (
WebConsole.jar
) creates a second, seperate server to work with the WCON-protocol, a protocol developed by me for this purpose. - The client (written in PHP) can connect to the WCON-server through TCP socket connections and executes commands on the WCON-server, which will provide information about the underlying Minecraft-server and can execute console commands (e.g.:
/op
).
Why would I need this plugin?
- With this foundation you are able to control your minecraft server from a website and have even more capabilities than just executing commands on the minecraft server.
- You are able to have the ultimate overview about your server and your players.
- Because this plugin is 100% open source (links to the repositories can be found under "Source code"), everyone is able to help improving WebConsole and customize it for their own needs!
- You can therefore automate everything related to your server! The PHP client can be modified to execute backups and add players to the whitelist and endless other possibilities (througth cron-jobs, HTML-forms, etc.)
Project Website
You can find the project website on my homepage: https://wcon2.mcmainiac.de/
Information for Server Owners
This plugin is experimental and still in development! Do not use it in production!
Installation
The installation of the plugin is fairly easy. The setup of the website isn't (yet). A more detailed installation will be added later.
Minecraft plugin
- Download the version for your minecraft server. The MC versions will be in the title of the file.
- (Unzip the compressed files in a seperate directory.)
- Drop the
WebConsole.jar
in your server's "plugins" folder. - Restart your server.
Website
- Move the contents of the "website" folder in a subdirectory of your HTTP-server root. The server must support PHP 5.6 and must have the socket extension installed*.
- Edit the
config.php
in theconfig/
folder.
* To install the socket extension, you need to have access to the servers php.ini
Usage
Since this plugin is still in development and not finished, there is not real use for non-developers.
If you know PHP, you are able to edit the index.php
. The way you are able to send commands to the server is fairly easy:
$client->connect(); $client->sendCommand( new ClientCommand(ClientCommand::MC_COMMAND), explode( Packet::ARGUMENTS_DELIMITER, "say Hello from the web!" ) ); $client->disconnect();
With this snippet, you are able to send commands to your server. More information about the API can be found on the GitHub-page for the WebConsole-Server.
Source code
You can find the source code of both, the plugin and the website, on GitHub:
- WebConsole-Server (plugin for spigot): https://github.com/MCMainiac/WebConsole-Server
- WebConsole-Client (php website): https://github.com/MCMainiac/WebConsole-Client
Contribution
- For developers: If you want to improve WebConsole or even start working with me on this project, simply clone the repositories and start hacking into the code. Create a pull request and, after a review, I may merge your changes into the master.
- For (web-)designers: Please send me a pm and I will message you back if I need anything.
- For server owners and players: Please don't post suggestions in the comments! Use the GitHub issues system to provide useful ideas and suggest features. Simply create an issue and explain what your idea is: https://github.com/MCMainiac/WebConsole-Server/issues.
Planned features
- More commands
- Responsive and user-friendly website
- maybe login system with databases
- easier installation process