You've got to edit the NBT data. It's in a folder called "player data" or something along those lines in your main world folder (not the nether or end worlds)
You will need to find which file contains the information for the players with extra hearts.
You can do this by searching in the file called "usercache.json" in the main directory of your minecraft server (same folder your server.properties lives in).
- Open usercache.json with a text editor and do "CTRL + F" on a PC "CMD + F" on Mac to open the "Find" feature. Search for the player's name
- Once you find their name, you will see their UUID listed next to their IGN. Take note of their UUID. The list has a user per-line, and an individual player's info will look like this:
{"name":"Gamerr6514124","uuid":"a00t8a23-8e86-4ng5-aa9f-dadf06gd3e86","expiresOn":"2020-07-30 09:01:49 -0700"},
- Now, go into the mainworld > playerdata folder and find the file that is named after their UUID (e.g. a00t8a23-8e86-4ng5-aa9f-dadf06gd3e86.dat for the player in the example above)
- Download it
- Open it using an online NBT editor such as
https://irath96.github.io/webNBT/- Fix their "Health" value (default is 20 I believe)
- Save your changes and redownload
-
THE NEXT STEP IS VERY IMPORTANT-
MAKE SURE THE PLAYER IS OFFLINE. When the player is OFFLINE, and ONLY when they are OFFLINE, replace the .dat file for the player in mainworld > playerdata with the new one you just edited. - When the player logs back in they should have normal health.