* Added bcrypt support.
bcrypt is the modern hashing method. SHA-1 is considered completely deprecated (like MD5) and SHA-256 isn't as beneficial as bcrypt.
* Updated .gitignore to not track and stage binary files.
* Fixed flipped variables.
* Added ServerConstants.AUTOMATIC_REGISTER
The automatic registration uses the bcrypt hashing method.
* Drop MyISAM support, for InnoDB
As of MySQL 5.6 and above (or MariaDB equivalent), MyISAM has no benefits over InnoDB.
InnoDB is faster.
It has row-level locking.
It has better crash recovery.
It supports transactions, foreign keys and relationship constraints.
* Fixed a memory leak in MapleClient.login
* Added automatic migration from SHA-1 and SHA-512 to bcrypt.
* Made indentation consistent
Refactored many calls for TimerManager's schedules throughout the source.
Switched all tables using MyISAM to InnoDB: on a multi-threaded environment such as this, table-locking is an instant no-no, and other gains MyISAM would have over InnoDB are minimal.
Altered getConnection() to properly throw an exception (good practice!) in case of no available connection instead of a mere null.
Implemented EXPERIMENTAL DBCP (connection pool), trying to improve
concorrent access to DB. Added door portals on Kerning Square. Fixed
equipments getting stat overflow when upgrading stats. Fixed expiring
pets crashing the client in some cases.
Added the PIN feature. Fixed ranking now calculating ranks now
world-based instead of overall. Rebalanced equip exp gain and made
cosmetic equipments no more leveling up (cosmetics leveling up are
useless).