JPanel - Minecraft Webpanel
JPanel - A plugin based web panel for Bukkit
What is this?
JPanel is a plugin based control panel for your minecraft server. It is viewable within a web browser, and does not require running any external web servers, or knowledge of PHP or databases. This plugin is in beta, and has a number of key features, including:
- A live view of the server console
- Live view of the server ram usage, cpu usage and ticks per second
- User permissions
- Modify player groups (requires vault)
- Easily kick or ban online players (not currently implemented in new player manager)
- Manage server files
- Passwords hashed with a salt
Before installing
THIS PLUGIN REQUIRES JAVA 8. ALSO BE AWARE IT'S STILL IN BUGS, AND THERE MIGHT BE BUGS OR INCOMPLETE FEATURES.
Installing
Since this plugin doesn't require anything else other than the Bukkit server, installation is extremely easy
- Put the plugin jar file in your plugins folder
- Restart the server
- Ensure that port 4567 are port forwarded (this can be tested with this tool here)
- In the server console, use /addlogin <username> <password> to add a user to the panel
- OPTIONAL: Stop the server and edit the config file to allow you access to the JPanel features
For developers
As of JPanel Beta 5, you can now add pages to the panel. For more information, please see the guide.
Commands
- /addlogin <username> <passsword> - allows you to add a user to a panel
- /passwd <username> <oldpassword> <newpassword> - change the password of a user
All commands can only be executed through the console, either via JPanel or a standard minecraft console.
HTTPS support
In the latest beta (Beta 6) I've added standalone https support! This requires some configuration.
-
First, you'll need to put a keystore file in the JPanel folder. You can either attempt to generate one using these instructions or download a premade keystore file from here. The pre-made keystore has an unsigned certificate that'll get you going with security warnings in most browsers, so isn't recommended unless you can't use an actual certificate.
-
Stop the server, and enter the name of the keystore file (with file extension) under keystore-name and the password for the keystore file under keystore-password in the JPanel config.yml. If you're using the premade keystore, use the password 'password' (ultra secure).
-
Restart the server, then access the panel normally except with https.
HTTPS should now be working!
Panel Permissions
- canEditFiles - allows a JPanel user to edit files
- canChangeGroups - allows a JPanel user to change the groups of a user
- canSendCommands - allows a JPanel user to send commands through the console
These are modified through the config file. Once modified, restart the server.
Non browser Clients
I'm developing a series of apps that you can use to access the panel. Currently, there is an app for windows 10.
- Windows 10 App - https://www.microsoft.com/en-us/store/apps/jpanel/9nblggh1rnm5 (source will be released later)
- Android app - coming soon!
- iPhone app - due to a lack of $99 a year, a Mac computer and a device to test on, this is unlikely to be coming any time soon
Source Code
All source code is avaliable on github, check it out!
@ilazyboy
Might be an issue with copying files to the JPanel-public directory in your server I haven't resolved yet. I'll have another poke at it today.
@DusterTheFirst
No PHP is running on the server - the web files use the handlebars templating format
@rymate1234
i figured out the webpage thing, but are you running PHP on your server? if so , how?
When I go to the jpanel page and login with the username and password that i have set in the server files, i login okay but the panel continuously says loading.
@DusterTheFirst
Check the JPanel source code, all the code used to create JPanel, including storing webpages as a file, is there :)
@rymate1234
Actually, How Would I Run PHP On My SparkJava Server?
@rymate1234
Very Awesome Thanks So Much :D
@DusterTheFirst
I used the |sparkjava library for the web server with JPanel. This does require targeting your plugin for Java 8 users only. You can look at the JPanel source code to see how I used it within the plugin.
Another option is to use the JPanel API to add your own pages to JPanel, however this means the web server will depend on JPanel being installed on the same server as the plugin, and also means users need a login to the panel to view it, so this option might not be flexible enough for you
Oh, My, EPICNESS!!!!! This is so cool!!!!!!
I Am Tying To Do The Webserver Thing On My Plugin.. How Did You Do It?
@beautifulsound
edit the config file
how to change port ?? i user multi server :D
@Eartharoid - Enter the domain name or IP of the server running jpanel and hit enter.
Exp. http://192.168.1.131:4567/
http://mysitesite.com:4567
Then enter your login information. Be sure to edit the config.yml inside the JPanel plugin folder and give yourself permissions.
Change False tp true.
canEditFiles: false
canChangeGroups: false
canSendCommands: false
@Barkpuppy1s
Can't you use the browser version on a phone? It works fine on a phone for me.
@F_o_F_1092
I haven't a clue what the issue is then o.o
I'll have to poke around and see if I can figure this out.
@rymate1234 Oh :D
The directory is empty.
@F_o_F_1092
Looks like there's no errors there. What files are stored in /home/server/spielplatz/./JPanel-public/ - there should be a bunch of js files and a couple css files
@rymate1234
I haven't noticed this error until now... http://pastebin.com/XfWhPCZK
- Rootserver
- Debian GNU/Linux 8.4
- Java(TM) SE Runtime Environment (build 1.8.0_91-b14) | Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
@F_o_F_1092
OK, I just tried to reproduce the issue on my PC by installing JPanel to a fresh server on my server and I'm unable to reproduce the issue.
I'm going to need some more information to diagnose the issue, specifically:
@F_o_F_1092
... uh oh
Sounds like the JS assets aren't being extracted from the jar file.
Are there any errors in the Minecraft server console?
@rymate1234
Hey rymate, I have the same problem and it seems to be a 404 error.
http://mydomain:4567/index.js Failed to load resource: the server responded with a status of 404 (Not Found) ('' '' index.js, scrollbar.js, and scrollbar.cs)
@smallboy12153
Hi, sorry for not seeing your ticket - been busy the last couple days.
I'm on holiday now, but when I get back I can look into your issue further.
Can you see if there's an error in the developer tools on your browser (accessed by F12 in your browser)? If the main page is loading, but the stats and console aren't, it suggests a JavaScript error - this should theoretically appear in the developer console. You may need to select the console tab in these developer tools, and refresh the page for the error to appear.
@Barkpuppy1s
Developing an iPhone version without a mac computer and a device running iOS is impossible - the mac is needed to actually build the application, no matter which language I use to develop it in. Additionally, once the application is developed, I need to pay apple £99 for the privilege of being able to put it in the app store. Because of this, an iPhone version is extremely unlikely, as I am not going to be buying a £399 mac mini just to develop a single app, and then pay an extra £99 to get it into the store.