Pryaxis / TShock

☕️⚡️TShock provides Terraria servers with server-side characters, anti-cheat, and community management tools.
GNU General Public License v3.0
2.41k stars 377 forks source link

Missing "player has left" message. #2871

Open Ozakinn opened 1 year ago

Ozakinn commented 1 year ago

Hi I am using Oracle Linux 8 for my terraria server. The terraria server file without tshock able to display "player joined" and "player left". When I added the Tshock files, which is this one "TShock-5.1.3-for-Terraria-1.4.4.9-linux-arm64-Release.zip" The only thing that display is player joined

Reproduction steps (if applicable)?

  1. Use Oracle Linux 8 (Free tier/ 4vCPU - 24GB RAM)
  2. Download and Run terraria server files
  3. Apply Tshock 5
  4. Join, quit, and Join
  5. No/missing "player has left." message.

Any stack traces or error messages (if known)?

None found.

Any screenshots?

Terraria without Tshock image

Terraria with Tshock 5 image

Any log messages from files that end in .log or .txt? What are the last 100 log messages from the server console?

LOGS.TXT

2022-12-11 10:45:12 - TShock: INFO: TShock 5.1.3.0 (Thank you, everyone, for your support of TShock all these years! <3) now running.
2022-12-11 10:45:12 - TShock: INFO: AutoSave Enabled
2022-12-11 10:45:12 - TShock: INFO: Backups Enabled
2022-12-11 10:45:12 - TShock: INFO: Welcome to TShock for Terraria!
2022-12-11 10:45:12 - TShock: INFO: TShock comes with no warranty & is free software.
2022-12-11 10:45:12 - TShock: INFO: You can modify & distribute it under the terms of the GNU GPLv3.
2022-12-11 10:45:33 - TShock: INFO: A password for this server was set in config.json and is being used.
2022-12-11 10:45:33 - TShock: INFO: Login before join enabled. Users may be prompted for an account specific password instead of a server password on connect.
2022-12-11 10:45:33 - TShock: INFO: Login using UUID enabled. Users automatically login via UUID.
2022-12-11 10:45:33 - TShock: INFO: A malicious server can easily steal a user's UUID. You may consider turning this option off if you run a public server.
2022-12-11 10:46:04 - TShock: INFO: Ozaki (120.29.x.x) from 'guest' group joined. (1/16)
2022-12-11 10:46:04 - Utils: INFO: Broadcast: Ozaki has joined.
2022-12-11 10:47:51 - TShock: INFO: Ozaki (120.29.x.x) from 'guest' group joined. (1/16)
2022-12-11 10:47:51 - Utils: INFO: Broadcast: Ozaki has joined.
2022-12-11 10:48:04 - Utils: INFO: Ozaki executed (args omitted): /login.
2022-12-11 10:48:04 - Commands: INFO: Ozaki authenticated successfully as user: ozaki.
2022-12-11 13:55:47 - Utils: INFO: Broadcast: Saving world...
2022-12-11 13:55:50 - Utils: INFO: Broadcast: World saved.
2022-12-11 13:55:50 - SaveManager: INFO: World saved at (tshock/backups/Scrubs.wld.2022-12-11T04.55.47Z.bak)
2022-12-11 13:55:50 - BackupManager: INFO: World backed up (tshock/backups/Scrubs.wld.2022-12-11T04.55.47Z.bak).
2022-12-11 14:25:27 - Utils: INFO: Server executed: /exit.
2022-12-11 14:25:27 - Utils: INFO: Broadcast: Saving world...
2022-12-11 14:25:30 - Utils: INFO: Broadcast: World saved.
2022-12-11 14:25:30 - SaveManager: INFO: World saved at (/root/.local/share/Terraria/Worlds/Scrubs.wld)
2022-12-11 14:25:30 - Utils: INFO: Broadcast: Server shutting down!
2022-12-11 14:25:30 - Utils: INFO: Broadcast: Saving world...

What plugins and what versions of those plugins are you running?

Crossplay and TCR. I tried removing all plugins. Still same result.

If I didn't provide any logs this issue, please close my issue immediately. I'm sorry for the inconvenience.

sgkoishi commented 1 year ago

It seems that for some unknown reason TShock did not detect the disconnect in certain cases.

Might related: #2841 and Discord message

But from the image, it seems that you only joined TShock server once - the first time you were kicked before join, and the second attempt is the only one.

Ozakinn commented 1 year ago

The has left notice should be displayed on the second attempt. I left a few seconds after joining the second attempt. Which it did not display, So after leaving, I exit the server via console.

EDIT: In the LOGS.TXT I have joined twice but has left response never displayed.

2022-12-11 10:46:04 - TShock: INFO: Ozaki (120.29.x.x) from 'guest' group joined. (1/16)
2022-12-11 10:46:04 - Utils: INFO: Broadcast: Ozaki has joined.
2022-12-11 10:47:51 - TShock: INFO: Ozaki (120.29.x.x) from 'guest' group joined. (1/16)
2022-12-11 10:47:51 - Utils: INFO: Broadcast: Ozaki has joined.
FrostBird347 commented 1 year ago

I can confirm that I also have experienced this issue, both when leaving the server through the client and when shutting down the server. In addition to this, ServerApi.Hooks.ServerLeave never gets triggered.

I have also tested server-side players and noticed that they aren't being saved when the player quits either.

Arthri commented 1 year ago

Are you on ARM(not ARM64) or x32?

FrostBird347 commented 1 year ago

Are you on ARM(not ARM64) or x32?

I am on osx x64