Commit Graph

118 Commits

Author SHA1 Message Date
f4c53aaf8a Prevent user purges and UUID updates from conflicting in mass database operations. 2014-08-04 11:42:02 -04:00
fe29bb4b9f Accurate purge count 2014-08-03 21:14:24 -04:00
ae5347bc0f Purging shouldn't be main thread, also we have no reason to refresh profiles of purged users, as old users aren't online, and powerless users have nothing to wipe. 2014-08-03 21:12:41 -04:00
3569f9a182 Woot, rushing things without looking! 2014-08-03 20:40:48 -04:00
70a23f8a0a EnumMaps cannot use a null key 2014-08-03 20:39:37 -04:00
857e12b96e SQLDatabaseManager optimizations, async profile loading -t00thpick1, zreed
This commit changes our shared connection into a connection pool utility to prevent
thread locks from multiple actions attempting to access the database at the same time.
In additon,  profile loading has been moved off the main thread at login time, to
allieviate the performance issues caused by it.

Fixes #2138, Fixes #2119, Fixes #1982, Fixes #1953
2014-08-01 20:31:17 +02:00
c10525ada9 Add UUID support! - zreed, slipcor, t00thpick1
This commit updates our database managers to use UUIDs instead
of usernames for persistent storage.

Fixes #1979
2014-08-01 20:23:03 +02:00
48c7aa3e84 Add an UpgradeManager 2014-07-23 12:37:02 +02:00
0aa67727f5 Fixed bug with flatfile format updater 2014-07-12 14:02:53 +02:00
94a566acc9 Remove redundant maxReconnects database connection property 2014-07-09 19:03:15 +02:00
862d38b587 Clean up all of the imports 2014-03-03 18:27:45 +01:00
GJ
0056be2d5f Assorted cleanup. 2014-02-28 08:36:42 -05:00
GJ
8deac175d1 Repair damaged user files. Fixes #1869 2014-02-22 09:52:36 -05:00
GJ
d0b766a2d3 Fixed bug with updating (very) old user data. 2014-02-21 11:38:22 -05:00
GJ
b3474c04c7 Increment SQL query numbers due to addition of Alchemy. Fixes #1803
Thanks to @roastnewt for the help!
2014-01-21 11:16:39 -08:00
GJ
43e2c813d1 Clean up some of our messes. 2014-01-20 13:58:40 -08:00
8f83e328b0 Introduction of new Alchemy skill! 2014-01-16 22:32:40 +01:00
GJ
3be443c63c Cleanup some XP functions, remove unused scoreboard values, minor refactoring. 2013-10-29 09:49:41 -04:00
95f15e68fe New and Improved Scoreboard System
- Scoreboards now AUTO-UPDATE
 - Scoreboards now COME IN COLOR
 - If you want, they can come in EVERY COLOR (Config setting)
 - Scoreboards can be displayed alongside chat output!
 - Prevention of denial of service to SQL via spamming /mctop using a cooldown
 - Added /mccooldown command to show cooldowns for all available skills
2013-10-25 09:49:02 -07:00
f4ff8518c2 Cleanup progress feedback 2013-10-18 16:43:37 +02:00
dbd27b641e Give periodic status messages to the console in conversion 2013-10-18 16:40:44 +02:00
3b09012b35 Also use getServer() here as well 2013-10-18 15:26:14 +02:00
GJ
468fbdab56 SkillUtils cleanup, EventUtils creation
Move some functions in SkillUtils to more relevant locations.

Begin work on utility class to handle all event calls.
2013-10-15 13:03:33 -04:00
766f1f4127 Oh! So that's why it's never used here 2013-10-14 20:48:35 +02:00
b3cf9bf839 When an error occurs updating the leaderboards, print out the current player name if possible 2013-10-14 09:53:42 -07:00
GJ
d8f3a54f9b Compiler throws warnings all over the place about our close methods, this one is no different. 2013-10-07 07:56:13 -04:00
GJ
de964a3a60 This naming bothers me. 2013-10-07 07:53:42 -04:00
3f9c98d72e Update changelog & minor formatting fixes 2013-10-06 10:25:28 +02:00
96b54387fe SQL database - split loadProfile to have retry flag
Instead of assuming that newUser() worked as intended, we cycle back around into the method.
This also removes the possibility of infinite loops from the writeMissingRows() code path.
2013-10-06 10:09:09 +02:00
70eb67dd6a Flatfile loadProfile - place newUser() inside of try block
This fixes incorrect behavior in the edge-case where an IOException occurs when reading (but not writing) the flatfile database.
2013-10-06 10:09:09 +02:00
c9858dfd49 Do not mark a PlayerProfile as clean if it failed to save
DatabaseManager.saveUser() now returns a success value, which is used by PlayerProfile to determine whether or not it should be considered clean.
2013-10-06 10:09:09 +02:00
f75fe3cc89 Potential fix for loss of data due to SQL connection dropping
The idea behind this change is to send a ping every hour, which is shorter than the driver's 'dead connection' threshold of 8 hours.

As a side effect, this also will fix a subset of the situations where the MySQL server is restarted.
2013-10-06 10:09:08 +02:00
4c96161acb Don't throw errors about dropped columns 2013-09-20 21:39:20 +02:00
GJ
a8e23e08ee Remove HudType from Flatfile records. 2013-09-18 11:54:23 -04:00
GJ
15f5dcf860 Removed HudType references from the database. 2013-09-18 09:57:28 -04:00
GJ
446b6c107b Remove empty lines from FlatFile - the plugin will not enable if these are present. 2013-09-18 08:34:47 -04:00
7bac0e2ca5 Dropped SpoutPlugin support
Because SpoutPlugin is not being updated to 1.6.x and mcMMO 1.4.07 does
not support any CB version below 1.6.x SpoutPlugin support is no longer
needed.
https://blog.spout.org/minecraft-1-6-and-the-legacy-finale/
2013-09-16 16:48:42 +02:00
GJ
2c8b9334b6 THis should stay false. 2013-08-28 13:13:34 -04:00
GJ
d41ccf9072 Don't loop forever if not connected. 2013-08-28 13:12:24 -04:00
GJ
c98d298cf1 Actually make use of the checkConnected calls. 2013-08-28 11:44:58 -04:00
GJ
ede0757d83 Remove /mmoupdate and replace with /mcconvert database 2013-08-22 22:33:06 +02:00
GJ
223649ec28 Formatting and localizing. 2013-08-22 22:22:19 +02:00
GJ
98c6abad36 No reason to cast here. 2013-08-19 15:14:33 -04:00
90fcf35c34 Javadocs cleanup 2013-08-10 20:10:45 +02:00
37e3bfe7d9 Fixed formatting 2013-08-07 19:58:49 +02:00
d61b837dcf Implement checkStructure() 2013-08-07 19:49:00 +02:00
f079e22789 Use provided last-saved information for purge.
The new method, OfflinePlayer.getLastPlayed(), is used as a backup for when the data is unparsable.
TODO check if StringUtils is available here
2013-08-07 19:45:27 +02:00
GJ
a345737b8b Add more detailed error messages on SQL connection failure.
Fixes #1322
2013-07-30 15:09:22 -04:00
736359056f Add checkConnected() calls to re-establish dead SQL connections 2013-07-23 15:03:19 -07:00
GJ
68727496ad Useless casting and elses. 2013-07-11 12:49:01 -04:00