EssentialsX

EssentialsX

2M Downloads

Essentials Database Bug

ACrispyCookie opened this issue ยท 16 comments

commented

Information

Full output of /ess version:

Essentials reloaded TeamCity

Server log (upload logs/latest.log to Gist):

https://pastebin.com/ah9xLM2U

EssentialsX config (upload plugins/Essentials/config.yml to Gist):

https://pastebin.com/LYE6rQNt

Details

When I do /seen {player} with a player who has joined it says "Warning: The user '{player}' has never joined this server." even though he has. That doesn't occur when the player's last join time was too lately, Also if I do /seen on a player that really hasn't joined the server (E.g. /seen Notch), it says "Error: Player not found". What is causing this and how can I prevent it from happening?

commented

You're running the original Essentials, not EssentialsX - stop your server, delete your old Essentials jars, rename your config.yml to config.yml.old, download the equivalent EssentialsX jars from the build server and restart your server to update your userdata files. You can then copy any settings from your config.yml.old back to your new config.yml and kits.yml.

See here for a full list of improvements in EssentialsX over Essentials.

commented

Does this happen for all offline users or just specific ones?

Could you post the whole timestamps section of the relevant userdata file?

commented
lastAccountName: JohnnyCrafterGR
timestamps:
  login: 1522950795580
  lastteleport: 1522753804787

and the last time I checked (before changing jars) the problem occurred when a player's last join time was before some hours/1 day. After changing jars I don't know if it still occurs. I will wait until JohnnyCrafterGR joins again and makes its login timestamp change and I will check after some hours to see if it stills occurs.

commented

I did /seen on my other admin and the problem doesn't occur.

His timestamp section:

lastAccountName: PowerfulCreeper1
timestamps:
  login: 1522874409018
  lastteleport: 1522875076735
  logout: 1522875226860
commented

The bug still occurs. For example I did /seen JohnnyCrafterGR which is an admin on my server and it says "Warning: The user 'johnnycraftergr' has never joined this server." even though he has. His UUID is '3011dc1d-ebb2-4f40-829f-3117a317ea8b' and if I check in the userdata folder the file exist and there is also the login timestamp in it.

commented

Could you post the full output of /ess version?

In addition, could you run /ess debug, then post the full console output when the warning message is triggered?

commented

/ess version:
09.04 12:25:56 [Server] INFO Server version: 1.8.8-R0.1-SNAPSHOT git-PaperSpigot-"8b18730" (MC: 1.8.8)
09.04 12:25:56 [Server] INFO EssentialsX version: 2.15.0.1
09.04 12:25:56 [Server] INFO PermissionsEx version: 1.23.4
09.04 12:25:56 [Server] INFO Vault version: 1.5.6-b49
09.04 12:25:56 [Server] INFO EssentialsXGeoIP version: 2.15.0.1
09.04 12:25:56 [Server] INFO EssentialsXSpawn version: 2.15.0.1

/ess debug:
There is no warning message that gets triggered the only message I get is : "Essentials 2.15.0.1 debug mode enabled"

commented

Run /seen JohnnyCrafterGR with debug mode enabled and paste the full console output, exactly as it appears in the console.

commented

09.04 14:41:44 [Server] INFO ACrispyCookie issued server command: /seen JohnnyCrafterGR
09.04 14:41:44 [Server] INFO checking if ACrispyCookie has essentials.mail - true
09.04 14:41:44 [Server] INFO checking if ACrispyCookie has essentials.seen - true
09.04 14:41:44 [Server] INFO checking if ACrispyCookie can afford charge.
09.04 14:41:44 [Server] INFO calculated command (seen) cost for ACrispyCookie as 0
09.04 14:41:44 [Server] INFO checking if ACrispyCookie has essentials.seen.banreason - true
09.04 14:41:44 [Server] INFO checking if ACrispyCookie has essentials.seen.ip - true
09.04 14:41:44 [Server] INFO checking if ACrispyCookie has essentials.seen.location - true
09.04 14:41:44 [Server] INFO checking if ACrispyCookie has essentials.seen.ipsearch - true
09.04 14:41:44 [Server] INFO UUID: 9635ef59-c9ab-3cbd-b41d-911b85a5e178
09.04 14:41:44 [Server] INFO attempting to charge user ACrispyCookie
09.04 14:41:44 [Server] INFO calculated command (seen) cost for ACrispyCookie as 0
09.04 14:41:44 [Server] INFO charge user ACrispyCookie completed

commented

@ACrispyCookie The player JohnnyCrafterGR doesn't have a logout timestamp for some reason, perhaps due to a server crash. This means that EssentialsX doesn't know when the player logged out, so /seen won't work. When the player next logs out, they should have a valid logout timestamp.

commented

Does this also affect the balance of the player? Because if I do /bal JohnnyCrafterGR it says the starting balance of a new player.

commented

If they have a saved balance and you're using EssentialsX's economy, no, as the player has user data - it's just missing the time that they logged out. It's possible that your server didn't shut down safely and EssentialsX didn't save the userdata, though.

commented

It happened on a well-known player which his timestamps are:

login: 1522751378159
logout: 1522751573523
lastteleport: 1522751317724

commented

The balance reset on that player, or /seen didn't work? Could you paste the console output of doing /seen on that player and their whole userdata file?

commented

If this is still a problem, could you respond to the question posted above?

commented

Closing due to lack of response. If this is still a problem, feel free to respond and we'll reopen the issue.