Today, I am introducing a project I've been envisioning and working on for a couple of months that is finally in a usable and sharing state where multiple people could potentially contribute to the project.
What is HAT?!
Another Control Panel? Too many! Stop making these damn things!
Yes, another one. However, this one is different. A lot of Control Panels today are written as a CMS for your users as well as administration for your GM's. HAT is not designed to be accessed by your users, similar to the PHPMyAdmin tool. Your users will never know its there, therefore already enhancing security. However, contrary to PHPMyAdmin, you can more deeply control what your GM's have access to.
Oooh, control? I'm a control freak, tell me more!
HAT has a separate database of users for your GM's that have access to your panel. You're not relying on the login table of your server and their group level to provide access. Instead, a separate user database allows access, with a fully customisable set of permission settings on what those GM's can do and not do. 98 different permission sets are possible. So, you can have an in-game support GM with some limited powers in game, and they don't have to have access to your admin panel. Likewise, you can have a developer who only needs access to some server functions and your item/mob DB's without access to your server's accounts.
What other features does it have?
HAT gives you the ability to administrate just about everything on your Hercules server or its databases. It's a backend tool designed to be installed to the same server as your running Hercules server, giving you error tracking, server restarting and GM commands through a web interface without needing to login to SSH. With its fully responsive interface, its suitable for access via mobile, tablet or desktop without comprising access to information you need.
So far, a somewhat complete list of the features already done:
- Account Management including: Changing account name, email, reset passwords/PINs, manage bans, account notes, account flags, manage account storage
- Character Management including: Change character name, stats, levels, jobs, items, flags
- Guild Management including: Change guild name, leader
- Server Management including: Viewing server console logs, start/stop/restart running Hercules server, reload item/mob db's, scripts and battleconf, viewing server performance data
- Admin Management including: Add/disable/delete GM's, assign/delete/change permission sets (groups)
More features being added almost every week!
How can I use it?
Note that the panel is still in constant development and could be unstable. We would appreciate more testers and bug reports regarding the panel. While I try to write and test code that I know will work before pushing it to Github, sometimes I miss something or it doesn't work as expected in another environment. If you're willing to contribute by using and reporting bugs, you can find the panel to download here:
I found a bug! How do I report it to you?!
You can use the Github issue tracker to report bugs: https://github.com/j...dminTool/issues
I want XYZ feature! Can you make it?
Maybe. Use the Gitbhub issue tracker to give me the suggestion and I'll see if I can/want to add it: https://github.com/j...dminTool/issues
You lied! My panel completely destroyed my server!
Take backups. As mentioned above, you're using something that is constantly in development. If you encounter a bug, please report it. If you encounter an issue that leads to the destruction of data, this is a beta product, and I'm sorry, but I cannot and will not be held responsible.
What are the system and server requirements for running the HAT?!
The following system I run my testing on, let me know if you have similar results with a system with different packages or such:
* Linux, specifically Ubuntu 14.04. Windows or BSD at this moment is completely untested. I plan on hopefully testing this weekend.
* apache2, version 3.4.7
* php5, version 5.5.9
* php5-mcrypt needs to be installed and enabled. You can do such by adding to your php.ini: `extension=mcrypt.so`.
* php5-mysql extension. MySQL can be installed on a different machine if you so desire but you must have the php5 extension installed on the machine
* apache needs to be configured to include the mod_rewrite extension. In addition, your per directory settings for apache configuration must allow "follow symlinks" and "AllowOverride all".
* You can optimize Apache to use a bit less memory so that your Hercules server can expand if you do not anticipate many people using your panel by taking the following steps:
- Install apache2-mpm-prefork.
- Reduce the amount of clients your apache can serve and reduce the amount of servers it starts up in httpd.conf/apache2.conf.
IRC: irc.rizon.net @ #hercadmintool - if you want to talk to me about it or submit features or poke me to do more work.
Demo available at: http://hatdemo.jemstuff.com
The demo can be access with username/password: admin/admin. You can do most things in the demo so feel free to play around. I know there's not much data there to experiment with, but feel free to play.