Jman

HAT - The Hercules Admin Tool!

90 posts in this topic

this is great =)

 

how about adding feature like sending @commands from HAT to ingame ??

or sending linux commnad to server like putty ??

Share this post


Link to post
Share on other sites

this is great =)

 

how about adding feature like sending @commands from HAT to ingame ??

or sending linux commnad to server like putty ??

Hi Emistry!

 

This was already on my list. I'm not certain how I want to do it though. So far I think I have two options on what I can do/how I want to do it:

 

* If the Control Panel can start/stop your server (which I hope it can), I can force the CP to start the map-server in a screen of my choosing and then I can send command with the Hercules Console Input . However, this (I believe) would require you to install the panel ON the server running Hercules. Obviously this would also allow me to pass commands to the running server via an SSH socket, such as apt-get update / yum update and such. But! The caveat is that the user would have to install apache/php/php5-mysql on the server running Hercules. While a few people accessing the Tool on a non-constant basis wouldn't require a huge amount of server resources (I think on my tests while I'm actively doing stuff my apache uses around 30MB of RAM, maybe less) it's still requiring those server resources. What I have going for me in this scenario is that Ind has been wonderful in reducing the amount of memory Hercules takes therefore making this somewhat possible.

* Alternatively, I've already put together a hidden NPC that I could use to pass @/# commands to in-game. Store them in a SQL table and then have the NPC poll the table every few minutes for a new command. The issue with this is if you wanted to pass a command to an online player and you issue the command through the CP and that player logs off before the command is executed, the command will fail, and I do not believe the atcommand and charcommand script commands have a way to communicate back to anything that they failed.

 

EDIT: A solution to the second point I suppose is check to see if the character is online when the command is supposed to be ran. Not online? Sends a query back to the table that states the command has/will fail because the character in question is offline. In this way I can also make the CP save commands for when the player IS online, but then I'd have to have the NPC poll the table close to every minute, not sure how much lag that might cause.

Share this post


Link to post
Share on other sites

WTF Jman, I'd dreamed with this same idea in this week!!! 

 

So cool.

 

 

Suggestion: Is possible show players only over autotrade? You can separate the "real players" for a real value and show a value for only using autotrade in game.

Share this post


Link to post
Share on other sites

WTF Jman, I'd dreamed with this same idea in this week!!! 

 

So cool.

 

 

Suggestion: Is possible show players only over autotrade? You can separate the "real players" for a real value and show a value for only using autotrade in game.

 

This shouldn't be a problem at all.

Share this post


Link to post
Share on other sites

Updates:

 

The entire account module should function correctly now. The account interface is divided into 6 tabs. All the data is loaded on page load so if you need to switch back and forth between tabs, the data doesn't need to reload. Obviously you could F5 the page to reload the data. I'll go over what tabs are available and what you can do in each.

 

Tab 1 - Basic Info

Here you can view the basic details about an account. Stuff like the account name, birthdate, creation date, last login information, and a quick look at ban information

 

HAT-Account.png

 

Tab 2 - Account Blocks

Here, a history of the blocks an account has had appear. It will be recommended that you do not give your GM's access to the @ban/@unban command in game, because that ban would not show up here as history. In this screen you can add a new block or delete any block that is still valid. You can either place a permanent ban, which changes the account state field to "5", or a temporary ban ending at a certain date/time. Some preset reasons are in there and a comments field to add your own comments. I will be adding a way for you to add your own reasons but for now, they're hard coded. Here's a screenshot:

 

HAT-AccountBans.png

 

Tab 3 - Notes

Here, you can leave notes about an account. Pretty simple. Notes will appear as newest -> oldest. No screenshot, the screen is pretty simple.

 

Tab 4 - Register DB

Here, you can (right now) view the entries for the account in the acc_reg_num_db and acc_reg_string_db (coming soon) tables. In the near future, there will be a way for you to edit, add or delete the entries in this screen.

 

Tab 5 - History

All of the changes to an account will be logged. If you change the email, gender, group or other, it will be logged to a separate table. On this screen, you can view what was changed, and it's old and new value, who did it and when. For obvious reasons, nothing will be editable here. Here's a screenshot:

 

HAT-AccountHistory.png

 

Tab 6 - Characters

Here is pretty simple. List of the characters on the account. The CharID is a link to the character page where you can do the same page. That page just isn't laid out correctly nor does it work. There is a spot for "Options" on the table, here you will be able to reset the character position with one click or possibly kick the character from the server.

 

Some future thoughts about this details page:

I'll need to include a tab for the account storage. I also need to include a place where the admin can reset the pincode or password, which will send a new random password/pincode to the user. This will be coming in a near future update.

 

 

 

I'd love to hear your thoughts or suggestions if I've missed something. Right now the branch is merged back into master but master is not usable because the sql updates have not been completed. This will be coming very very soon.

Share this post


Link to post
Share on other sites

May I suggest you take a look at https://getcomposer.org/, that way you won't ever need your application/third_party folder.

composer is a dependency manager for PHP and does its job really really well.

I've worked on several projects with it and never regretted it.

Share this post


Link to post
Share on other sites

Awesome Job! My suggestion is to add last_mac detail :)

You can add an optional text field on what table or column of last_mac in db, then display the data, based on account ID.

Very useful for harmony & hashield users :D

 

also, dont forget to include char_reg_num_db maybe in character section/tab. (editable)

Edited by Hadeszeus

Share this post


Link to post
Share on other sites

Awesome Job! My suggestion is to add last_mac detail :)

You can add an optional text field on what table or column of last_mac in db, then display the data, based on account ID.

Very useful for harmony & hashield users :D

 

also, dont forget to include char_reg_num_db maybe in character section/tab. (editable)

 

Hi there!

 

Thanks for your suggestion. I'm not a harmony user. Can you let me know where in the database the last_mac goes when you utilize Harmony? In the loginlog table or into it's own table?

Share this post


Link to post
Share on other sites

 

Awesome Job! My suggestion is to add last_mac detail :)

You can add an optional text field on what table or column of last_mac in db, then display the data, based on account ID.

Very useful for harmony & hashield users :D

 

also, dont forget to include char_reg_num_db maybe in character section/tab. (editable)

 

Hi there!

 

Thanks for your suggestion. I'm not a harmony user. Can you let me know where in the database the last_mac goes when you utilize Harmony? In the loginlog table or into it's own table?

 

Me either. Im not using harmony but using sso login can save IP on last_mac column under login table.

Share this post


Link to post
Share on other sites

poke too :D regarding the last_mac

Share this post


Link to post
Share on other sites

AWESOME O.O i hope i can test this out i want to learn how to use this :))

Share this post


Link to post
Share on other sites

Hi folks,

 

https://github.com/jguy1987/HercAdminTool/commit/b232298ac0b0c889a3dbc54386cd80a71fa8db12

 

Multiple what's it's now?!???!?!???!

This update adds the ability for the HercAdminTool to be able to administrate multiple char/map databases with one login database.

 

At the top right of the page, next to your username, you will find a server selection box. Dropping this down you will be able to select the Char/Map server to use.

 

HAT-MultipleServer.png

 

As of right now, you could potentially administrate as many char/map servers as you wanted, I have not found any limit.

 

The plan is to have your admin panel groups restrict access to specific servers. So, you can lock everyone out of another server if you wanted to. But as of right now, each group would have the same permissions on each server. This may change depending on what I see the need for.

 

The configuration for this is accomplished in two places, both in the config directory. hat.php has the configuration array for setting the main things up, like the human readable server name and the database server name. The remaining configuration is done in database.php. Add a separate group for each server you have. The 'database_group' setting in hat.php MUST match up with what you name the database in database.php.

 

Hope everyone enjoys!

 

NOTE: I've received some questions regarding this. When I say "Multiple Char/Map servers" I mean that there is 1 login server, and then 2 character servers connected to it, and from there, each character server has a map server connected to it, NOT One login, one char, and multiple map servers. Kind of like this:

 

                                     |==========|      |=========|                                     |   char   |      |   map   |                            /========|  server  |======|  server |         |--------------|  /         |    s1    |      |         |         |              | /          |==========|      |=========|         |    login     |/                    |    server    |                    |              |           |==========|      |=========|         |--------------|           |   char   |      |   map   |                            ========|  server  |======|  server |                                     |    s2    |      |         |                                     |==========|      |=========|

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now