Commit graph

227 commits

Author SHA1 Message Date
Lucas Nicodemus
4d35ee395e
Version tick: 5.0.0-beta.0.6 2022-10-22 14:01:17 -07:00
Janet Blackquill
77be338e46 Add i18n system 2022-10-20 02:09:29 -04:00
Lucas Nicodemus
15077dbccc
Version tick: 5.0.0-beta.0.5 2022-10-17 01:52:20 -07:00
renovate[bot]
44ae34f06e
Update dependency Microsoft.Data.Sqlite to v6.0.10 2022-10-13 05:53:52 +00:00
renovate[bot]
8bff6edfdc
Update dependency MySql.Data to v8.0.31 2022-10-13 05:44:50 +00:00
Lucas Nicodemus
20964a0e8c
Tick version to 5.0.0-beta.0.1 2022-10-08 11:18:00 -07:00
renovate[bot]
dd54f11c73
Update dependency Microsoft.Data.Sqlite to v6.0.9 2022-10-06 16:22:58 +00:00
Luke
02b8061531 Change nuget package name to tshock instead of tshockapi 2022-10-05 19:36:13 +10:00
Luke
9fb8320d60
Update TShockAPI/TShockAPI.csproj
Co-authored-by: Arthri <41360489+Arthri@users.noreply.github.com>
2022-10-04 16:07:22 +10:00
Luke
f87fa90e65 Nuget package information and workflow 2022-09-10 09:07:13 +10:00
Luke
99ddcb247b Dependency updates, OTAPI 3.1 & ModFw 1.1 2022-09-05 22:01:33 +10:00
Luke
578df18901 Redo launcher csproj and action to use framework dependent builds
This also includes package updates across the entire solution, which shouldn't matter at this stage on this branch.
2022-07-27 21:53:09 +10:00
Luke
c063aabbc0 Switch to Microsoft.Data.Sqlite for arm64
There is a slight change the the way QueryResult works in order to satisfy the variances in the new library.
Disposing of the command with the reader appears to solve this, and hopefully, with minimal impact to plugins.
2022-03-27 21:38:58 +10:00
Luke
699047d119 Bump TSAPI/OTAPI & other deps for arm64
This should allow monomod hooks to run on a raspberrypi (no apple silicon yet)
2022-03-27 19:31:43 +10:00
Lucas Nicodemus
deac238ea3 Version tick: 5.0.0 2021-12-07 21:09:04 -08:00
Luke
2c44f71043 CI upload artifacts + set tshock version to beta 2021-12-03 07:47:45 +10:00
Luke
2b4b6353c2 Add TShock Launcher project (TShock.exe) with ./bin folder for dependencies
+ submodule update
TODO: retest on osx and see if we can include file permissions
2021-12-01 08:26:06 +10:00
Luke
404520c789 Update submodule for ./bin folder changes
This should move most dlls from the root to a ./bin folder.
2021-11-27 22:49:11 +10:00
Luke
19fd47c8e2 Update company/copyright + add new lines to .vscode files 2021-11-27 17:58:38 +10:00
Luke
e75e0e8bab Switch to .net6 2021-11-27 17:57:19 +10:00
Luke
c70a9bc88b VS+Code launch profile improvements 2021-11-24 21:32:22 +10:00
Luke
d439b3db1c Correct nuget package to GPL-3.0-or-later 2021-11-24 07:51:44 +10:00
Luke
a5a75e3f50 Implement System.Data.SQLite
TODO: determine if we can do something better than a resolver
2021-11-24 07:49:03 +10:00
Luke
8edd0393e5 Initial OTAPI3 port
TODO: sqlite
2021-11-23 20:49:41 +10:00
Lucas Nicodemus
a88c44e0db Remove old ConfigFile class
This was deprecated and replaced.
2021-06-13 13:20:43 -07:00
Lucas Nicodemus
046d52ad2e Move emoji player index check into IllegalPerSe
This is the first commit in a pattern that I'd like to follow. The
concept is that we specifically create handlers for things that are
"illegal per se." That is, there are no possible situations (in the
current protocol) where a packet of this type is received from a client.
In this case, I moved the emoji handler out of the Handler just for
emoji, since it seemed like an obvious case.

The rule of thumb is simple: if something is illegal per se, there
should be no possible way in the vanilla client to achieve this result.
If a player sends this combination of packets they *must* be hacking.
Not that there is a 99.9% chance they're hacking, but that there is a
100% unambiguous chance that they're hacking.

Something is illegal per se if it can only be created by a hacked
client. If there's a crashing bug that a normal player can do with a
complex series of vanilla events, that is not illegal per se.

The goal of this namespace and class of handlers is to handle exactly
one type of protocol violation, and remove the packet accordingly. If it
is ever reported that the packet can be sent from a vanilla client, the
check must be removed as it is no longer a per se violation of the
protocol.
2021-05-27 23:59:43 -07:00
Luke
81b6872d6e Fix OTAPI reference
This now allows MonoDevelop to compile without receiving error while starting a build: System.IO.FileLoadException: The assembly name is invalid
2021-04-11 21:00:28 +10:00
Chris
9423febd0a Refactor for new configuration 2020-12-03 17:43:10 +10:30
Chris
db10bf22e7 Refectoring continued - rename STS Handler to STR Handler 2020-11-13 18:50:54 +10:30
Patrikkk
d4e4692d8b Merge branch 'general-devel' into addtileentityinteraction 2020-06-25 13:41:14 +02:00
Patrikkk
64e61b8ed9 Add DisplayDollItemSyncHandler
In a previous PR I have added the tile entity request packet handler which checks for building permissions to prevent the unauthorized player to open a DisplayDoll and see its content.

This Handler is being added to prevent *Hackers* from modifying a DisplayDoll through direct/crafted packet sending, or by sending raw byte data to the server.
In a valid enviroment, the player couldn't even get to see the content of the doll in the first place, to then try to modify it's items.

Because of this,  I do not bother with making sure the player gets their item back.
2020-06-19 14:21:45 +02:00
Patrikkk
c418dda42c Add RequestTileEntityInteractionHandler. Check Mannequin modif perms.
Users can no longer open a Mannequin if they do not have building permissions at the position of the Mannequin.
(Mannequins work as a chest since 1.4)
2020-06-18 17:08:14 +02:00
Patrikkk
e738d8e794 Implementing SyncTilePickingHandler. Patching tile damage related exploits.
With this packet, players could kick all players by sending invalid world position data.
2020-06-02 19:20:27 +02:00
Patrikkk
d919c11add
Merge branch 'general-devel' into handlegolfpacket 2020-06-02 11:52:32 +02:00
Patrikkk
3cc8a75b9b
Merge branch 'general-devel' into emojipacketevent 2020-06-02 11:21:19 +02:00
Patrikkk
f7a8695c8f
Merge branch 'general-devel' into handlegolfpacket 2020-06-02 11:15:17 +02:00
Chris
961c6cd9bc Clean up NetModulePacketHandler a little 2020-06-02 14:18:22 +09:30
Chris
3b6a9ffcc2 Add bestiary handler 2020-06-02 14:06:18 +09:30
Chris
1c0a649a0c Add handling for liquid net module 2020-06-02 13:34:26 +09:30
Chris
48d610d33f Move netmodule handling into handlers namespace
Add handler for teleport pylons, and permission for teleport pylons
2020-06-02 12:59:14 +09:30
Chris
5b72ff6c0a Add IPacketHandler 2020-06-02 10:44:10 +09:30
Patrikkk
c94d15e634 Commit EmojiHandler.cs and register OnEmoji hook. 2020-06-01 15:31:45 +02:00
Patrikkk
4944ee3144 Implement Handler.LandGolfBalInCupHandler and handle packet exploits.
Added multiple checks to prevent clients from sending the golfball packet directly, without having golf play actions.
2020-06-01 12:59:40 +02:00
Chris
d4a0f47e45 WIP - splitting STS into new class and processing methods 2020-05-29 14:05:43 +09:30
Patrikkk
a4075fd590 Revert TShockAPI.csproj to original. 2020-05-29 00:10:57 +02:00
Patrikkk
0fa8ae13d7 Implement FoodPlatter placing event.
This is called when a player is placing a fruit (item) in a plate.
Adding checks to see if they have permission to place or replace a fruit in the item.
Checks if they are within range. And a check to see if they are legitimately placing the item from their hand, and not by sending a raw packet.
2020-05-28 19:24:28 +02:00
Olink
56b695b80b Add initial support for Journey mode in SSC. 2020-05-25 02:24:03 -04:00
Chris
c2e3f65a2a Add modeling to new projectile handling 2020-05-18 15:47:31 +09:30
Chris
db84a9fc8f Adds models for the random bitsbyte data received in packet 13 - player update 2020-05-18 14:42:29 +09:30
鱼鱼
43f586cde5 Merge branch 'general-devel' of https://github.com/Pryaxis/TShock
 Conflicts:
	CHANGELOG.md
	TShockAPI/GetDataHandlers.cs
	TShockAPI/TShock.cs
2020-05-17 21:38:07 +08:00