Jump to content

Jguy

Retired Staff
  • Content Count

    292
  • Joined

  • Last visited

  • Days Won

    18

Reputation Activity

  1. Upvote
    Jguy got a reaction from Klutz in HAT - The Hercules Admin Tool!   
    I'll see if I can program in some error messages or checks to see exactly what the issue is. Give me a few days - work keeping me very busy again.
  2. Upvote
    Jguy got a reaction from aszrool in HAT - The Hercules Admin Tool!   
    Greetings all,
     
    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.
     
    Introducing HAT!
     
    What is HAT?!
    HAT, or Hercules Admin Tool, is an administration tool for your RO server running the Hercules emulator. It is coded in PHP and Javascript and uses backends of CodeIgniter and Twitter Bootstrap to present information in a secure and meaningful way. Written by a server owner for a server owner. It is completely Open Source and hosted on Github, released under the Apache license.
     
    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:
     
    https://github.com/jguy1987/HercAdminTool
     
    I found a bug! How do I report it to you?!
    You can use the Github issue tracker to report bugs: https://github.com/jguy1987/HercAdminTool/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/jguy1987/HercAdminTool/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.
     
    So....
    Github: https://github.com/jguy1987/HercAdminTool
    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.
  3. Upvote
    Jguy got a reaction from Litro in HAT - The Hercules Admin Tool!   
    All,
     
    I am working on an installation "script" to help you walk through the steps to install the panel.
     
    I am also working on a bit of a database re-write which will see some of the field names change to be more uniform. With this, a couple of new tables will be added relating to connection to the Hercules information (most of this will move out of the config directory and into the database).
  4. Upvote
    Jguy got a reaction from Legend in HAT - The Hercules Admin Tool!   
    All,
     
    I am working on an installation "script" to help you walk through the steps to install the panel.
     
    I am also working on a bit of a database re-write which will see some of the field names change to be more uniform. With this, a couple of new tables will be added relating to connection to the Hercules information (most of this will move out of the config directory and into the database).
  5. Upvote
    Jguy got a reaction from Klutz in HAT - The Hercules Admin Tool!   
    All,
     
    I am working on an installation "script" to help you walk through the steps to install the panel.
     
    I am also working on a bit of a database re-write which will see some of the field names change to be more uniform. With this, a couple of new tables will be added relating to connection to the Hercules information (most of this will move out of the config directory and into the database).
  6. Upvote
    Jguy got a reaction from Litro in HAT - The Hercules Admin Tool!   
    Greetings all,
     
    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.
     
    Introducing HAT!
     
    What is HAT?!
    HAT, or Hercules Admin Tool, is an administration tool for your RO server running the Hercules emulator. It is coded in PHP and Javascript and uses backends of CodeIgniter and Twitter Bootstrap to present information in a secure and meaningful way. Written by a server owner for a server owner. It is completely Open Source and hosted on Github, released under the Apache license.
     
    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:
     
    https://github.com/jguy1987/HercAdminTool
     
    I found a bug! How do I report it to you?!
    You can use the Github issue tracker to report bugs: https://github.com/jguy1987/HercAdminTool/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/jguy1987/HercAdminTool/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.
     
    So....
    Github: https://github.com/jguy1987/HercAdminTool
    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.
  7. Upvote
    Jguy reacted to Haru in About Code Review and Why You'd Want Your Code to Be Reviewed   
    About Code Review and Why You'd Want Your Code to Be Reviewed
     
    Hello, fellow developers and code contributors!
    As you certainly know, years ago, Hercules adopted a workflow based on pull requests, that includes code review as one of the necessary steps before any new piece of code makes it into the master branch of the repository.
    While being an uncommon and somewhat controversial change in Hercules (and in the RO emulator scene in general), code review is part of the workflow of most software projects, both open source and closed source, and has many benefits.
     
    Why Code Review
     
    The benefits of code review are several:
    "Given enough eyeballs, all bugs are shallow" [Linus's Law by Eric S. Raymond -- The Cathedral and the Bazaar, 1999]. While the law is not strictly true, it's certainly true that the more developers read and analyze a piece of code, the more likely it is that bugs that might be hidden in it are discovered early. Testing is not enough. It's very hard (or in the case of our codebase just plain impossible) to cover all the possible edge cases when testing a new feature or a fix. An additional pair of eyes reading the code may help discovering those more easily. This includes cases where the client would normally prevent a certain thing from happening, but it's not ensured anywhere on the server side. Better quality of code. By having other developers read a piece of code, they'll end up wondering why a certain approach was taken, rather than another, and discuss it with the submitter, leading to better, more efficient algorithms, or better engineered code. Better documentation. Since the code needs to be read by other people, it'll require proper comments (or they'll ask for explanations about the parts they can't easily explain). This increases the chance that the author, or anyone else that will need to read the same code again months or years after it's been submitted, will be able to understand it again, by finding appropriate comments in the appropriate parts of the code. Better insight into the code across the team. By reading code from different parts of the emulator as part of the review process, every team member increases their own general knowledge of the software, bit by bit. This is a very efficient way of learning how different parts of the emulator work, and why they were implemented that way. Future-proofing. By having public reviews, we keep a permanent trace of what were the hot topics and why certain decisions were taken, when a certain part of the emulator was implemented. If a bug arises, or something needs to be redesigned in future, we can look up the associated pull request and related discussion, and learn more about the discussion that went on in the past, and what's hiding behind code design decisions. Reviewing code from other people, as well as having one's own code reviewed by others might not be easy for everyone, especially at the beginning, but please try your best. Here are some suggestions on how to approach code review from either side. 
    How to approach code review (for code authors)
     
    As a code author, the worst thing you can do is to be afraid or shy about other people judging your code. This is the wrong approach! Don't be shy, have your code looked at by others, have them praise you for your genial approach to tackle a problem, listen to their suggestions on how to improve it. But be ready to defend your implementation, if you believe it's better than the suggestions you receive, or if the critics that are moved against it are wrong or meaningless.
     
    Always keep in mind that:
    Having your code reviewed and commented on isn't humiliating. Other people are spending their time looking at your code, asking you why you did something in a certain way rather than another, suggesting improvements. Both sides have a lot to learn from each others. (On the other hand, if no one reviews your code, that's somewhat humiliating!) If someone spots an issue in your code, it doesn't mean that you're a bad developer. We all make mistakes, and we should be happy to learn from them (and it's definitely better if someone spots them and points them out to us before it's too late and they were able to do some harm). Never, ever, take code review personally. No one will laugh about you, fire you, kill you, shame you, etc. if your code is commented on. If you believe you're right and the comments you received are pointless or wrong, chance is that you really are right. Be ready to defend your reasons, it's possible that the reviewer didn't think of them. It is your duty to explain them your reasons. How to approach code review (for code reviewers) 
    Reviewing code is several orders of magnitude harder than having your own code reviewed. You have to check the code for several classes of problems, point out your findings, suggest improvements. And you still have to deal with the worry about hurting the code author's feelings when pointing out a mistake.
     
    Here are some things you should keep in mind when reading and reviewing code from other people:
    You're not judging a person. You're judging code. Don't make your review sound personal. Always think of uncommon and edge cases, and never assume they can't happen, unless there's an explicit check that makes them impossible to happen. Even if the code was tested by the author, it doesn't mean that it can't cause problems to other existing features, or have some issues the author couldn't think of. If the same person writes and tests a piece of code, the chance that they don't test the cases they forgot to handle while coding, is very close to 100%. If the code is not following the project's style guidelines (and this isn't just about indentation, but also about names, conventions about function calls, proper modularization, etc), it is your duty to point it out now, before it's merged. This will make the life of your fellow developers easier later on. Think defensively. Consider the code you have in front of you as buggy until you can prove its correctness. If you see that a sanity check is missing, ask the author to add it. If you believe that a function returns the wrong value in certain cases, even if very unlikely to occur, prepare an example of input for which that happens and point it out. Remember that threats such as overflows, underflows, buffer overruns, null pointers, invalid pointers, numeric (floating point) approximation, etc. are always behind the corner, check for them as often as possible and prove that they can't occur. And remember that, while the code author isn't your enemy (and code review shouldn't generate negative feelings), it's often a good idea to think of them as your "professional enemies". There's a chance that something nasty is hiding in their code, even if they didn't write it with ill intent, and as such, you shouldn't blindly trust the code, regardless of who the author is. Don't be afraid when you comment on other people's code. Your goal isn't to hurt their feelings, you're asking them for explanations and/or suggesting the way you would have done something. Likewise, don't be afraid of making a pointless comment. If the author has a good reason for their implementation, be ready to take back your comment and learn from them. Don't accept compromises. If you're firmly convinced that the author's defense of their code is wrong, your duty is to prove them wrong. But if they manage to convince you, don't be ashamed of admitting you were wrong. Happy reviewing!
  8. Upvote
    Jguy got a reaction from Mikegyver in Installing my Emulator on my RagnarokHost   
    It is likely your host has a change in their files that makes Hercules running as root work. This is not recommended. You're basically giving full control over your OS to 1 program that is of a client/server architecture.

    Create another user and use this to run Hercules. I believe the command on CentOS is
     
    adduser <username>  
  9. Upvote
    Jguy reacted to rokimoki in How to update sql with date?   
    You can add NOW() in the sql syntax and will put a datetime with the current server time... As far I know, timestamp is for linux epoch time purpouses, but you can use a datetime and use NOW() when update or insert
  10. Upvote
    Jguy got a reaction from Wolfeh in Forum side MediaWiki being moved to GitHub!   
    This excerpt in the "new" wiki was not refined enough, as it is ever changing content. It was intended to be "don't make content related to the actual creation or use of the custom content".
     
    Examples:
     
    * Addition of custom mobs into the emulator - OK
    * Addition of custom mobs into the client - OK
    * Creation of the actual custom mob (spriting, behavior, etc) - Not OK
    * Addition of a custom map into the emulator - OK
    * Addition of a custom map into the client - OK
    * How to use BrowEdit - Not OK
     
    The problem with including client side content into the GitHub wiki, from what I understand regarding how anal GitHub can be, is that the more client side potentially copyrighted stuff we include, the more possible it'll be the HerculesWS GitHub project could get shut down because of licensing issues.
  11. Upvote
    Jguy got a reaction from Daifuku in Forum side MediaWiki being moved to GitHub!   
    Dear community,
     
    Our wiki is our lifeline when it comes to documentation. There is no easier way to write documentation to be read and changed by all then to have it centralized to one place and easily linked through to places it needs to be linked.
     
    However, the current installation of MediaWiki we have is poor at doing its job for the most part. It's largely non-maintained and is hindering our IPB side progression as everything we do with the forum has to be compatible with our IPBWiki version, which is terribly outdated (with no more updates to it available) and is preventing us from installing automatically some updates to our IPB installation, or even upgrading our forums (we can't make the switch to IPB 4 because of the MediaWiki installation, for example).
     
    Therefore, effective immediately, the current installation of MediaWiki, located here, will immediately be set to read-only, and we will be moving most of the information to our GitHub HerculesWS account, which has Wiki support, located here: https://github.com/HerculesWS/Hercules/wiki
     
    Such integration with our GitHub account will allow us multiple advantages, including:
     
    * Cloning a local copy of the wiki to your desktop using git, which we already do for our repository
    * Making changes locally and pushing those changes back to the wiki, all offline.
    * Support markdown, RST and Textile, among others.
    * Easily reference bits or blocks of code and link back and forth between the wiki, a commit, issue, a file or pull request, if we want.
     
    With this, we can also make a push to upgrade our out of date IPB installation easier, and cut ties to things that are holding us back from a community standpoint. This also affords us the opportunity to sort through our documentation and write things that really matter, in a clear and concise way.
     
    The timeline for the move will hopefully be done in the next couple of weeks, "automagically". Note that the current mediawiki is still readable, except nothing can be changed any longer.
     
    Please let us know if you have any questions, comments or concerns with this change.
  12. Upvote
    Jguy got a reaction from Legend in Forum side MediaWiki being moved to GitHub!   
    Dear community,
     
    Our wiki is our lifeline when it comes to documentation. There is no easier way to write documentation to be read and changed by all then to have it centralized to one place and easily linked through to places it needs to be linked.
     
    However, the current installation of MediaWiki we have is poor at doing its job for the most part. It's largely non-maintained and is hindering our IPB side progression as everything we do with the forum has to be compatible with our IPBWiki version, which is terribly outdated (with no more updates to it available) and is preventing us from installing automatically some updates to our IPB installation, or even upgrading our forums (we can't make the switch to IPB 4 because of the MediaWiki installation, for example).
     
    Therefore, effective immediately, the current installation of MediaWiki, located here, will immediately be set to read-only, and we will be moving most of the information to our GitHub HerculesWS account, which has Wiki support, located here: https://github.com/HerculesWS/Hercules/wiki
     
    Such integration with our GitHub account will allow us multiple advantages, including:
     
    * Cloning a local copy of the wiki to your desktop using git, which we already do for our repository
    * Making changes locally and pushing those changes back to the wiki, all offline.
    * Support markdown, RST and Textile, among others.
    * Easily reference bits or blocks of code and link back and forth between the wiki, a commit, issue, a file or pull request, if we want.
     
    With this, we can also make a push to upgrade our out of date IPB installation easier, and cut ties to things that are holding us back from a community standpoint. This also affords us the opportunity to sort through our documentation and write things that really matter, in a clear and concise way.
     
    The timeline for the move will hopefully be done in the next couple of weeks, "automagically". Note that the current mediawiki is still readable, except nothing can be changed any longer.
     
    Please let us know if you have any questions, comments or concerns with this change.
  13. Upvote
    Jguy got a reaction from Ridley in Forum side MediaWiki being moved to GitHub!   
    Dear community,
     
    Our wiki is our lifeline when it comes to documentation. There is no easier way to write documentation to be read and changed by all then to have it centralized to one place and easily linked through to places it needs to be linked.
     
    However, the current installation of MediaWiki we have is poor at doing its job for the most part. It's largely non-maintained and is hindering our IPB side progression as everything we do with the forum has to be compatible with our IPBWiki version, which is terribly outdated (with no more updates to it available) and is preventing us from installing automatically some updates to our IPB installation, or even upgrading our forums (we can't make the switch to IPB 4 because of the MediaWiki installation, for example).
     
    Therefore, effective immediately, the current installation of MediaWiki, located here, will immediately be set to read-only, and we will be moving most of the information to our GitHub HerculesWS account, which has Wiki support, located here: https://github.com/HerculesWS/Hercules/wiki
     
    Such integration with our GitHub account will allow us multiple advantages, including:
     
    * Cloning a local copy of the wiki to your desktop using git, which we already do for our repository
    * Making changes locally and pushing those changes back to the wiki, all offline.
    * Support markdown, RST and Textile, among others.
    * Easily reference bits or blocks of code and link back and forth between the wiki, a commit, issue, a file or pull request, if we want.
     
    With this, we can also make a push to upgrade our out of date IPB installation easier, and cut ties to things that are holding us back from a community standpoint. This also affords us the opportunity to sort through our documentation and write things that really matter, in a clear and concise way.
     
    The timeline for the move will hopefully be done in the next couple of weeks, "automagically". Note that the current mediawiki is still readable, except nothing can be changed any longer.
     
    Please let us know if you have any questions, comments or concerns with this change.
  14. Upvote
    Jguy got a reaction from Mystery in Forum side MediaWiki being moved to GitHub!   
    Dear community,
     
    Our wiki is our lifeline when it comes to documentation. There is no easier way to write documentation to be read and changed by all then to have it centralized to one place and easily linked through to places it needs to be linked.
     
    However, the current installation of MediaWiki we have is poor at doing its job for the most part. It's largely non-maintained and is hindering our IPB side progression as everything we do with the forum has to be compatible with our IPBWiki version, which is terribly outdated (with no more updates to it available) and is preventing us from installing automatically some updates to our IPB installation, or even upgrading our forums (we can't make the switch to IPB 4 because of the MediaWiki installation, for example).
     
    Therefore, effective immediately, the current installation of MediaWiki, located here, will immediately be set to read-only, and we will be moving most of the information to our GitHub HerculesWS account, which has Wiki support, located here: https://github.com/HerculesWS/Hercules/wiki
     
    Such integration with our GitHub account will allow us multiple advantages, including:
     
    * Cloning a local copy of the wiki to your desktop using git, which we already do for our repository
    * Making changes locally and pushing those changes back to the wiki, all offline.
    * Support markdown, RST and Textile, among others.
    * Easily reference bits or blocks of code and link back and forth between the wiki, a commit, issue, a file or pull request, if we want.
     
    With this, we can also make a push to upgrade our out of date IPB installation easier, and cut ties to things that are holding us back from a community standpoint. This also affords us the opportunity to sort through our documentation and write things that really matter, in a clear and concise way.
     
    The timeline for the move will hopefully be done in the next couple of weeks, "automagically". Note that the current mediawiki is still readable, except nothing can be changed any longer.
     
    Please let us know if you have any questions, comments or concerns with this change.
  15. Upvote
    Jguy got a reaction from Legend in HAT - The Hercules Admin Tool!   
    Greetings all,
     
    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.
     
    Introducing HAT!
     
    What is HAT?!
    HAT, or Hercules Admin Tool, is an administration tool for your RO server running the Hercules emulator. It is coded in PHP and Javascript and uses backends of CodeIgniter and Twitter Bootstrap to present information in a secure and meaningful way. Written by a server owner for a server owner. It is completely Open Source and hosted on Github, released under the Apache license.
     
    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:
     
    https://github.com/jguy1987/HercAdminTool
     
    I found a bug! How do I report it to you?!
    You can use the Github issue tracker to report bugs: https://github.com/jguy1987/HercAdminTool/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/jguy1987/HercAdminTool/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.
     
    So....
    Github: https://github.com/jguy1987/HercAdminTool
    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.
  16. Upvote
    Jguy got a reaction from Legend in HAT - The Hercules Admin Tool!   
    My current project and reason for lack of commits is because I am attempting to integrate and/or write from scratch a bug tracker into the panel. I hope to have this done soon.
     

  17. Upvote
    Jguy got a reaction from Legend in Name and source changes [2016 April Fool]   
    Hello folks,
     

     
    Glad I could catch you. I have an announcement to make, that I'm sure you will find most satisfactory.
     
    From hence here forth, Hercules will be renamed to JmanAthena. This is to reflect my superiority over the Ragnarok Online Emulator scene. A commit will go through shortly that will reflect the change to the emulator.
     
    The source code will also change thusly:
     
    * The GNU GPL license will be removed and replaced with "GNUJman version 1". This license is basically "All your base are belong to me".
    * The 'src' folder will immedately be renamed to 'jman'. Yes, this will probably break a lot of stuff, but it'll be up to you as users to deal with it.
    * We will immediately be removing support for the /db/ folder as it stands now. Instead, all of the databases will be hosted on JmanAthena's servers.

    Furthermore, the following staff changes will be effective immediately:
     
    * Ind's account will be deleted. All contributions of his to the emulator either via the forum or source will be permanently deleted.
    * I am promoting this guy: http://herc.ws/board/user/15-zach/ to be JmanAthena's new development manager. Yes, no commits to the git repository and no forum posts, but I believe he has what it takes to do the job.
    * The moderator's abilities as moderators will be eliminated. Instead, all moderator actions must go through myself or the new Development Manager
    * Haru and Mystery will keep their titles but as the regular moderators, their actions must go through me. Their existence as administrators will be pretty much eliminated.
     
    Furthermore, the server hosting JmanAthena will be hosted on a 192kbit connection out of my house. But don't worry, my internet is as stable as the communications between the Philae lander and Earth.
     
    Welcome to the future! Welcome to the best RO Emulator money can buy (oh yeah, forgot to mention, to get access you must pay $9.99/mo plus shipping and handling of $39.99 in order to use JmanAthena). Welcome to JmanAthena!
     
    (Note: Some of this post might be exaggerated for humor and entertainment value. Results may differ.)
    Note: Special thanks to hemagx for the logo.
     
  18. Upvote
    Jguy got a reaction from Nebraskka in Name and source changes [2016 April Fool]   
    Note: I neglected to mention that the JmanAthena servers will be hosted on a 192kbit connection out of my house. But don't worry, my internet is as stable as the communications between the Philae lander and Earth.
  19. Upvote
    Jguy got a reaction from Nebraskka in Name and source changes [2016 April Fool]   
    Hello folks,
     

     
    Glad I could catch you. I have an announcement to make, that I'm sure you will find most satisfactory.
     
    From hence here forth, Hercules will be renamed to JmanAthena. This is to reflect my superiority over the Ragnarok Online Emulator scene. A commit will go through shortly that will reflect the change to the emulator.
     
    The source code will also change thusly:
     
    * The GNU GPL license will be removed and replaced with "GNUJman version 1". This license is basically "All your base are belong to me".
    * The 'src' folder will immedately be renamed to 'jman'. Yes, this will probably break a lot of stuff, but it'll be up to you as users to deal with it.
    * We will immediately be removing support for the /db/ folder as it stands now. Instead, all of the databases will be hosted on JmanAthena's servers.

    Furthermore, the following staff changes will be effective immediately:
     
    * Ind's account will be deleted. All contributions of his to the emulator either via the forum or source will be permanently deleted.
    * I am promoting this guy: http://herc.ws/board/user/15-zach/ to be JmanAthena's new development manager. Yes, no commits to the git repository and no forum posts, but I believe he has what it takes to do the job.
    * The moderator's abilities as moderators will be eliminated. Instead, all moderator actions must go through myself or the new Development Manager
    * Haru and Mystery will keep their titles but as the regular moderators, their actions must go through me. Their existence as administrators will be pretty much eliminated.
     
    Furthermore, the server hosting JmanAthena will be hosted on a 192kbit connection out of my house. But don't worry, my internet is as stable as the communications between the Philae lander and Earth.
     
    Welcome to the future! Welcome to the best RO Emulator money can buy (oh yeah, forgot to mention, to get access you must pay $9.99/mo plus shipping and handling of $39.99 in order to use JmanAthena). Welcome to JmanAthena!
     
    (Note: Some of this post might be exaggerated for humor and entertainment value. Results may differ.)
    Note: Special thanks to hemagx for the logo.
     
  20. Upvote
    Jguy got a reaction from Nebraskka in What is "Official" and what is "Aegis"?   
    Original jAthena (from what Hercules is forked from) goal was to emulate kRO as much as possible. From back in 2002-2004 when AppleMod and Athena was forked from jAthena, this goal has remained true.
     
    However, accounts on kRO became scarce and members began hoarding them for themselves. Leaks from the Aegis source code because few and far between so holes had to be plugged with data from iRO and Aegis data without source.

    iRO is believed to be privatized now, so it is possible that it is no longer running an official copy of the Aegis software (it had some minor modifications over the years from kRO anyway). Only kRO itself can still be trusted to be official since it is still being operated by GRAVITY themselves.
  21. Upvote
    Jguy got a reaction from Zirius in What is "Official" and what is "Aegis"?   
    Original jAthena (from what Hercules is forked from) goal was to emulate kRO as much as possible. From back in 2002-2004 when AppleMod and Athena was forked from jAthena, this goal has remained true.
     
    However, accounts on kRO became scarce and members began hoarding them for themselves. Leaks from the Aegis source code because few and far between so holes had to be plugged with data from iRO and Aegis data without source.

    iRO is believed to be privatized now, so it is possible that it is no longer running an official copy of the Aegis software (it had some minor modifications over the years from kRO anyway). Only kRO itself can still be trusted to be official since it is still being operated by GRAVITY themselves.
  22. Upvote
    Jguy got a reaction from Cretino in Name and source changes [2016 April Fool]   
    Haha, I was beginning to wonder if anyone would notice that.
     
    We thought about it at first but this would screw with SEO. Not only that, it could take the 24h for the DNS to settle, then 24 more hours for it to settle back. Not worth it.
     
    Yup. I was a little late posting this (about 9am 1 April my time), but wanted to keep it up for nearly 24 hours.
     
    Some people did think that this was real and question it. It was somewhat amusing and something I've always wanted to do. Glad if you got a kick out of it
  23. Upvote
    Jguy got a reaction from jTynne in [2015-12-31] FAKE_NPC and the NPC View ID -1   
    One of the goals of *Athena (Hercules was forked from rAthena which was forced from eAthena which is forked from jAthena...etc) is to closely emulate the official server(s) as possible. This includes databases, NPC's and yes, source and NPC code structure (with obvious modernization such as not using 96GB of RAM and Windows only to run). This change most closely follows that original goal.
  24. Upvote
    Jguy reacted to Haru in [2015-12-31] FAKE_NPC and the NPC View ID -1   
    Rationale:
    This is part of the NPC scripts standardization project. In the past, NPCs were defined with numeric View IDs, while now we've replaced most of them with more human-readable (and as such easier to maintain) constants - the same constants that AEGIS scripts use, making the numeric IDs obsolete (and deprecated).
     
    Contents:
    When the NPC View IDs were converted to constants, the only leftover was the special ID '-1' we use for invisible / floating NPCs, that didn't have an equivalent constant defined at the time.
    This changeset defines a constant 'FAKE_NPC' for it, and replaces all the '-1' view IDs with the new constant.
    The exception for the -1 case is removed from the code (making it effectively deprecated, just like the other numeric IDs).
     
    Impact:
    The impact of this changeset on custom scripts is low. All old code will still work (but it'll throw a deprecation warning).
    It's recommended to update all the affected code as soon as possible - the support for the old style IDs may be removed from the code at any time in the future (after at least a month from the commit).
     
    Details:
    The use of the sprite ID '-1' in NPC headers to specify an invisible NPC is now deprecated. 'FAKE_NPC' should be used instead. This affects all NPC types (script, shop, trader, duplicate, etc)
    /* Before: */ - script TurboTrap#tt_main -1,{ // ... } in_moc_16,65,162,0 duplicate(SinTrap) 02_2 -1,0,0 /* Now: */ - script TurboTrap#tt_main FAKE_NPC,{ // ... } in_moc_16,65,162,0 duplicate(SinTrap) 02_2 FAKE_NPC,0,0 Merge Date:Thu, 31 Dec 2015 23:40:48 +0100
     
    Related Pull Requests:
    - #1000 - https://github.com/HerculesWS/Hercules/pull/1000 - define FAKE_NPC as -1 in const.txt [AnnieRuru]
     
    Related Commits:
    - ef171a8 - https://github.com/HerculesWS/Hercules/commit/ef171a8 - Mon, 21 Dec 2015 19:59:38 +0800 define FAKE_NPC as -1 in const.txt [AnnieRuru]
    - efaaf84 - https://github.com/HerculesWS/Hercules/commit/efaaf84 - Mon, 21 Dec 2015 20:12:45 +0800 Replace -1,{ with FAKE_NPC,{ replace using Notepad++ [AnnieRuru]
    - b4c99db - https://github.com/HerculesWS/Hercules/commit/b4c99db - Tue, 29 Dec 2015 02:16:49 +0100 Replaced leftover -1 view IDs with FAKE_NPC [Haru]
    - 32a42ee - https://github.com/HerculesWS/Hercules/commit/32a42ee - Tue, 29 Dec 2015 02:17:26 +0100 Extended the numeric view ID deprecation to '-1' (FAKE_NPC) [Haru]
    - 0e99004 - https://github.com/HerculesWS/Hercules/commit/0e99004 - Thu, 31 Dec 2015 23:40:48 +0100 Merge branch 'AnnieRuru-request_29' into hercules [Haru]
     
    Trivia:
    Commit efaaf84 was done with a find and replace in Notepad++, to globally replace '-1' view IDs with 'FAKE_NPC' (as described in the commit notes).
    Commit b4c99db caught the leftovers (less common cases where the -1 is not followed by ',{'), and was powered by vim macros and grep (and vimgrep). It also features manual clean up of trailing whitespace or extra tabs in a small subset of the affected lines.
  25. Upvote
    Jguy got a reaction from Hadeszeus in HAT - The Hercules Admin Tool!   
    Sorry for the lack of updates, both to this thread and to the repo.
     
    Rumors of my death have been greatly exaggerated. I'm still alive, still with Hercules.
     
    I was in the process of moving and had a few family issues come up that had taken me away from my life for a bit. I was able to work on a few things but nowere near the activity level I was doing.
     
    I'm back, and have a bit more time than I did so I should be getting back into this.
     
    I started working on an Official User Guide which will be in PDF form and will detail how to install and use the panel. I hope to have a version of it ready to use by October 15th. During this time I will of course push more regular updates to the GIT repo. look for more updates soon!
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.