Commit graph

936 commits

Author SHA1 Message Date
ohayo
5a23073db5 Suggestions + fix last missed magic number 2025-02-05 09:33:36 +10:00
ohayo
ce04d9d173 Remove magic number + Use suggestions by particles
Added a new ClientState enum based on code in Terraria.MessageBuffer.GetData & Terraria.Netplay.InnerClientLoop
2025-02-04 21:06:40 +10:00
ohayo
4f2fff050d Quick bug fix - forgot about respawns + only set handshake once
The connection state should NEVER be set to under 3 if the player is fully connected.
2025-02-02 12:40:04 +10:00
ohayo
4c01740177 Fix handshake stuff part 2
If the player has requested world data before sending the spawn player packet, they should be at state 3, otherwise they should be at state 1 for skipping it. Just check based on that instead.
2025-02-02 12:08:14 +10:00
ohayo
53789b40e4 Prevent further things from clients who dont handshake
- The player will only finish the handshake once they spawn their player, a normal client would always do this eventually.

- They cannot chat, even if they request world data but just not spawn their player.

- Other clients will not be notified of their join/leave in both cases (dont request WD or do but dont spawn)

- And most importantly, they do not show on the in game player list but still show on the server console /playing cmd.
2025-01-31 09:17:26 +10:00
James Puleo
b5b72e9f6c
Ensure TSPlayer.PlayerData is non-null whilst syncing loadouts
During connection, we receive a `SyncLoadout` packet before the
`ContinueConnecting2` packet, meaning we have not yet created a
`PlayerData` for this player.
2023-06-09 03:00:45 -04:00
James Puleo
f7ea471968
Set the GetDataHandledEventArgs.Player property for pick sync handler 2023-01-29 20:50:36 -05:00
ATFGK
e46bbe99c0
Pvp with no team (#2851)
* Update TShockConfig.cs

* Update TShock.cs

* Update GetDataHandlers.cs

* Update changelog.md

* Update GetDataHandlers.cs

* Update changelog.md

* Update changelog.md

* Update changelog.md
2022-12-05 22:27:42 -08:00
ATFGK
95d157fd5d
Fix Terra Blade triggered MaxProjDamage, other net changes (#2852)
* update

* update

* update

* Update changelog.md

* Update changelog.md

Fixed syntax errors.

* Update SpawnMsg.cs

Use insteadUpperCamelCase

* Update changelog.md

* Update TSPlayer.cs

* Update TSPlayer.cs

Missing letters due to input method problems.

* Update `docs/changelog.md`

Co-authored-by: James Puleo <james@jame.xyz>
2022-12-05 21:45:37 -08:00
Lucas Nicodemus
09b1e86c0c
Fix build due to outdated PR merge lol 2022-11-09 23:24:39 -08:00
Lucas Nicodemus
a9aa988547
Merge remote-tracking branch 'sgk/patch-morei18n' into general-devel 2022-11-09 23:08:34 -08:00
SGKoishi
34886864ec
Update HandleSpawnBoss
Apply permission restriction to Mechdusa, Deerclops, and slime pet
2022-11-07 11:42:26 -08:00
SGKoishi
863d51ad27
Add missing string 2022-11-04 20:46:53 -07:00
James Puleo
1e432cd43b
Add TownSlimeRed to FishableNpcIDs list, allowing it to be fished up 2022-11-03 03:17:45 -04:00
SGKoishi
fde43a7730
More i18n
Strings for player kick/ban, anti-cheating and server logs
2022-11-02 13:42:52 -07:00
Lucas Nicodemus
9503c4b6c7
Merge remote-tracking branch 'hufang360/general-devel' into general-devel 2022-10-28 17:34:56 -07:00
SGKoishi
6c3415d86b
Minor i18n fix with interpolation
The extractor handle the concatenate incorrectly
2022-10-28 14:01:20 -07:00
hufang360
d5c7ad65e4
Merge branch 'general-devel' into general-devel 2022-10-29 00:31:28 +08:00
SGKoishi
95d6baaf6c
Use full sentence rather than combining words 2022-10-25 08:50:29 -07:00
SGKoishi
f8c0f0ce15
i18n most texts 2022-10-24 21:16:28 -07:00
SGKoishi
b766e045b5
Use i18n for most string.Format if shown in log, console or client side 2022-10-24 13:38:33 -07:00
hufang360
ca93fa685e Fixed SSC not save ateArtisanBread, usedAegisCrystal, usedAegisFruit, usedArcaneCrystal, usedGalaxyPearl, usedGummyWorm, usedAmbrosia, unlockedSuperCart, enabledSuperCart flags, and Server will correct read them. 2022-10-24 13:27:50 +08:00
James Puleo
bfaa47ad1a
Introduce support for loadouts, and save current loadout index to SSC
We needed to modify `NetItem` to know that these new inventory now
exist.

`PlayerData` can now re/store these items, and properly sync them. It
also now knows of the player's currently selected index, and how to sync
it.
2022-10-22 17:36:57 -04:00
Lucas Nicodemus
20fb5023c1
Merge remote-tracking branch 'drunderscore/fix/add-player-buff' into general-devel 2022-10-14 23:49:15 -07:00
James Puleo
4189b4ab1f
Add LiquidType.Shimmer 2022-10-10 18:55:39 -04:00
hufang360
678f18b827
Update GetDataHandlers.cs
Correct the mistakes caused by my carelessness.
2022-10-09 01:35:45 +08:00
James Puleo
23fd7acd79
Improve OnPlayerBuff logic to properly handle buffs from other players
Previously, we checked if the target player was null, before checking if
their ID was out of bounds, so the check was moved to be first.
We now check if the buff being applied is within bounds.

We introduce `AddPlayerBuffWhitelist` to replace `WhitelistBuffMaxTime`,
which allows us to specify a maximum amount of ticks a buff can be
applied to another player for, and if it can be applied without the
target being in PvP. If a buff is not within this array, it is *not*
allowed to be applied by other players.

When rejecting from `OnPlayerBuff`, we send a `PlayerBuff` instead of
`PlayerAddBuff`, to sync the current buffs of the target, without
syncing the rejected one.
2022-10-08 13:09:54 -04:00
James Puleo
16d48a4a56
Fixed HandlePlayerAddBuff data handler always being marked as Handled
This would cause all `PlayerAddBuff` packets to always be rejected,
causing desync, and general annoyance, as it meant any PvP items that
applied buffs never worked.
2022-10-08 11:54:43 -04:00
hufang360
66379a4a17 Fix player does't use the Shellphone (Ocean), Shellphone (Underworld) and Shellphone (Spawn). 2022-10-08 22:50:28 +08:00
Lucas Nicodemus
ae578ce184
Merge remote-tracking branch 'tbc/fix/paint-rejects' into general-devel 2022-10-07 20:40:17 -07:00
Lucas Nicodemus
62eb0afb18
Merge remote-tracking branch 'drunderscore/feature/bounce-some-new-packets' into general-devel 2022-10-07 20:38:42 -07:00
Luke
d6caeb15cc Fix hard/mediumcore ban on death
Removed the force parameter since it is of no use.
2022-10-07 18:42:31 +10:00
James Puleo
40b07fdc7b
Don't allow players to sync loadout index whilst disabled 2022-10-06 12:24:09 -04:00
Rozen
d1505127dd
Revert accidental removal of OnPaintTile check 2022-10-05 21:59:49 +02:00
Rozen
62d35533a0
Init 2022-10-05 21:58:09 +02:00
Lucas Nicodemus
49a2dce59e Merge remote-tracking branch 'origin/general-devel' into otapi3 2022-04-01 01:14:01 -07:00
Lucas Nicodemus
32f2f6a33d Merge branch 'general-devel' into otapi3 2022-04-01 01:10:00 -07:00
James Puleo
b07497ca2b
Only allow using Teleportation Potion and friends whilst holding them 2022-03-19 17:05:02 -04:00
gohjoseph
3805bb8ca2 Fix mobs not dropping picked up coins 2022-03-18 22:35:43 +08:00
Lucas Nicodemus
78169c87cb Merge remote-tracking branch 'origin/general-devel' into otapi3 2022-02-16 18:44:33 -08:00
0x3fcf1bbd
874b3b2746 Reverted STS change, added STSC, fixed STS/STSC usage. 2022-02-01 16:00:05 +01:00
Lucas Nicodemus
724858b42d Merge branch 'general-devel' into otapi3 2021-12-12 12:36:31 -08:00
Lucas Nicodemus
e42da74f85 Merge remote-tracking branch 'tru321/general-devel' into general-devel 2021-12-12 12:35:13 -08:00
tru321
e0d6252693
Update GetDataHandlers.cs 2021-12-10 10:53:58 +08:00
Lucas Nicodemus
dfaad68106 Merge branch 'general-devel' into otapi3 2021-12-08 22:55:11 -08:00
tru321
16f7c876e1
Apply suggestions from code review
Co-authored-by: Lucas Nicodemus <shank@shanked.me>
2021-12-08 14:44:03 +08:00
Lucas Nicodemus
c62fca5353 Merge remote-tracking branch 'deathcradle/otapi3' into otapi3 2021-12-07 21:06:48 -08:00
tru321
bd7b1c1460
Update GetDataHandlers.cs 2021-12-08 11:05:33 +08:00
James Puleo
fe3a59f84a
Fixed rejection check inside of HandlePaintTile to account for the
Paint Sprayer (or Architect Gizmo Pack) being inside your inventory,
rather than on an accessory slot.
2021-12-07 02:42:27 -05:00
Lucas Nicodemus
d50ebfea37 Merge remote-tracking branch 'drunderscore/feature/bouncer-reject-out-of-bounds-npc-talk' into general-devel 2021-12-04 22:35:37 -08:00