TfT_02
c878775c72
Close the statement here as well
2014-08-21 14:33:50 -06:00
t00thpick1
574cdd374b
Use a placeholder value. Fixes #2216 #2221
2014-08-20 22:19:36 -04:00
t00thpick1
4d402c7229
Use correct element
2014-08-19 19:11:07 -04:00
t00thpick1
d8ad519cd0
Seperate pools for essential tasks like profile loading and profile saving.
2014-08-19 17:58:45 -04:00
t00thpick1
097a5a0894
Change purge a bit. Apparently andrewkm says this works.
2014-08-17 21:23:27 -04:00
t00thpick1
8760c2bbb0
This way is cleaner though.
2014-08-17 20:01:04 -04:00
t00thpick1
dc635fe7d7
SHould fix #2195
2014-08-17 19:57:52 -04:00
t00thpick1
0a066f51bb
Fix #2197 There is no wait forever option, so we actually need a timeout.
2014-08-12 11:39:43 -04:00
t00thpick1
294141c353
We should be reconnecting automagically.
2014-08-11 12:16:27 -04:00
t00thpick1
5a47f9fa86
Fix #1320
2014-08-08 00:42:33 -04:00
t00thpick1
f2881f02c8
Fix id retrieval
2014-08-08 00:09:00 -04:00
t00thpick1
9f5445689c
Helpful debug on shutdown
2014-08-08 00:02:07 -04:00
t00thpick1
1fcb9e649e
A bit more logic simplification in SQLDatabaseManager, also fixes error printing, Fix #2188
2014-08-07 23:45:40 -04:00
t00thpick1
1d0dc02013
Greatly simplify Profile loading in mySQL
2014-08-07 14:16:28 -04:00
t00thpick1
8766d31943
Fix #2182 and Fix #2178
...
NOW() is a numeric representation of the date, not a timestamp.... so thats a nono.
Also, we need to update UUIDs grabbing by name.
2014-08-07 13:54:28 -04:00
t00thpick1
da7507fc75
Throw some sanity information into the info log.
2014-08-05 20:20:05 -04:00
t00thpick1
79a17b0c1c
Fix /mcrank when using flatfile. Fixes #2179
2014-08-05 09:20:12 -04:00
t00thpick1
d3051ad127
Use a slight delay to ensure its after the purge.
2014-08-04 11:49:09 -04:00
t00thpick1
f4c53aaf8a
Prevent user purges and UUID updates from conflicting in mass database operations.
2014-08-04 11:42:02 -04:00
t00thpick1
fe29bb4b9f
Accurate purge count
2014-08-03 21:14:24 -04:00
t00thpick1
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
t00thpick1
3569f9a182
Woot, rushing things without looking!
2014-08-03 20:40:48 -04:00
t00thpick1
70a23f8a0a
EnumMaps cannot use a null key
2014-08-03 20:39:37 -04:00
t00thpick1
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
TfT_02
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
zreed
48c7aa3e84
Add an UpgradeManager
2014-07-23 12:37:02 +02:00
TfT_02
0aa67727f5
Fixed bug with flatfile format updater
2014-07-12 14:02:53 +02:00
zreed
94a566acc9
Remove redundant maxReconnects database connection property
2014-07-09 19:03:15 +02:00
TfT_02
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
Eric Hildebrand
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
riking
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
TfT_02
f4ff8518c2
Cleanup progress feedback
2013-10-18 16:43:37 +02:00
riking
dbd27b641e
Give periodic status messages to the console in conversion
2013-10-18 16:40:44 +02:00
TfT_02
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
riking
766f1f4127
Oh! So that's why it's never used here
2013-10-14 20:48:35 +02:00
riking
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
TfT_02
3f9c98d72e
Update changelog & minor formatting fixes
2013-10-06 10:25:28 +02:00
riking
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
riking
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
riking
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
riking
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
TfT_02
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
TfT_02
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
TfT_02
90fcf35c34
Javadocs cleanup
2013-08-10 20:10:45 +02:00
TfT_02
37e3bfe7d9
Fixed formatting
2013-08-07 19:58:49 +02:00
riking
d61b837dcf
Implement checkStructure()
2013-08-07 19:49:00 +02:00
riking
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
riking
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
T00thpick1
c85d52e594
Make Riking's stuff work
2013-07-02 12:42:09 -04:00
T00thpick1
11e4ff34d6
Flatfile repair
2013-07-01 02:36:21 -04:00
Kane York
f118ac14ca
Specify returning of generated keys before using them
...
This is a herp derp fix
2013-07-01 00:35:07 -04:00
T00thpick1
f5eb7a10de
Only set custom class when valid class
2013-07-01 00:34:54 -04:00
T00thpick1
36b09421e8
These should all be 0 too, for consistancy
2013-06-29 23:42:28 -04:00
T00thpick1
d6b39a11e7
0 is nonexistant, not -1
2013-06-29 23:41:08 -04:00
riking
23729f45ee
Pull changes from dev-dbman (commit f63c5e3
)
2013-06-28 15:02:58 -07:00
GJ
98b98256b7
Make our oldUserRemover actually work...
2013-06-13 12:23:58 -04:00
GJ
4ff4271da2
These should be protected.
2013-06-07 15:46:57 -04:00
T00thpick1
8705974e08
Use a single manager to handle our databases.
2013-06-07 15:46:57 -04:00
GJ
0c52b3016c
We've got these functions, might as well use them.
2013-05-21 10:02:09 -04:00
T00thpick1
2cf58f1b5b
Why break when we can return?
2013-05-16 18:04:14 -04:00
T00thpick1
9678875b4b
We do enjoy killing off orphans
2013-05-16 17:26:16 -04:00
GJ
24e5147a2a
This was never an issue.
2013-05-16 16:13:53 -04:00
GJ
bc706109e0
Fix issue with tables without party names.
2013-05-16 13:37:22 -04:00
T00thpick1
1444be665c
No reason to specify MyISAM
2013-05-14 23:54:52 -04:00
T00thpick1
c0f6c15a80
Fix SQL Syntax
2013-05-14 23:28:45 -04:00
T00thpick1
6c9d1c4953
Make SQL removes delete from all tables
2013-05-14 22:20:06 -04:00
T00thpick1
f189ab30e5
Default should be default
2013-05-14 11:32:57 -04:00
GJ
50c9649b23
mcMMO - Now with 100% more scoreboards!
...
mcMMO now allows for the use of scoreboards to display information in
several instances. By default, all scoreboards are enabled in the config,
and will only display for 10 seconds. After 10 seconds, the scoreboard
will go away and revert to the previously displayed scoreboard, if one
exists.
A global scoreboard now exists for tracking all player stats, and will be
displayed when /mctop is used. Your name will be highlighted in gold when
looking through the scoreboard. Additionally, the scoreboard will display
players in groups of 15, rather than groups of 10 like in chat.
Unfortunately, due to the limitations of scoreboards, the player's rank
will not be displayed in front of their name.
The scoreboard area is now also used for displaying data for /mcrank,
/inspect. and /mcstats. Due to the way scoreboards are handled, the power
level is not guarenteed to show up at any given location in the
scoreboard, but is instead displayed in gold so that it can be easily
found.
Lastly, the scoreboard area is also now used for displaying current data
on skills when the relevant /<skillname> command is used. The effects and
ability stats will still be shown in chat, but the current level, xp, and
remaining xp will be shown in the scoreboard.
2013-04-29 15:45:07 -04:00
GJ
7e7e468408
Fix /mcrank showing everything as unranked...
2013-04-26 10:51:17 -04:00
GJ
eea5784527
Abstract our database operations into a single class.
...
This allows the logic between SQL and Flatfile to remain more hidden in
most cases and makes the code easier to read.
2013-04-25 07:41:23 -04:00
GJ
8099490213
Minor DB tweaks.
2013-04-18 22:18:05 -04:00
GJ
6cb2843707
Remove a stupid line.
2013-04-18 22:18:05 -04:00
GJ
d57c253b19
Returns in finally are bad.
2013-04-18 11:28:07 -04:00
GJ
c8c68ea7d9
A little file cleanup.
2013-04-18 11:23:45 -04:00
GJ
da29185b7d
Added health display for mobs during combat.
...
During combat, players will now see a healthbar appear over the head of
hostile mobs when they are damaged. This healthbar will have two display
options - HEARTS and BAR - which can be changed via the /mobhealth
command.
New Permissions:
mcmmo.mobhealthdisplay - Allows viewing of mob health display
mcmmo.commands.mobhealth - Allows access to the /mobhealth command
New Config Options (config.yml):
Mob_Healthbar.Display_Type - the default health display type
Mob_Healthbar.Display_Time - the amount of time to show health display
2013-04-04 22:11:11 -04:00
T00thpick1
0af3c7ab7d
Just in case.
2013-03-29 22:35:55 -04:00
TfT_02
c47bf84493
Fix an IndexOutOfBoundsException when using /mctop
...
Fixed #861
2013-03-22 17:38:52 +01:00
GJ
399bf8e3b9
Use BukkitRunnable.
2013-03-20 03:11:16 -04:00
GJ
c3a69c8c55
Change to the newer, shorter scheduler methods.
2013-03-20 02:15:15 -04:00
GJ
2838a52e0c
Clean up on all of our commands. Abstracted experience commands and
...
hardcore commands. Moved lots of duplicated code to functions in
CommandUtils.java. Split /ptp into individual commands, just like /party.
Used ternary logic to simplify some of our /skillname stat displays. Fixed
skill guide to not allow for negative pages. Simplified logic for many
/skillname data calculations. Use permission checks to prevent calculating
data that will never be displayed. Made the skill guide into its own
command.
2013-03-16 03:17:00 -04:00