WebOp
WebOp - WebPage Moderation Interface
Description
WebOp allows server owners and optional others to view their server health real-time, search the server log, edit server properties, modify the whitelist, and use the console - all through your browser!
All users must be white-listed to access the webpage, and require OP to use the console, modify the whitelists or server properties.
Non-OP users are able to view the server health graphs and search the log. This allows staff to find out who banned someone, who muted someone, etc, direct from the source, instead of needing to talk to staff or use a plugin to log all commands. Real-Time graph data displays your current server health (TPS, Available memory, Entities loaded, Chunks loaded) giving you at-a-glance information regarding the state of your server.
Features
- Built-in whitelist to enable/disable WebOp and WebOp console view/access.
- View and/or use the console.
- Live server health history graph display how well your server is performing at-a-glance.
- Server log search function with timeframe ability - easily find out who issued commands.
- Live on-demand plugin profiling, displaying all event execution times with nanosecond/millisecond performance timings.
- LogBlock lookup addon - Provides the ability to lookup all ores broken server-wide or player-specific.
- Essentials user data addon - hover over player names for user information.
- Tried-and-tested session-based logins.
Adding custom menu links
To add a custom menu, create a text file inside the "/plugins/webop" directory, and name the file whatever you would like the menu header to say. For example, if you create a file called "My Links.txt" - the header of the menu will be "My Links". Edit the text file and add a "Name >> Value" for each line. For example:
Bukkit Plugins >> http://plugins.bukkit.org/ Google Home >> http://www.google.com Server DynMap >> http://play.myserver.com:8123
You can create as many text files as you need in the same manner.
Permissions
In order to login, you must use your minecraft login details, exactly the same as you would use to login to the game. You cannot login without a legitimate minecraft account. OP status is required to use the console. OP status is required to add users to the whitelist. A built-in whitelist gives access to the website.
Installation
Copy the plugin to your "plugins" folder and start the server to create the default config file. Edit the config file and add yourself to the whitelist. Change the port number and IP address as necessary. The default port is 1337. Restart the server and, using your browser, navigate to "http://myserver.com:1337" - substituting "myserver.com" for your server domain name or IP-address, and specifying the port number you chose to use. For example "http://127.0.0.1:6523", or "http://play.myserver.com:6546".
After installation is complete, any OP player can add and remove other players via the webpage.
Requirements
- Java 7
- A CSS3-capable browser with javascript enabled
- A legitimate Minecraft account
@jayfella
Cant wait for the update!!!! Great work.
@tito1411
The profiling is cool, but i felt that on a busy server it could become a whole bunch of useless information - or rather too much information to make any sense out of, so I took a better approach: http://i.imgur.com/C5epLTF.png
It now displays the results in a graphical form, allowing you to simply hover over each bar to obtain useful information. I feel this approach highlights important data and displays results in a much friendlier way.
I plan on finalizing what I have now and pushing an update, then continue to implement more features.
Regarding storing previous data... I'll experiment on the best way to approach it. The last thing anybody wants is 4gb of mysql data.
Love the profiling by the way!!!
@jayfella
I think it could be an useful tool to track reports of lag and server problems if you can go back in time and rule out the server itself. For example. User complains of lag at 2:30. Check the history and determine if it was or was not something server related.
@tito1411
Currently it only displays real-time data yes. I don't have any plans for storing the data, however its entirely possible to do so. Can you give me a reason as to why you would need this information so I can better understand how to implement it?
Does this only track real time server health? and if so are there any plans to add Mysql support for health history? Thanks!
@jayfella
The new update looks awesome already! I'll keep an eye on this plugin page, because I can't wait to use it :) And I'm glad those changes are made. Thank you!
@Mariskaaa
Yeah i agree. I am in fact updating this as we speak to work better with mobiles, as well as continue to add more features. LogBlock search and essentials user data are currently added. WebSockets are used now instead of traditional long-polling. I'll push an update in a few days.
Replying to your edit: I'm not 100% sure I can modify the log that way because bukkit gets a lock on the log file whilst its open. Regarding the "name" bug - yes it is a bug, but it is harmless. The update i'm pushing in a few days will solve all of those minor issues, as well as provide a cleaner skin.
Screenshot: http://i.imgur.com/WnTfMPy.png
Great plugin! I've downloaded it today and I have to say that I love it! Now my Co-Owner can also check the console! Thanks for making this plugin! I can access this plugin through the default internet on my mobile phone, but like malteee said, maybe you can make an Android app for it, or edit the site for mobile phones so it is easier to see.
EDIT: When I'm logged in onto the site, and my Co-Owner aka brother also logs in, the site begins to bug at my laptop. Then in the upper right corner, it says Log out, (my brother's accountname) while I was logged in on my account. Is this a bug? And I've got an idea too. Sometimes my server log begins to weigh much, 'cause of this plugin I keep my server 24/7 on. If it's possible, could you maybe add an option to delete the log? Or delete parts of the log, like to be able to delete the log from 2 days ago, but that you'll keep the things logged 1 day ago etc..
Sorry for my bad English, I'm Dutch.
@murynyo101
Try using a different port number, and make sure you are using the correct IP address as shown here: http://en.utrace.de/
@malteee
I can look into making it mobile friendly and shoot both birds with one stone.
my sv is hosted by a friend, i put there the server's ip and the port is 1338
@murynyo101
java.net.BindException: Address already in use at sun.nio.ch.Net.bind0(Native Method)
The error is saying that the address is already in use. What port are you using? Are you using it on your local computer? If so, specify "localhost" as the IP address, and use a port above 1000.
I tried this plugin and I must say, that I like it really, really much.
I have got 2 ideas: 1. It would be nice if you can make a mobile friendly design or an Android app. 2. What do you think about an "keep me signed in" checkbox at the beginning (login site)?
Thanks a lot for this plugin!
how i can resolve this problem WebOp2] Error initializing HTTP Server. java.net.BindException: Address already in use at sun.nio.ch.Net.bind0(Native Method) at sun.nio.ch.Net.bind(Net.java:444) at sun.nio.ch.Net.bind(Net.java:436) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) at sun.net.httpserver.ServerImpl.<init>(ServerImpl.java:100) at sun.net.httpserver.HttpServerImpl.<init>(HttpServerImpl.java:50) at sun.net.httpserver.DefaultHttpServerProvider.createHttpServer(DefaultHttpServerProvider.java:35) at com.sun.net.httpserver.HttpServer.create(HttpServer.java:129) at me.jayfella.webop2.Core.RequestHandler.initialize(RequestHandler.java:40) at me.jayfella.webop2.Core.RequestHandler.<init>(RequestHandler.java:29) at me.jayfella.webop2.PluginContext.<init>(PluginContext.java:59) at me.jayfella.webop2.WebOp2Plugin.onEnable(WebOp2Plugin.java:14) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.v1_6_R2.CraftServer.loadPlugin(CraftServer.java:282) at org.bukkit.craftbukkit.v1_6_R2.CraftServer.enablePlugins(CraftServer.java:264) at org.bukkit.craftbukkit.v1_6_R2.CraftServer.<init>(CraftServer.java:218) at net.minecraft.server.v1_6_R2.PlayerList.<init>(PlayerList.java:56) at net.minecraft.server.v1_6_R2.DedicatedPlayerList.<init>(SourceFile:11) at net.minecraft.server.v1_6_R2.DedicatedServer.init(DedicatedServer.java:106) at net.minecraft.server.v1_6_R2.MinecraftServer.run(MinecraftServer.java:391) at net.minecraft.server.v1_6_R2.ThreadServerApplication.run(SourceFile:582)
@minecraft1408
I'm not sure what bukget even is if i'm honest, could you elaborate on what you would like? I've taken a look at the plugin page, but it looks quite large in terms of abilities. If you could describe what you would like to see, i'll at least take a look - i can offer you that much at least.
is there bukget support?
Updated and re-written - please download version 2.
@Sinius15
Yeah, this plugin will definitely not like the reload command. I'll give it a shot, but i'm not very hopeful.
first of all: Awsome plugin. but when i run the /reload command(in the original console) i get an error, and the page disapears. this is the error:
to make it extra complicated, the newest error is on the top, the oldest error is on the bottom op the error.
EDIT: now i read other comments this is a known issue
@mjl1010
My apologies for the delay. Life loves to get in the way. Updated to 1.6.2 - pending approval.