Commit Graph

6135 Commits

Author SHA1 Message Date
Rsl1122
0a9f994049 Fix for #21 & #22
- Fixed Factions Hook trying to get a leader for WarZone, SafeZone and
Wilderness
- Errors no longer thrown when changing db version on mysql
2017-02-22 18:17:32 +02:00
Rsl1122
964954c674 Bugfixes [2.6.1]
- Fix for #17:
Schema now updated properly
- Fix for #18
Hooks to other plugins no longer cause NPE if plugin is not found.
(Added another constructor that sets isEnabled to false)
- Fix for #19
Removed debug message and replaced with continue;
- Fix for #20
Made new player creation async
Made inspect & search commands async
2017-02-22 11:36:09 +02:00
Rsl1122
44d1f6f021 Fix for #17 2017-02-21 22:48:17 +02:00
Rsl1122
091e3eb1c5 [2.6.0-RELEASE] PlanLite features, Analysis tabs, final bugfixes
- Fixed DB removeall method.
more here:

https://www.spigotmc.org/resources/plan-player-analytics.32536/update?update=146125
2017-02-21 22:04:05 +02:00
Rsl1122
f0daeb91c4 [2.6.0] Added most of PlanLite features, added sortable players table
- Added All hooks except Towny
- Text interface missing.
- Untested
2017-02-20 15:29:39 +02:00
Rsl1122
ab03c43204 [2.6.0-DEV] Improved Error Handling and Bugfixes & Small things
- Better error handling & logging. Implemented for SQLDB.java - other
catch clauses yet to be changed.
This was done mainly to be able to run Debugger tests on it.

Bugfixes:
- DB Auto-Commit bug #12 fixed
- New DB creation was no-longer execption free after adding throws
clauses, fixed that.

Bugs:
- SQLException: The prepared statement has been finalized when closing
database on disable, cause yet unknown
- "___ added to cache" called 5-6 times when player joins

Untested:
- Events
- SessionData
- KillData
- Does DB save everything or just plan_users

UnImplemented:
- Location adding in baches
- Location data getting seperately for analysis, not saved to UserData
to speed up get.
- http://www.kryogenix.org/code/browser/sorttable/
- Player data table
- Player session length
- Player online activity graph, week
- PlanLite features
2017-02-17 12:26:13 +02:00
Rsl1122
d706d3431f Minor: Fixed NPE mentioned in last commit 2017-02-16 18:56:16 +02:00
Rsl1122
730ea69e2f [2.6.0-DEV] Changed Database Geting to Async, Changed handlers.
- Changed the way UserData is cached so that it is cached asyncronously.
#16
This was quite complex and I might have made mistakes so I will have to
test it properly.
- Location gathering temporarily disabled, will not be disabled in 2.6.0
when it is finished.

Bugs:
- NullPointerException when data is cleared from cache.
- Might be the reason that kick was not saved when player was kicked.
- DB in auto-commit mode for some reason. Too tired to figure.

Untested:
- All Events
- Manage commands (might get in a infinite loop)
- Error causing UserData when calling a DBCallableProcessor (will be
tested with Debugger)
- SessionData
- KillData

UnImplemented:
- Location adding in baches
- http://www.kryogenix.org/code/browser/sorttable/
- Player data table
- Player session length
- Player online activity graph, week
- PlanLite features
2017-02-16 18:52:52 +02:00
Rsl1122
595adfa740 [2.6.0-DEV] Moved Tester to new Project, Removed PlanLite features, Bugfixes
- Fixed many cases where database might try to save empty data.
(Possible fixes to causes of #13 #8)
- Fixed partially ConcurrentModificationException causes by adding
uData.setAccessing to SaveMultipleUserData
- Sped up Graph creation with functional operations
2017-02-15 22:20:18 +02:00
Rsl1122
249724c162 Changed incorrect imports and packages + Small stuff & bugfixes
- Cleared remaints of ServerData
- Empty nickname no longer added to Nicknames
- SessionData now correctly saved
- Changed imports and packages to main.java.com.djrapitops.plan. (Should
have been done ages ago)
- Organized imports & removed unused imports.
2017-02-14 18:14:06 +02:00
Rsl1122
ded1ef53bf Changed all incorrect package names + Bugfixes, small things
- Removed remaints of ServerData
- Named a few tasks
- Empty nickname no longer added to Nicknames
- SessionData no longer cleared when DataCache clears data from cache
- Moved all imports and package declerations to correct form (Should
have done this ages ago) main.java.com.djrapitops.plan....
2017-02-14 17:46:38 +02:00
Rsl1122
a2cd3af688 [2.6.0-DEV] Replaced ServerData with Sessions, Added KillData
- Playerkills untested
- PlanLite analysis part disabled, will be replaced soon.

Known bugs:
- One empty nickname somehow manages to get into nicknames
- SessionData cleared when DataCache clears data from cache -
UnIntended. Will need a seperate save spot for current session data.
2017-02-13 20:21:25 +02:00
Rsl1122
ae94733da5 [2.6.0-DEV] Added SessionData, ParallelStream to Analysis, Incomplete implementation 2017-02-13 15:02:45 +02:00
Rsl1122
b6d245725f [2.5.2] Fix for #11 & Player fetch optimization for analysis
- Removed bedlocation because it was causing issues
- Total players now displays only players found in the database.
2017-02-13 11:02:27 +02:00
Rsl1122
869df1f374 Started creating a tester for Plan 2017-02-12 17:03:26 +02:00
Rsl1122
4e6d84cde2 plan manage remove bugfix 2017-02-11 12:02:56 +02:00
Rsl1122
7f29d3dcc1 Kills, Deaths, Combined locale files, Security, bugfixes [2.5.0]
More info in the change log 2.5.0
2017-02-11 00:11:43 +02:00
Rsl1122
06bbc50df2 Small typo fixes in licence 2017-02-09 23:45:59 +02:00
Rsl1122
467ae1bed8 Added licence 2017-02-09 23:36:11 +02:00
Rsl1122
a7c3e2a5a2 Cleaned up code
Cleaned parts of the code & removed some copy-paste code.
2017-02-08 21:06:00 +02:00
Rsl1122
dbd8dded42 Added Locale grab from github
- initLocale() checks for locale files and checks for external locale if
setting is not default/files are not found
2017-02-07 21:27:32 +02:00
Rsl1122
eed828f894 Phrase additions, first edition of Locales
- Added functionality for locale.txt reading.
- Added EN and FI locales to github to add config setting for locale.
2017-02-07 20:40:52 +02:00
Rsl1122
ef04215fed Moved table creators to new class, small change to analysis
- Most active list now only counts active players
2017-02-06 20:17:48 +02:00
Rsl1122
01d9cc8da3 Bugfix for playergraph not showing & restoring backup from different server. 2017-02-03 16:36:33 +02:00
Rsl1122
51c5a7e7b6 method optimization with getSavedUUIDs, timeouts, fixes
- fixed serverdata newplayers not resetting to 0 if server is not
reloaded.
- Importing Ontime data will no longer reset every stat of player.
2017-02-03 00:28:07 +02:00
Rsl1122
0b26ea5530 Manage Backup feature, fixes to messages
- "Online" now green in inspect window
- Manage Process start msgs
- Possibility to backup db to a sqlite file and restore.
2017-02-02 23:34:20 +02:00
Rsl1122
3ab8f89852 Added Refresh setting for analysis, More Html Enum, Fixes
Fixes:
- Boot analysis no longer run if /plan analyze is used before boot
analysis
- Config now responds properly (with exception of colors) [Settings
Enum]
2017-02-02 13:04:35 +02:00
Rsl1122
a19fcbd4e0 Revert "Revert "Html improvements, Html Enum, JHeatmap removed, bugfixes""
This reverts commit f91079cede.
2017-02-02 00:13:02 +02:00
Rsl1122
f91079cede Revert "Html improvements, Html Enum, JHeatmap removed, bugfixes"
This reverts commit 54cea31618.
2017-02-02 00:12:28 +02:00
Rsl1122
54cea31618 Html improvements, Html Enum, JHeatmap removed, bugfixes
- Seriously revamped style of the html
- Added Html enum for better readability of the code
- Removed Jheatmap dependency
- Nicknames now have colors
- Moved some more things to Phrase
- Changed Phrase.parse to allow multiple values

Bugfixes:
- Socket server no longer requires refresh to properly load pages
- Plugin now reloads config when using /reload
2017-02-02 00:12:00 +02:00
Rsl1122
f532f075c2 Enum Additions (Phrase, Setitngs) [2.3.2-DEV]
- Added lot of Enums to clean-up code
- Added silent Analysis config setting
2017-01-31 21:33:28 +02:00
Rsl1122
baabac9d4c Fix for #4 2017-01-30 21:35:38 +02:00
Rsl1122
c5d85d9ba5 Added Recent Players, Top 20 active list, Fixes
- Fixed manage command not giving explanation for errors when database
connection is not establishable
- Fixed hotswap causing plugin reload to fail if database connection is
not establsihable.
- Added Phrase.GRABBING_DATA_MESSAGE to Analysis, Inspect & search
- Moved some methods from MiscUtils to DataCombineUtils
2017-01-30 18:35:32 +02:00
Rsl1122
369b20aa9b Added Manage Import command, Command aliases, small phrasing changes [2.3.0-SNAPSHOT]
- Added Manage Import command that can be used to import data to the
database from other plugins. Currently supports only ontime.
- Added aliases to analyze and manage command
- Added OfflinePlayer object support to NewPlayerCreator
2017-01-30 16:31:02 +02:00
Rsl1122
7da6a99dd7 Added Database Managment command, Small improvements [2.3.0-SNAPSHOT]
- Added database managment command:
- Copy & Overwrite data from one database to another (moving from one db
to another)
- Copy & Combine data from one database to another (in case both were
used)
- Remove player's data from the active database
- Clear a database
- Check what database is in use, also on info command. Also now told on
enable.
- Hotswap to another database, reloads plugin with new database set in
config

- Reload command now restarts the plugin, DOES NOT LOAD NEWLY PLACED JAR
- Fixed typo in search command arguments

- Import command for OnTime in PlanLite
- Recent Players
- Lists of players
- Location heatmap
- Investigate Bungee support possibility
- Make Analysis.java readable
- Move the data combine methods from MiscUtils to new class
- Database Cleaning
- Change database initiation message to include "connection"
- If you feel like it make better html
2017-01-29 22:43:57 +02:00
Rsl1122
f50bdc05da Fix for #3
Fixed by changing the order where database sets AutoCommit to true
2017-01-29 10:58:38 +02:00
Rsl1122
c71e014096 2.2.0
https://www.spigotmc.org/resources/plan-player-analytics.32536/update?update=141073
2017-01-28 15:01:06 +02:00
Rsl1122
96240195ef Bugfix, Database optimization, Locations, Partial 2.2.0 features [2.2.0-DEV]
- Bugfix for #2 (Catch for NoSuchFieldError, null checks)
- Database now uses Batch processing with Commanduse, IPs, Nicknames &
Locations. Also used when saving whole cache.
- Uncommented Location gathering and swapped the location saving to use
batch processing. TODO: Worlds table
- Added placeholders for top lists & recent players to analysis &
planlite.html

TODO:
- Worlds Table
- Links to players
- New HashMaps in Analysis for recent players
- InspectCache clear multiper
- InspectCache clear task check. (Time value for each task)
2017-01-26 11:32:42 +02:00
Rsl1122
f1e3fe7a7e Fix for activity pie 2017-01-21 10:42:21 +02:00
Rsl1122
45279da849 Fixed MySQL Database initiation.
Issue was sent on Spigot Discussion.
Fixed typo that was causing it.
2017-01-21 09:19:25 +02:00
Rsl1122
048c201bd6 Bugfix for NoClassDefFoundError when PlanLite not installed
* Added new DataPushHook to prevent Hook from not being found.
* Added null checks for PlanLiteHook, because it was causeing NPEs
2017-01-20 09:46:33 +02:00
Rsl1122
af85c38024 javadoc generated 2017-01-20 00:39:32 +02:00
Rsl1122
5525ea2754 JavaDocs and Cleaning
Created javadoc headers for everything but UserData and SQLDB classes.
Now to just figure how to get it visible.
2017-01-20 00:31:24 +02:00
Rsl1122
7803e5dc18 Critical bugfix & Changed version check handler to use Integers to prevent possible double digit issue. 2017-01-19 22:57:38 +02:00
Rsl1122
0dfb2570e8 Version 2.1.0 update - More Customization
This update brings more customization options, couple bugfixes and extra
slice to the player composition pie that tells how many players have
only joined once, but never returned (previously counted as inactive).

In more detail:
Added "Unknown" slice to the Player Composition Pie (Players who have
joined only once)
ServerData and UserData now saved with seperate timers to avoid loss of
player activity data with less dense cache saves.
Added possibility to turn off the WebServer.
- API will return HTML without webserver if the server is off.
- If AlternativeIP is in use, all commands will use that as link,
otherwise:
- Analysis & Search commands are disabled if the webserver is off.
- If PlanLite is installed and is used as alternative UI (config),
Inspect command is passed to PlanLite.
Added possibility to use PlanLite as an alternative UI.
- Use /plan lite inspect <player> to view the data in the chatbox.
- Graphs, piecharts & list available only on the web UI.
- Analysis not yet available in PlanLite UI.
Added possibility to change all colors of the Web UI and command
messages.
- Changes in the color settings require plugin restart, fix for this in
the future.
- Web UI Colors use the HTML Color Codes without the # (hashtag)
Added possibility to translate & add/remove Demographics triggers
Bugfixes:
- Fixed ConcurrentModificationException when data is being cleared after
a save.
- Attempted fix of PlanLite balance analysis by rewriting a formatting
utility method.
2017-01-19 12:01:18 +02:00
Rsl1122
cda0148380 Small bugfix: analysis w/PlanLite, Towny NPE
- Analysis no longer throws NPE when Towny and PlanLite are installed.
2017-01-17 14:41:19 +02:00
Rsl1122
32227eb428 Changed version for Update notifiaction push 2017-01-16 22:30:51 +02:00
Rsl1122
ec78b6a007 Release 2.0.0
- Added isOnline to player inspect.
- Added plan.ignore.commanduse permission

Fixed Bugs:
- Activity piechart now displayed correctly
- Activity Graph now drawn correctly
2017-01-16 21:32:30 +02:00
Rsl1122
e8acdc678a First Release Candidate [2.0.0]
Fixed bugs:
- Demographics data properly detected.
- MapComparator now compares values as integers.
- ServerData is now saved properly, and playersOnline is updated
properly.

Other:
- Graph is untested
- MySQL untested
2017-01-16 17:47:27 +02:00
Rsl1122
5108213df6 Finished PlanLite features, partial fix to Demographics
- PlanLite features done.

Fixed bugs:
- Demographics data is not properly detected (partial fix)
-> Geolocation untested.

Known bugs:
- MapComparator compares values as strings (causes wrong order)
- Graph is wrong way around
- Graph is written to points with no data present
- (Player activity graph data might not be properly saved)
-> Graph uses players from a single point and draws a line

Other:
- (MySQL not tested)
- new API unimplemented
2017-01-15 21:29:40 +02:00