Commit Graph

1953 Commits

Author SHA1 Message Date
DNx5
22a4ef93bf - Remove unnecessary @Inject on field.
- Teleport player to spawn immediately on PlayerLoginEvent.
- Only save authenticated player's location on quit.
- Fix player's last location get reset if fail to login.
2016-06-29 20:25:01 +07:00
DNx5
609b148157 Touch the file, it works fine now. 2016-06-29 06:19:49 +07:00
DNx5
b455e20811 - Fix NPE in JsonCache. 2016-06-29 06:06:54 +07:00
DNx5
392b8ac19e Sync with master. 2016-06-29 05:17:56 +07:00
DNx5
98c8e00f5a Merge remote-tracking branch 'origin/master' into jsoncache-fix
Conflicts:
	src/main/java/fr/xephi/authme/AuthMe.java
	src/main/java/fr/xephi/authme/process/quit/AsynchronousQuit.java
2016-06-29 05:00:16 +07:00
DNx5
ad068ffba0 - Make JsonCache injectable
- Only inject needed field
2016-06-29 04:49:10 +07:00
Gabriele C
6b13f9d370 Fix plugin version in plugin.yml 2016-06-28 22:14:30 +02:00
games647
348e796752 Switch to the new properties settings 2016-06-28 20:47:22 +02:00
DNx5
45d8e24350 - Fix fly speed not get restored after login.
- Attempt to fix #592
2016-06-29 00:34:31 +07:00
DNx5
145747505f Use JsonCache correctly, couldn't list all changes. 2016-06-28 21:36:58 +07:00
Gabriele C
451a570c73 Cleanup 2016-06-28 16:17:01 +02:00
Gabriele C
1c5d4d697a Merge branch 'master' into random-logout 2016-06-28 16:14:19 +02:00
Gabriele C
c383c072ff Remove my stupid code 2016-06-28 16:12:20 +02:00
games647
837bbd69ac Remove the debug code as the source for random-logouts is found 2016-06-28 16:09:32 +02:00
games647
469e8d3a48 Refactor sessions a bit to fix #419 2016-06-28 16:03:04 +02:00
Gabriele C
70b57b389e Cleanup 2016-06-28 14:28:37 +02:00
games647
874869cef8 Fix NPC showing when authenticated (Fixes #791) 2016-06-28 12:26:03 +02:00
games647
2f341029a6 Use bukkit's updateInventory method for restoring NBT data 2016-06-28 11:25:24 +02:00
Gnat008
23836cda6a #604 - Move ProtocolLib adapters to new package and add ProtocolLibService 2016-06-27 15:38:43 -04:00
ljacqu
1361174892 Encapsulate GeoLiteAPI class 2016-06-27 21:32:52 +02:00
Gnat008
1326606f37 #762 - Move all sessions stuff to new SessionManager class 2016-06-27 13:50:16 -04:00
Gnat008
0c96a3113b Encapsulate fields in main class; see #762 #655 #604 2016-06-27 11:25:12 -04:00
DNx5
99704e7c29 - Quick fix. Safely update player's inventory.
* because it bugs me when i have items with custom NBT Tag
2016-06-27 16:50:45 +07:00
Gabriele C
75f64624bb Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded 2016-06-26 18:18:31 +02:00
Gabriele C
a998354fa2 Project cleanup 2016-06-26 16:19:55 +02:00
ljacqu
d72d6ddf5a AntiBot - make public field private 2016-06-26 09:25:52 +02:00
ljacqu
df060ff29c Remove legacy setting + remove obsolete todo comment (wontfix #492)
- Remove migrated legacy setting
- Remove months old todo comment
- Remove large chunk of commented out code and merge two explanations
2016-06-25 01:14:01 +02:00
ljacqu
6812cfa4db Add utility for safe pattern compiling 2016-06-24 23:50:11 +02:00
ljacqu
54ababdd28 #788 remove duplicate FR message + #772 update missing message comments 2016-06-24 18:59:25 +02:00
Gabriele C
44702c4832 Update fr #781
Thanks to @Twonox
2016-06-21 21:40:55 +02:00
ljacqu
e7ba579960 #778 Delayed runner: add support for annotations, add validation
- Add support for dependencies identified by annotations
- Add some more usage validation
- Change a few test classes to use the DelayedInjectionRunner
2016-06-19 22:54:12 +02:00
ljacqu
4b3ab4b116 #769 Create integration test for service initialization in onEnable()
- Test that services can be instantiated (e.g. no circular dependencies)
- Instantiate Messages via injection instead of manually
2016-06-19 21:16:46 +02:00
games647
2bdd2504df Do not hide the info data from NPCs 2016-06-19 20:47:35 +02:00
ljacqu
1377b10c24 Simplify instantiation of permission handlers
- Change permission handler to retrieve the services it needs, instead of getting them from the PermissionsManager
- Reduce visibility of some methods
- Add Reloadable interface
2016-06-19 18:20:12 +02:00
ljacqu
ff2f8a63bb Fix bugs in purge classes, cleanup
- OfflinePlayer objects were never mapped to names
- Essentials purge was run even if setting was disabled
- Console user saw messages twice
- Misc: trivial field reorderings, change DefaultPermission to be null safe
- Permissions: do not expose PermissionHandler just to get its type
2016-06-19 17:56:50 +02:00
ljacqu
a0abe3d19d Minor householding
- Remove getter for NewSetting
- Reduce visibility of classes used by DelayedRunner
2016-06-19 16:13:00 +02:00
ljacqu
d35005167e Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into 674-purge-process-refactor 2016-06-19 16:02:08 +02:00
ljacqu
e38c1ea447 Merge branch '777-Fast-Join-Handler' of https://github.com/AuthMe-Team/AuthMeReloaded 2016-06-19 15:51:40 +02:00
Gabriele C
d848a2ad16 Fix #645 #783 2016-06-19 15:14:12 +02:00
games647
03fa0e1fec Fix disabling tablist adapter on old versions (Fixes #775) 2016-06-19 12:40:15 +02:00
Gabriele C
e1d697d386 Fix #780 2016-06-19 11:07:17 +02:00
Gabriele C
12533a90f6 Join/PreLogin event listener changes 2016-06-19 10:40:20 +02:00
ljacqu
fb5e7d40c6 Change delayed injection to only change behavior of its own elements
- Introduce new BeforeInjecting annotation to not modify the (expected) order of annotations that do not belong to us
  - Avoids using hacky way of first initializing field to an Answer that will delegate on demand to the proper class...
- Remove PostConstruct support for Mockito's InjectMocks: we should not change the established behavior of external elements
2016-06-18 15:31:11 +02:00
ljacqu
a1c62e7c04 Create delayed injection test runner
- Test runner supporting new "DelayedInjection" annotation: such fields are only initialized with instantiation right before the first time they're used in tests, allowing to set up mock behavior beforehand
2016-06-18 13:19:07 +02:00
ljacqu
cd1acfde1b #674 Create tests for purge commands and purge service 2016-06-18 11:13:17 +02:00
DNx5
680427950f derp 2016-06-18 15:41:05 +07:00
Gnat008
16e9990723 implement checking permissions of an offline player 2016-06-17 20:49:03 -04:00
ljacqu
3629c51fc1 #674 PurgeService: Always register if purging, reduce code duplication
- Rename autoPurging to isPurging: we should always register if a purge task is in progress (regardless if autopurge or not) and deny any new requests
- Reduce the same logic being coded multiple times by calling through the methods
- DataSource: remove purgeBanned in favor of purgeRecords, both do exactly the same thing
2016-06-16 22:52:11 +02:00
ljacqu
94451647f3 #674 #656 Delete DataManager
- Replaced with PurgeService
2016-06-16 22:06:49 +02:00
ljacqu
2ac89f5938 Apply minor changes to PurgeService
- Remove various imports / unused fields
- Make CacheDataSource call source for purging on DB
- Minor: SQLite - place creation of PreparedStatement outside of loop
- Make specific purge actions called from task package-private (clearer from the outside which methods can be called from the outside)
2016-06-16 21:04:12 +02:00
Gnat008
fb8baeafd2 remove database auto purge methods 2016-06-16 12:52:42 -04:00
Gnat008
fde634e054 Merge branch 'master' into 674-purge-process-refactor 2016-06-16 12:36:31 -04:00
Gnat008
5156a24b40 remove unused PurgeTask constructor 2016-06-16 12:35:49 -04:00
Gnat008
af1520802d major refactor of the purging process 2016-06-16 12:28:42 -04:00
Maxetto
a298773cd3 Periodic Italian Update
Still keeping it updated 😉
2016-06-16 15:52:17 +02:00
ljacqu
2c4d1b54cf Remove solved todo message 2016-06-16 08:03:48 +02:00
ljacqu
acd4a772e8 Minor householding in tests
- Add missing test for injector
- Remove redundant Mock fields
2016-06-15 21:24:57 +02:00
Gnat008
3a102c324e move bypass permission location 2016-06-15 15:15:39 -04:00
ljacqu
ac484345a2 Change password task to async process
- Perform async change password task just like other async processes: via Management
- Remove legacy setting
- Remove now unused service getter (#736)
2016-06-15 20:56:34 +02:00
ljacqu
15886fb517 #723 Let LimboPlayer task manager decide which message key to use
- Pass boolean (is registered) value and determine internally which message key (email registration vs. regular) to use in the message task
2016-06-15 20:37:00 +02:00
Gnat008
68c3aabce4 Merge branch 'master' into 674-purge-process-refactor 2016-06-15 13:07:21 -04:00
EbonJaguar
5870a4a433 Add ability to check permissions by player name 2016-06-14 22:47:35 -04:00
ljacqu
5cbb83e153 Code householding, add tests to TempbanManager
- Delegate event firing to BukkitService
- Write tests for IP banning function
- Update comments on tempban properties in config.yml
2016-06-14 21:52:43 +02:00
ljacqu
3411450ff1 #760 Fix single session feature
- Move the check from PlayerLoginEvent to AsyncPlayerPreLoginEvent. Single session can only be implemented with PreLoginEvent; it is already to late to check this in the PlayerLoginEvent. Ergo, we cannot offer this for CraftBukkit.
- Remove interactions with LimboCache - no interactions with LimboCache expected until after OnJoinVerification checks. (Thanks sgdc3!)
2016-06-14 21:03:32 +02:00
EbonJaguar
367f785610 count login failures by ip address and not by name 2016-06-13 15:58:03 -04:00
ljacqu
043ee90254 #423 Make seeownaccounts / seeotheraccounts messages translatable 2016-06-13 21:45:21 +02:00
EbonJaguar
b7015f56c2 kick player on tempban, change setting comments to better reflect the process 2016-06-13 14:55:25 -04:00
ljacqu
221ce13176 #423 Display first name gray also 2016-06-13 20:46:17 +02:00
ljacqu
d5ce172e14 #729 Make FirstSpawn event synchronous 2016-06-13 19:19:37 +02:00
Gabriele C
58278a2bbe Update messages_de.yml
#763
2016-06-13 17:26:06 +02:00
Gabriele C
e12ae2cf96 Use spaces, finish working on #423, import cleanup 2016-06-13 16:13:03 +02:00
Gabriele C
26531e93ef Cleanup 2016-06-13 15:29:40 +02:00
Gabriele C
05b259892a Update messages_vn.yml
#666 Thaks to kythuat
2016-06-13 00:58:01 +02:00
ljacqu
98bbf51594 Update dependency graph 2016-06-12 22:31:11 +02:00
ljacqu
450c80f63c #720 Update Hungarian messages
kindly submitted by @rErEaT
2016-06-12 22:10:30 +02:00
ljacqu
89bbfc48ee #723 Create provider for TimeoutTask and MessageTask, remove LimboCache#getInstance
- Create class to handle the creation of "LimboPlayer tasks" (adds encapsulation, reduces duplication)
- Move group setting into its own class because (mutual dependency between LimboCache and PermissionsManager otherwise)
2016-06-12 22:00:05 +02:00
Gnat008
67c72dc46d fix TempbanManager injecting 2016-06-12 15:17:37 -04:00
ljacqu
69100daba5 Get jar files via URI objects in tests to prevent issue with spaces 2016-06-12 20:54:39 +02:00
Gnat008
c3d391aeaf lets only inject in one place (moved injects to constructor) 2016-06-12 14:53:18 -04:00
Gnat008
ac4add9f54 add ability to tempban users after x wrong logins - ref #520 #192 2016-06-12 13:40:34 -04:00
ljacqu
d6e1fd5ceb Use injection in and for LimboCache, migrate some legacy settings, remove setGroup from Utils
- New injector method allows to retrieve services if they've already been instantiated -> useful for onDisable() which might be run after aborted initialization
- Deprecate various methods that need to be removed
2016-06-12 16:14:34 +02:00
Gabriele C
347d7bcf46 Update messages_de.yml
Thanks to @Platinteufel
2016-06-12 14:29:16 +02:00
ljacqu
5ef62784b5 #729 Use world from LimboPlayer for "spawn after login" feat., simplify teleport event constructors 2016-06-12 14:10:38 +02:00
ljacqu
3cdec91255 Do not teleport unregistered player if registration is optional 2016-06-12 12:48:32 +02:00
ljacqu
68d5145cd7 #729 Refactor spawn handling into separate service (work in progress) 2016-06-12 12:46:03 +02:00
Gnat008
f0e42b61c5 #747 - display captcha immediately after the failed login attempt 2016-06-11 21:23:53 -04:00
Gnat008
0cc5dd2cd5 Remove code causing issues 2016-06-11 20:54:50 -04:00
Gnat008
26cb7464e1 Re-add a scheduled task 2016-06-11 20:49:15 -04:00
ljacqu
4d75542594 Remove unused fields instead of suppressing warnings 2016-06-11 19:05:10 +02:00
Gabriele C
1de086c090 Fix 755 2016-06-11 18:05:11 +02:00
Gabriele C
01f297919d 1.10 API + cleanup 2016-06-11 17:46:24 +02:00
ljacqu
2e269b6f5e Add missing unit tests for commands 2016-06-05 13:21:05 +02:00
ljacqu
3753a0ef96 #565 Allow to skip extended encryption methods
- Set system property via surefire plugin and create profile that modifies the property
- Check for the new property in AbstractEncryptionMethodTest and shorten/skip the tests when necessary
2016-06-05 00:29:31 +02:00
ljacqu
4fe26f08d4 #612 Check if plugin is permission system within method itself
- Iterate over all values within the method
- Bug fix: change method to use pluginName field, and not name
2016-06-04 22:40:30 +02:00
ljacqu
2a4bb483a3 #727 finalization - minor javadoc changes 2016-06-04 21:57:31 +02:00
ljacqu
91111ca476 #727 Remove CommandService being passed as parameter to other methods
- No longer need to pass as param to other methods since CommandService is now an injected field
2016-06-04 21:16:58 +02:00
ljacqu
26ac466035 #727 Instantiate ExecutableCommand objects in CommandHandler
- Change CommandDescription to contain a reference to ExecutableCommand class only
- Instantiate the actual ExecutableCommand objects in CommandHandler
2016-06-04 21:13:38 +02:00
ljacqu
c6778b566d #727 Remove CommandService from ExecutableCommand interface
(work in progress)
- Inject CommandService like other classes instead of passing it as method parameter
- Not solved: cyclic dependency CommandInitializer > ExecutableCommand > CommandService > CommandInitializer...
2016-06-04 11:02:15 +02:00
ljacqu
40ce01f65e #601 Increase captcha count on login start
- Increase login count at start of the login process (as done previously) and not only when login has failed AND player is still online
- Add missing javadoc to CaptchaManager
2016-06-04 10:44:34 +02:00
ljacqu
12703d1613 #601 Integrate plugin manager
- Encapsulate captcha functionality into a class instead of two public fields on the AuthMe main class(!)
   - Let CaptchaManager worry about whether it is enabled or not -> no need to check on the outside
- Implement full reloading support to enable/disable captchas + parameters
- Add unit tests
2016-06-03 22:47:17 +02:00
ljacqu
1f2a823f99 Add tests for PluginHooks - Multiverse interactions 2016-06-03 13:36:33 +02:00
ljacqu
e8717ba076 Update verification notes in messages files + add entry for #743 invalid chars in password 2016-06-03 12:52:47 +02:00
ljacqu
55f7e8097a #743 Add proper error message for "invalid chars in password"
- Change password validation to return a ValidationResult object for passing message arguments
- Remove wrapping methods in ProcessService and CommandService and use ValidationService directly
2016-06-03 12:51:49 +02:00
Gabriele C
6549ebbf5e Should fix #731 2016-06-03 01:18:54 +02:00
Gabriele C
ca2e75651c Fix #734
It should run before the password check
2016-06-03 00:53:24 +02:00
Gabriele C
6c0dec887a try to fix javadoc 2016-06-03 00:27:06 +02:00
Gabriele C
eafb3b6653 cleanup 2016-06-03 00:07:25 +02:00
ljacqu
6d2597a980 #739 Fix command unit tests; adjust default handling
(cherry picked from commit 61c119b)
2016-06-02 23:12:01 +02:00
Gnat008
73272b5931 Remove all but one hasPermission() method in the PermissionsManager
#739 (cherry picked from commit 65f3347)
2016-06-02 23:11:47 +02:00
EbonJaguar
c3d07cb9a4 #739 Cleanup on PermissionsManager
(cherry picked from commit d9ad12b)
2016-06-02 23:10:37 +02:00
ljacqu
9b5009eb8c #742 Create test that plugin.yml corresponds to command definitions
- Create test
- Fix definitions to correspond
2016-06-02 15:49:21 +02:00
ljacqu
e75cff5fb8 Remove static injections in ListenerService
- Get other classes via Inject annotation
- Remove no longer needed Utils methods (relates to #736)
- Create tests for ListenerService and AuthMeBlockListener
- Performance improvement: keep unrestricted names as Set instead of List for faster contains() method
2016-06-02 12:46:54 +02:00
DNx
2581b95afb Fix NPE on server stop #740
-  not the best, because we will miss that 3 log inside authme.log.
2016-06-02 11:07:37 +07:00
DNx
e06c5e7309 Fix NPE from ConsoleLogger
if plugin could not load configuration.
2016-06-02 05:23:16 +07:00
ljacqu
408e8dd0dd #739 Create unit tests for PermissionsManager#hasPermission 2016-06-02 00:03:02 +02:00
ljacqu
7fd1ac0856 Merge branch '314-permissions-manager-refactor' of https://github.com/AuthMe-Team/AuthMeReloaded 2016-06-01 23:39:14 +02:00
ljacqu
38db2ef0bd Minor code householding
- Add removed property to migration service
- Log exception with appropriate logger method
2016-06-01 23:24:48 +02:00
ljacqu
95343e366b #314 Evaluate default permission on enum, remove default from handler interface
- Evaluate permission for DefaultPermission on the enum itself
- Remove boolean default from PermissionHandler for hasPermission()
- Remove some unused / intermediary hasPermission() flavors in PermissionsManager
2016-06-01 21:56:57 +02:00
EbonJaguar
fdb9227ec1 Properly unhook the current system when unhook() is called 2016-06-01 14:09:30 -04:00
EbonJaguar
e99d9414b8 Add and implement handlers for each individual permissions plugin, instead of doing everything in the PermissionsManager - see #314 2016-06-01 14:00:27 -04:00
games647
1cbd11a753 Fix the issue reference for removing the exception stacktrace logging 2016-06-01 18:30:46 +02:00
games647
71a9abdad9 Remove redundant isLoggable check. It's always level ALL
Looks like the java logger does not reflect the log4j level settings

:(
2016-06-01 18:28:22 +02:00
games647
351fe3aa5a Add thread name and stacktrace to the debug logging (Related to #419)
It's only visible to user who enabled debug logging in their spigot
configuration.
2016-06-01 18:04:43 +02:00
ljacqu
e59bbbf10e #738 Add check that shooter is of type Player in ProjectileLaunchEvent
- Use reflection the opposite way: if it is an old version (getShooter() returns LivingEntity), use reflection; otherwise, call the method directly
- Add missing instanceof Player check
2016-06-01 14:06:36 +02:00
Gabriele C
58a6b6060f Log an error if the plugin is unable to create the log file. 2016-06-01 11:40:50 +02:00
Gabriele C
e6f2eb487d Merge pull request #136 from AuthMe-Team/writelog
better method to write the messages
2016-06-01 11:37:37 +02:00
DNx5
3d1f735c1b Use FileWriter to write the messages. 2016-06-01 06:12:22 +07:00
DNx5
5c690d722a - do the check for old GeoLite data correctly. 2016-06-01 05:23:40 +07:00
ljacqu
0977558924 #736 Remove use of service getters and deprecate them 2016-05-31 11:14:03 +02:00
Gabriele C
be4b3a8605 Update messages_hu.yml 2016-05-31 10:29:35 +02:00
ljacqu
3b6677ce99 Merge branch '604-default-permissions-on-nodes' of https://github.com/AuthMe-Team/AuthMeReloaded 2016-05-31 09:15:36 +02:00
ljacqu
30b72bec4c #604 Fix HelpProvider tests 2016-05-30 23:49:59 +02:00
EbonJaguar
3ad00a45f9 Move default permissions out of Commands and into PermissionNode - fixes #606 2016-05-30 16:47:48 -04:00
ljacqu
4db5062935 Merge branch 'playerjoin-listener-cleanup' of https://github.com/AuthMe-Team/AuthMeReloaded 2016-05-30 21:13:36 +02:00
ljacqu
18ff5d5331 Remove todo comment associated to #602 2016-05-30 20:02:07 +02:00
ljacqu
f5b4071abf Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into playerjoin-listener-cleanup 2016-05-30 17:53:42 +02:00
Gabriele C
8a0655e333 Merge pull request #134 from Gnat008/602-create-lowercase-string-list-propertytype
Add a lowercase String list property - fixes #602
2016-05-30 17:53:14 +02:00
ljacqu
cc67624a46 Throwing snowball still possible when unlogged 2016-05-30 17:09:10 +02:00
EbonJaguar
f94f4643cf Add a lowercase String list property - fixes #602 2016-05-30 11:08:01 -04:00
ljacqu
9b1ee86b2f Trivial code householding
- Replace `if (!x) ... else ...` with `if(x) ... else ...`
- Avoid throwing RuntimeException; use children
2016-05-30 12:18:55 +02:00
ljacqu
4c51b33b22 Merge branch 'master' of https://github.com/AuthMe-Team/AuthMeReloaded into playerjoin-listener-cleanup 2016-05-30 07:52:40 +02:00
ljacqu
9349993faf Merge pull request #133 from Gnat008/612-add-PermissionsSystemType-method
Add isPermissionsSystem method to PermissionsSystemType enum - fixes …
2016-05-30 07:51:14 +02:00
EbonJaguar
428b27943b Add isPermissionsSystem method to PermissionsSystemType enum - fixes #612 2016-05-29 18:29:19 -04:00
Gabriele C
30aace06d4 Remove unknown config entry 2016-05-29 21:47:54 +02:00
Gabriele C
bf91e7754e Remove unused imports 2016-05-29 21:43:28 +02:00
DNx5
10e5ae08e2 remove write log for info message.
In case we don't have better log writing method yet.
2016-05-29 23:15:00 +07:00
Gabriele C
be6ed07802 Fix #568 2016-05-29 17:36:36 +02:00
Gabriele C
f5b7246d1d remove useless stuff from the player listener 2016-05-29 17:10:33 +02:00
Gabriele C
52c0c7dd64 playerlistener cleanup 2016-05-29 16:34:03 +02:00
ljacqu
64aacb12db Unit test verifications done on joining
- Write unit tests for checks done when a player joins
- Move join event handler methods back to PlayerListener; move join check logic to new separate class
2016-05-29 15:00:16 +02:00