TShock/TShockAPI
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
..
CLI Update copyright to 2019 again 2019-03-29 17:16:37 -07:00
Configuration Warn players if bypass SSC permission is enabled 2021-05-21 01:16:04 -07:00
DB Fix torchflags 2021-05-23 04:48:01 -07:00
Extensions Re-enable Int64 override for IDataReader.Get 2020-11-29 18:23:35 +10:30
Handlers Move emoji player index check into IllegalPerSe 2021-05-27 23:59:43 -07:00
Hooks Implement handled pattern on the PlayerChat hook 2021-04-13 13:14:56 +09:30
Localization pass compile; add void vault code 2020-05-17 21:38:47 +08:00
Models Update GetDataHandler.HandleProjectileNew to include HasBannerIdToRespondTo 2021-04-05 10:45:41 +08:00
Net Address feedback from @hakusaro about style & documentation 2021-05-21 13:13:06 +02:00
Properties Version tick: 4.5.3 2021-05-22 10:54:47 -07:00
Rest Merge branch 'general-devel' into rest-permissions 2021-04-22 16:52:55 +09:30
Sockets pass compile; add void vault code 2020-05-17 21:38:47 +08:00
app.config Saving work to apply merge changes 2017-04-19 17:12:38 -06:00
BackupManager.cs Refactor for new configuration 2020-12-03 17:43:10 +10:30
Bouncer.cs Move emoji player index check into IllegalPerSe 2021-05-27 23:59:43 -07:00
Commands.cs Add WorldInfo broadcast in /worldmode 2021-05-24 10:41:18 +02:00
ConfigFile.cs Automatically back up the world by default 2021-05-20 03:31:37 -07:00
FileTools.cs Update how it looks 2021-05-14 13:23:42 -04:00
GeoIPCountry.cs Update copyright to 2019 again 2019-03-29 17:16:37 -07:00
GetDataHandlers.cs Fix torchflags 2021-05-23 04:48:01 -07:00
Group.cs Refactor for new configuration 2020-12-03 17:43:10 +10:30
HandlerList.cs Update copyright to 2019 again 2019-03-29 17:16:37 -07:00
ILog.cs Overhaul debug logging 2020-05-19 22:04:10 -07:00
IPackable.cs Update copyright to 2019 again 2019-03-29 17:16:37 -07:00
ItemBans.cs Refactor for new configuration 2020-12-03 17:43:10 +10:30
NetItem.cs pass compile; add void vault code 2020-05-17 21:38:47 +08:00
packages.config Update to Newtonsoft JSON v10.0.3 for parity with OTAPI/TSAPI 2019-03-30 15:47:14 +10:30
PaginationTools.cs Update copyright to 2019 again 2019-03-29 17:16:37 -07:00
Permissions.cs Implement additional teleport permissions. 2021-05-11 14:17:36 -04:00
PlayerData.cs Change happyFunTorchTime from true to false 2021-05-23 17:11:06 -07:00
RegionHandler.cs Refactor for new configuration 2020-12-03 17:43:10 +10:30
Resources.Designer.cs Remove headers from autogenerated file 2016-10-17 11:28:34 +05:30
Resources.resx Remove 2 year old config files... 2013-10-01 20:55:19 -04:00
SaveManager.cs Refactor for new configuration 2020-12-03 17:43:10 +10:30
SqlLog.cs Refactor for new configuration 2020-12-03 17:43:10 +10:30
TextLog.cs Refactor for new configuration 2020-12-03 17:43:10 +10:30
TShock.cs Version tick: 4.5.3 2021-05-22 10:54:47 -07:00
TShockAPI.csproj Move emoji player index check into IllegalPerSe 2021-05-27 23:59:43 -07:00
TShockAPI.licenseheader Update copyright to 2019 again 2019-03-29 17:16:37 -07:00
TSPlayer.cs Warn players if bypass SSC permission is enabled 2021-05-21 01:16:04 -07:00
TSServerPlayer.cs Ban rewrite and various other adjustments 2020-11-26 17:20:19 +10:30
UpdateManager.cs Update copyright to 2019 again 2019-03-29 17:16:37 -07:00
Utils.cs Refactor for new configuration 2020-12-03 17:43:10 +10:30
web.config Saving work to apply merge changes 2017-04-19 17:12:38 -06:00