Commit graph

948 commits

Author SHA1 Message Date
Lucas Nicodemus
56041f2c1a
Merge remote-tracking branch 'ghsa/handshake-final-update-fix' into general-devel 2025-03-10 01:08:28 +09:00
Lucas Nicodemus
c89c34b356
Merge branch 'general-devel' into add-moondial-permission 2025-03-10 00:49:27 +09:00
Lucas Nicodemus
13a4a0864b
Merge branch 'general-devel' into playerdata-changes 2025-03-10 00:39:33 +09:00
Lucas Nicodemus
531ec1376c
Merge branch 'general-devel' into general-devel 2025-03-10 00:20:50 +09:00
LaoSparrow
740c5c9250 fix(GetDataHandlers): handle and ignore NpcItemStrike(msgid 24) 2025-03-01 03:53:13 +08:00
ohayo
98eed425e2 Suppress logging of un-spawnable npcs
Not anything related to the handshake fixes, but still a nice fix which could help server owners deal with mischievous client users.
2025-02-12 21:51:14 +10:00
Joseph Goh
836cc33c8d rewrite: bed spawning for SSC 2025-02-10 11:42:36 +08:00
ohayo
de142e419e I guess update the magic number here too? 2025-02-05 09:37:53 +10:00
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
Arthri
060a3e5dfd Remove unnecessary change 2024-04-23 20:09:08 +00:00
Arthri
1db76035a5 Fix skeletron summon 2024-04-23 20:05:06 +00:00
Arthri
ad36e7eeb6 Add permission for Moondial and unrecognized SFX 2024-04-09 03:43:27 +00: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
AkjaHAsLk1IALk0MasH
b184133a7f Updated the call to the obsolete constructor PlayerData 2023-05-14 10:43:01 +07: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