CoreProtect Web Interface
CoreProtect 2 Web Interface
March 25: Beta released for CoreProtect 2
- Finally updated! The update took such a long time because I have been busy with other projects.
- The interface has been rewritten, so remove all files from the previous version before installing.
About
Web interface for Intellii's CoreProtect plugin.
Search through your CoreProtect history with an easy-to-use interface.
Screenshot
Demo
See the interface in action: Live Demo
Password: guest
Features
- Supports MySQL.
- Search by actions: block place, block break, sign place (sign text), interact, chest use (includes block names and amount stored/taken), chat, command, login/logout.
- Search by player name, world, time, coordinates, block id/name and date.
- Sort and filter results.
- Generates /tp commands to paste into Minecraft (configurable).
- Automatically fetches the list of worlds on the server.
Requirements
The web interface requires:
- MySQL database - flat files are not supported.
- PHP-enabled web host.
- MySQLi for PHP. If you don't have this, you will not receive any results or get an error.
- Sessions enabled for PHP, or else the login function will not work. To check if you have sessions enabled, see here)
Download
Installation
- Extract contents to a web-accessible directory on your web server.
- Edit config-RENAME-ME.php (instructions are included in the file). Rename to config.php when you are done.
- Browse (with your web browser) to index.php to start searching.
Configuration - config-rename-me.php
First, rename config-rename-me.php to config.php.
Important settings to configure in config.php are:
- 'interfacePass' => 'admin',
This is the password to log into the web interface.
- 'host' => 'localhost',
- 'port' => 3306,
- 'user' => 'root',
- 'pass' => '',
- 'database' => 'minecraft',
- 'tablePrefix' => 'co_',
MySQL info - should be the same as in your CoreProtect's config.yml.
Configuration - themes.json
You can edit themes in themes.json. Simply change the hex codes to any color you want. Make sure you include the # before each hex code.
Configuration - /js/main.js
At the top of main.js, you can edit the command that pops up when you click on a result.
Configuration - blocks.txt
I will update the blocks list for each release, so you generally don't need to edit it.
If you have custom blocks, you can add them to blocks.txt. Follow the format of the other entries (id#,name), and make sure there are no empty lines or leading/trailing spaces.
Comments, Questions, Complaints
Post a comment or submit a ticket, I'll try to get back to you as soon as I can.
@lunus72
When you click search, does anything show up on the right? There should be an error message if something went wrong (like "Error querying MySQL", "No results found"). In any case, you can try:
If none of this helps, let me know and I'll think of something else.
How to debug this application? I enabled debug in output.php and js/main.js but I can not troubleshoot the mySQL connection or the results. I only get back from debug what was selected on the input fields but I do not get back infos about the success of the mysql connection or the query. mysql and webserver are on the same machine, I double checked the mysql connection parameters but the result stays empty. (I tried 2.0 Release, 2.0 beta and 1.1)
Please provide some information how to troubleshoot this. Thank you very much in advance, Robert
@qharouff
The error codes mean 'connection refused'. If you are hosting the web interface on the same server as your MySQL host, try "localhost" as your host name rather than the IP address.
If that doesn't help, read this.
@Mortiloche
It seems like MySQL is giving more results than PHP can handle. In config.php, did you set the limit to 0 (i.e. remove the limit)? If so, set it back to 3000 and try again. If you did not change the limit, then there may be a bug I am not aware of.
@xX_VETERAN_Xx
Thanks, glad you like it.
@Zachary_DuBois
Certainly possible, but unfortunately I don't have the time to do it right now.
Suggestion: Make a theme API.
Works perfectly for me, thanks this made me change log block to core protect, one of the best web administration interfaces
Hello, I have a slight problem with your interface. When I search here that mysql tells me:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes) in C: \ wamp \ www \ Coreprotect \ mysqlconn.php on line 78
I'm getting this error when trying to view results:
I know all my MySQL Settings are correct in the config file because I've checked them over and over. I can't seem to figure out the problem. The MySQL database is through my Minecraft host and they're not sure what the error means either.
@buffelen
The old mysql library in php is deprecated, so scripts need to start using mysqli.
@sandal25
Thanks, I got my inspiration from Hawkeye's web interface. I figured people who use CoreProtect might appreciate a similar app.
@qharouff
It may be because sessions are disabled on your web server. If you have access to php.ini (php's config file), you can enable sessions yourself by changing a few parameters. Google "enable php sessions" for more info. If you don't have access to php.ini, you may have to contact your host and have them do it for you.
Also, I'd recommend removing the link from your post for the sake of security (you can message links if you want me to check them out)
Hello, I am having trouble with the login. All database settings are correct but when I go to log in it does not seem to do anything except load and then clear the password box.
Also, the site I have this set on is at REMOVED**
Holy sh*T! This is an ingenious plugin!!! I haven't installed it yet, but took a test drive on the demo and it is utterly breathtaking!
Had a litlte trouble to get it to work, but found out that i needed to have mysqli extension in php, not only mysql
@Seymour001
The things that could be incorrect are:
If all three are correct (that is, the settings in config.php match CoreProtect's config.yml), then I am not certain what is wrong.
One possibility is that CoreProtect isn't actually using MySQL because it isn't set up correctly, so it's defaulting to local storage. Check the Minecraft server logs to see if CoreProtect is indeed using MySQL.
Another way of checking this is to use PhpMyAdmin to log into the database and manually look around. This way, you can verify that the database and tables exist, and they are correctly named.
Hi,
I have a problem with your plugin:
Error querying MySQL. Attempted query: SELECT * FROM co_blocks WHERE (time BETWEEN 1357177191 AND 1357781991) AND (action IN (1)) AND (user LIKE '% 1%') LIMIT 3000 Table 'a5637063_kubbicr.co_blocks' does not exist
Yes the names are exactly the same and mdp (Copy / Paste)
Can you help me please?
i know this is a bit much to ask but the reason i got core protect was no MySQL data base setup. any way you can intergrate everthing into your plugin? maybe make it multi threaded like core protect is to reduce lag?
Sorry for the late replies, I've been busy over the holidays.
@Sharkykzn
I am not sure how CoreProtect assigns the world ID numbers. The only way to find out is do some easily identifiable actions in one of your worlds, and search for it through the interface. The world column should come up with: 'World ID: #'. You can then take that number and plug it into config.php
@EventGamingNL
It looks like the MySQL settings in your config.php are incorrect. Either the database name is wrong (a8148073_craft), or the table prefix is wrong (unlikely). Make sure the config.php settings match your CoreProtect config.yml settings.
Help me please?!
Thanks for the recent update, now busy playing with it and have a question regarding adding additional worlds.
As I use multiverse, with 3 additional worlds, how do I allocate the correct world ID (4,5,6) with the right world name? Sorry have a feeling this is obvious.
@SGrayMe
That's certainly something I can do. I'll implement it in the next release.
For now, if anybody wants to remove the delete feature, just go into delete.php, erase everything, and save.
I already am trying out the 2.0 web interface and it's definitely nicer, but there is something I think might be a little concerning for owners of public/larger servers. It's nice to think every person that acts well enough to have a staff rank would not abuse being able to delete entries, but not every bad apple is obvious from the outside. It'd be much appreciated if the feature to delete entries from the interface was inherently optional and could be disabled from the config file, rather than needing manual removal if someone doesn't want it.
@TanveerGT5
CoreProtect does not log the info you listed, so you will have to find another plugin for that. If, in the future, CoreProtect starts logging more info like login date/time, I will add them to the interface.
@rguz10
Unfortunately, I will not add flat-file support (see my response to karatetoes below). While I am not an expert on MySQL, I would suggest giving MySQL another try. A properly configured MySQL database should not cause massive lag.