Add fallback for finding players using tsi & tsn
This commit adds a fallback to address problems with FindByNameOrID potentially returning ambiguous results. Now, in response to a multiple match error, a player can specify tsi:[number] or tsn:[exact name] to match a user ID or name exactly. This behaves analogous to the old behavior of the search method.
This commit is contained in:
parent
09fe254f17
commit
e73ce17130
3 changed files with 38 additions and 10 deletions
|
|
@ -17,7 +17,7 @@ This is the rolling changelog for TShock for Terraria. Use past tense when addin
|
|||
* Fixed torchgod settings to include whether or not torchgod has been fought by the player before and respect `usingBiomeTorches` setting. (@Quinci135)
|
||||
* Fixed /worldmode not synchronising data to players after updating the world state (@bartico6, @Arthri)
|
||||
* Added `OnSendNetData` hook to TSAPI, which enables developers to intercept traffic being sent from the server to clients. (@Stealownz)
|
||||
* Changed `TSPlayer.FindByNameOrID` so that it will continue searching for players and return a list of many players whem ambiguous matches exist in all cases. Specifically, this avoids a scenario where a griefer names themselves `1` and is difficult to enact justice on, because their name will not be found by the matching system used to kick players. (@hakusaro, @Onusai)
|
||||
* Changed `TSPlayer.FindByNameOrID` so that it will continue searching for players and return a list of many players whem ambiguous matches exist in all cases. Specifically, this avoids a scenario where a griefer names themselves `1` and is difficult to enact justice on, because their name will not be found by the matching system used to kick players. To help with ambiguity, this method now processes requests with prefixes `tsi:` and `tsn:`. `tsi:[number]` will process the search as looking for an exact player by ID. `tsn:` will process the search as looking for an exact name, case sensitive. In both cases, the system will return an exact result in the "old-style" result, i.e., a `List<TSPlayer>` with exactly one result. For example, `/kick tsid:1` will match the player with the ID `1`. `/kick tsn:1` will match the username `1`. In addition, players who attempt to join the server with the name prefixes `tsn:` and `tsi:` will be rejected for having invalid names. (@hakusaro, @Onusai)
|
||||
|
||||
## TShock 4.5.3
|
||||
* Added permissions for using Teleportation Potions, Magic Conch, and Demon Conch. (@drunderscore)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue