100 Commits

Author SHA1 Message Date
Gabriele C
cff8ccd76a Implement onSessionLogin trigger for commands.yml (#1198)
* Implement onSessionLogin trigger for commands.yml

Needs test methods, @ljacqu any advice?

* Add simple onSessionLogin test
2017-05-19 19:21:05 +02:00
ljacqu
e0e4cd112d #761 Restore permission group in sync with limbo players
- Couple AuthGroupHandler closer to the LimboService: whenever a limbo player is restored, the auth group should be restored as well. This fixes some consistency issues.
- Move AuthGroupHandler into limbo package and make it package-private
- Change permission handler to skip any empty groups (prevents odd command output e.g. for BukkitPermissions)
2017-04-29 22:37:34 +02:00
ljacqu
88d839cab4 #620 Add a cancellable session restore event 2017-04-29 15:44:29 +02:00
ljacqu
d65556d893 #857 Create event for failed authentication 2017-04-29 14:46:06 +02:00
ljacqu
42f46b51d3 Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into limbo
# Conflicts:
#	src/main/java/fr/xephi/authme/process/join/AsynchronousJoin.java
#	src/test/java/fr/xephi/authme/settings/SettingsConsistencyTest.java
2017-03-15 08:28:15 +01:00
ljacqu
1da74cb987 #1005 Improve restricted user feature (performance, error handling)
- Move check for restricted user into validation service
- Keep restrictions in a map by name for fast lookup, avoid splitting Strings on every call
- Gracefully handle case when entry does not have the expected ';' and log exception
2017-03-14 22:26:19 +01:00
ljacqu
c79ba49ca8 #1113 Don't restore OP to unregistered player; add tests for LimboService 2017-03-11 08:47:58 +01:00
ljacqu
4bb10c5d6d #1113 Handle LimboPlayer tasks via LimboService
- Add methods to LimboService for handling messages to make it the only relevant Limbo class for outside classes
  - Move LimboPlayerTaskManager to limbo package and make it package-private
- Create MessageTask and TimeoutTask immediately when LimboPlayer is created
- #1112 MessageTask: improve efficiency by keeping reference to Player
2017-03-07 20:35:48 +01:00
ljacqu
021497b9e6 #1113 Handle LimboPlayers within LimboService (remove LimboCache) (work in progress)
- Delete LimboCache and LimboPlayerStorage: LimboService now handles all LimboPlayer actions
- Revoke player rights when creating a LimboPlayer, within the LimboService
- Various fixes and improvements
2017-03-05 21:47:46 +01:00
ljacqu
22ccf582b8 #1113 Create LimboService (work in progress)
- Introduce new LimboService with a higher level abstraction for outside classes to trigger LimboPlayer actions
- Add methods to LimboPlayerTaskManager for muting the MessagesTask safely
2017-03-05 19:25:35 +01:00
ljacqu
3eab42ae68 Remove obsolete "session expires on IP change" config
- Session always expire on IP change; the config only controlled whether an error message was shown or not
2017-02-05 13:40:11 +01:00
ljacqu
95945ffd22 #761 Improve permissions group support
- Drop one auth group type in favor of three: logged in, registered but not logged in, and unregistered
- Move  properties to same parent path
2017-01-29 17:44:06 +01:00
ljacqu
c325d0db41 Merge CommandService and ProcessService to CommonService
- Replace CommandService and ProcessService with CommonService: a service that offers our typical needs to work with settings, messages and permissions
- Remove validation methods from CommonService: inject ValidationService directly. Validation methods are not used very frequently and therefore don't belong in CommonService. Their presence was a relict from our architecture before injection was used.
2016-12-03 12:10:30 +01:00
ljacqu
808ed84269 #411 Finalize forced commands implementation 2016-11-28 21:51:31 +01:00
Gabriele C
b53f71706a Join process cleanup, change some default settings (should improve performance and security with default settings) 2016-11-15 18:41:27 +01:00
Gabriele C
7b5a857f74 Remove useless packages 2016-10-07 19:19:12 +02:00
ljacqu
71f3b86383 Minor - fix checkTestMocks task and rename PlayerDataTaskManager
- Fix tool task to scan test folder
- Rename PlayerDataTaskManager to LimboPlayerTaskManager to match its test class
2016-10-06 20:29:50 +02:00
Gabriele C
58c42cf300 Package cleanup
- authme.cache to authme.data
- Rename PlayerData to LimboPlayer to match with LimboCache
- Move authme.converter to authme.datasource.converter
- Split output package into output and message
2016-10-05 21:10:40 +02:00
Gabriele C
42dbb27728 Service cleanup 2016-10-04 19:08:18 +02:00
ljacqu
8d64c0e5bf #830 Initialize login process with more specific methods (with password vs. force login) 2016-10-01 00:48:23 +02:00
ljacqu
4eab258993 #937 Add option for AuthMe to run in sync
- Create BukkitService#runTaskOptionallyAsync and BukkitService#scheduleSyncTaskFromOptionallyAsyncTask whose behavior depends on a new setting
- Use the new methods where applicable
- Declare events async or sync depending on the new setting
2016-09-18 21:58:14 +02:00
ljacqu
2f1613840e #736 Remove getter for Management instance on main class 2016-08-20 22:03:11 +02:00
Gabriele C
57ff91eedc Damn git 2016-08-09 14:56:15 +02:00
Gabriele C
76f0178d0f Whoops 2016-08-09 14:53:50 +02:00
Gabriele C
4f1d6585cf Cleanup, take 3 2016-08-09 14:53:22 +02:00
Gabriele C
b8d2d61ec5 Revert "Cleanup"
This reverts commit 7fc195336f9afde3f1baf4ca97eb94d4ad02c752.
2016-07-27 09:51:01 +02:00
Gabriele C
7fc195336f Cleanup
@ljacqu What to do with the management instance in the main class
(unused now)
2016-07-27 02:24:46 +02:00
ljacqu
a8df8ceb09 #605 Add custom log levels, create debug logging method
- Log levels in the log file too
- Create migration from old boolean "stop spam" property to new log level property
2016-07-22 17:45:00 +02:00
ljacqu
3b06524796 #762 Use timestamps for session + #816 Logout should invalidate a player's session 2016-07-15 19:35:35 +02:00
DNx5
140275f366 - Add restore method in LimboCache
* Apply it to process that have use of it
- Fix fly & walk speed not get restored
2016-07-04 13:21:57 +07:00
DNx5
deffcb3e2b - Renamed JsonCache to PlayerDataStorage
* the methods inside it renamed to fit with class name
  * cache folder changed into playerdata
- Renamed LimboPlayer to PlayerData
- Added fly speed to PlayerData
- Removed player's name from PlayerData object
- Added getPlayerLocationOrSpawn method in spawn loader.
2016-07-03 21:52:46 +07:00
Gabriele C
56d6fd81b4 Cleanup 2016-06-29 16:18:12 +02:00
Gabriele C
b1b56f2d51 Cleanup, updated some settings 2016-06-29 15:56:55 +02:00
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
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
145747505f Use JsonCache correctly, couldn't list all changes. 2016-06-28 21:36:58 +07:00
games647
469e8d3a48 Refactor sessions a bit to fix #419 2016-06-28 16:03:04 +02:00
Gnat008
23836cda6a #604 - Move ProtocolLib adapters to new package and add ProtocolLibService 2016-06-27 15:38:43 -04: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
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
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
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
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
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
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
Gabriele C
01f297919d 1.10 API + cleanup 2016-06-11 17:46:24 +02:00
ljacqu
25f5fdb45c Code householding (PlayerListener / Settings)
- Use field on PlayerListener for storing nickname pattern -> repeatedly parsing pattern is expensive
- Remove unused legacy setting fields
- ForceFlatToSqlite cannot be run from converter command -> remove Converter interface to create more natural method signatures
2016-05-28 22:04:55 +02:00