Pryaxis / TShock

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

Ghost Landmines #2323

Open Arthri opened 3 years ago

Arthri commented 3 years ago

Reproduction steps (if applicable)?

  1. Join with 2 characters
  2. Place a land mine
  3. Make one character step on it
  4. Land mine disappears, but only for the server and the unfortunate player. Other players can still see the ghost land mine

Any screenshots?

Landmine

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

(Time aligned to UTC)

2021-05-20 09:02:41 - <>c: INFO: Port overridden by startup argument. Set to 7777
2021-05-20 09:02:41 - TextLog: INFO: TShock 4.5.2.0 (April Lyrids edition) now running.
2021-05-20 09:02:41 - TShock: INFO: AutoSave Enabled
2021-05-20 09:02:41 - TShock: INFO: Backups Disabled
2021-05-20 09:02:41 - TShock: INFO: Welcome to TShock for Terraria!
2021-05-20 09:02:41 - TShock: INFO: TShock comes with no warranty & is free software.
2021-05-20 09:02:41 - TShock: INFO: You can modify & distribute it under the terms of the GNU GPLv3.
2021-05-20 09:02:46 - TextLog: VERBOSE: GetDataHandlers / HandlePlayerBuffList handled event and sent data Test1
2021-05-20 09:02:46 - GetDataHandlers: INFO: Test1 authenticated successfully as user Test1.
2021-05-20 09:02:47 - TShock: INFO: Test1 (127.0.0.1) from 'default' group joined. (1/2)
2021-05-20 09:02:47 - Utils: INFO: Broadcast: Test1 has joined.
2021-05-20 09:02:48 - TextLog: VERBOSE: Bouncer / OnPlayerBuff rejected hostile/pvp from Test1
2021-05-20 09:02:48 - TextLog: VERBOSE: GetDataHandlers / HandlePlayerBuffList handled event and sent data Test1
2021-05-20 09:02:48 - TextLog: VERBOSE: GetDataHandlers / HandlePlayerBuffList handled event and sent data Test2
2021-05-20 09:02:49 - TShock: INFO: Test2 (127.0.0.1) from 'guest' group joined. (2/2)
2021-05-20 09:02:49 - Utils: INFO: Broadcast: Test2 has joined.
2021-05-20 09:02:49 - TextLog: VERBOSE: Bouncer / OnPlayerBuff rejected hostile/pvp from Test2
2021-05-20 09:02:49 - TextLog: VERBOSE: GetDataHandlers / HandlePlayerBuffList handled event and sent data Test2
2021-05-20 09:02:58 - TextLog: VERBOSE: Bouncer / OnPlayerBuff rejected hostile/pvp from Test1
2021-05-20 09:02:58 - TextLog: VERBOSE: GetDataHandlers / HandlePlayerBuffList handled event and sent data Test1
2021-05-20 09:03:03 - TextLog: VERBOSE: GetDataHandlers / HandlePlayerBuffList handled event and sent data Test1
2021-05-20 09:03:03 - TextLog: VERBOSE: Bouncer / OnPlayerBuff rejected hostile/pvp from Test1
2021-05-20 09:03:03 - TextLog: VERBOSE: GetDataHandlers / HandlePlayerBuffList handled event and sent data Test1
2021-05-20 09:03:05 - TextLog: VERBOSE: GetDataHandlers / HandlePlayerBuffList handled event and sent data Test1
2021-05-20 09:03:07 - TextLog: VERBOSE: Bouncer / OnPlayerBuff rejected hostile/pvp from Test2
2021-05-20 09:03:07 - TextLog: VERBOSE: GetDataHandlers / HandlePlayerBuffList handled event and sent data Test2
2021-05-20 09:03:12 - TextLog: VERBOSE: GetDataHandlers / HandlePlayerBuffList handled event and sent data Test2
2021-05-20 09:03:13 - TextLog: VERBOSE: GetDataHandlers / HandlePlayerBuffList handled event and sent data Test2
2021-05-20 09:03:36 - TextLog: VERBOSE: Bouncer / SendTileRect updated a tile from type 0 to 0
2021-05-20 09:03:36 - TextLog: VERBOSE: Bouncer / SendTileRect processing a conversion update - [0|0] -> [0|0]
2021-05-20 09:03:36 - TextLog: VERBOSE: Bouncer / SendTileRect updated a tile from type 0 to 0
2021-05-20 09:03:36 - TextLog: VERBOSE: Bouncer / SendTileRect reimplemented from carbonara from Test1
2021-05-20 09:03:36 - TextLog: VERBOSE: Bouncer / OnNewProjectile rejected from hostile projectile from Test1
2021-05-20 09:03:36 - TextLog: VERBOSE: GetDataHandlers / HandlePlayerBuffList handled event and sent data Test1
2021-05-20 09:03:41 - TextLog: VERBOSE: Bouncer / OnPlayerBuff rejected hostile/pvp from Test1
2021-05-20 09:03:41 - TextLog: VERBOSE: GetDataHandlers / HandlePlayerBuffList handled event and sent data Test1
2021-05-20 09:09:06 - Utils: INFO: Server executed: /exit.
2021-05-20 09:09:06 - Utils: INFO: Broadcast: Saving world...
2021-05-20 09:09:07 - Utils: INFO: Broadcast: World saved.
2021-05-20 09:09:07 - SaveManager: INFO: World saved at (C:\Users\REDACTED\Documents\My Games\Terraria\Worlds\Test2.wld)
2021-05-20 09:09:07 - Utils: INFO: Broadcast: Server shutting down!
2021-05-20 09:09:07 - Utils: INFO: Broadcast: Test1 has left.
2021-05-20 09:09:07 - TShock: INFO: Test1 disconnected.

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

Only TShock

bartico6 commented 3 years ago

The logs suggest your client overwrites... an empty tile with an empty tile...?

Mines work using SendTileRect (evident via WorldGen.ExplodeMine) so I'll tag this as such, but have no idea what is causing this yet.

moisterrific commented 3 years ago

Is the land mine still there for the player who stepped on it when said player re-joins the server?

Arthri commented 3 years ago

Is the land mine still there for the player who stepped on it when said player re-joins the server?

No. This was caught from the POV of another player. In the case of the player who stepped on it, the land mine disappears when they step on it. In the case of other players, the land mine disappears when they rejoin

Kojirremer commented 3 years ago

If the player seeing the ghost land mine steps on it, does it blow up, dissapear or just stays there? (sounds like a certain phylosophical question, sorry).

Arthri commented 3 years ago

If the player seeing the ghost land mine steps on it, does it blow up, dissapear or just stays there? (sounds like a certain phylosophical question, sorry).

It also blows them up then disappears, but it still remains there for other players that haven't stepped on it

drunderscore commented 2 years ago

Can't reproduce anymore?