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!
Currently working on something for Windows 10:
http:images.rymate.co.uk/images/MlRd0d7.png
Quick update on JPanel
The next update is going to break the config yml again guys, sorry. I've been told that there is a couple of issues with the way passwords are hashed, so I'm going to fix that up for the next update. I'm also going to write a tutorial to tunnel through an ssl enabled web server - more info on that when the update lands. This update is likely to be in a couple more days, as I'm on holiday.
@Magnusquist
yes, probably
@rymate1234
So it says 'start port' and 'end port' would that just be 4567 and 4567 or what?
@Magnusquist
You'll need to use the same method you used to port forward the Minecraft server. This will vary depending on your router control panel, so I cannot help with this step.
@rymate1234
I have portforwarded 4567 and 9003 and send him the link with my external ip, but it just says: Website was not found (Translated from danish) Also I can only connect through localhost.
Edit: Hmmm, my mistake, I have not port forwarded the 2 ports... Last time I checked it said that it was port forwarded but now it isn't. Can you guide me how to do it?
@Magnusquist
you'll need to port forward the ports the panel runs on - these are 4567 and 9003 by default
then it should be a case of directing your friend to http://your-external-ip:4567
Great that you fixed the bug with localhost, but if I wan't my friend to login to the panel witch adresse do I then use? My ip(the same as the server is running with) does not work
@rymate1234
@rymate1234 Thanks. My project is a little bigger and not fully finished. So you have to wait ;-)
@SzybkaStrefa
try it, it might work
@Wombosvideo
nope, it's open source for a reason - just link back to me :)
Would you mind if I add a simmilar panel (with using a part of your code) to my plugin?
Plz add 1.7.9
@rymate1234
I really like this plugin ^^
I know you removed the formatation to avoid bugs with tags... but i i think if you add a option to use with/without colored formatations i will like :)
Thanks
@Magnusquist
omg why didn't I check this whoops
NEW RELEASE COMING SOON
@Magnusquist
omg why didn't I test this whoops
NEW RELEASE COMING SOON
Nice plugin but I might do something wrong.. When I connect to my server with www.localhost:4567 it does this: http://gyazo.com/2e54c7bf0d966fb5a46daf19db6b0fa6
Do it have to be a hosted server to work or im I just doing something completly wrong here? :)
@Sumure
unfortunately those feature requests will be extremely hard to implement, especially the server starting from the control panel as since the panel is a plugin the server needs to be running
the error seems to imply that the console didn't connect to the websocket - make sure port 9003 is accessible.
- Add support multiple server in same panel (tabs)
Errors: http://hastebin.com/cenuxuyate.rb
And thank you, to test the panel we detect that had excessive memory in minigames.
@rymate1234
Cool! Wating!!
Oh, and have few issues to show nicks and tags names containing &r! Instead to reset the formated/colored string is removing.
@FabioZumbi12
Added a limit to 1000 lines - this will be in the next build