An invalid SQL query selecting the region ID from the newly inserted
region prevented the AddRegion method from completely adding a region,
even though it was inserted into the database correctly, leading to a
`false` result even though the region add was successful.
This fixes /region define, and HouseRegions.
Reworked the StatTracker client side stuff to match the new server side
changes. Also fixed the memory tracking, plus added a 'providerid' for
certain server hosting providers
Removed check ignores failed and player disabled for
not being logged in whilst SSC is enabled console messages, as
they are incessant in larger servers.
The messages are not informative as they are not reasonably
actionable by the console, and there is no point in spamming
server operators about such issues.
There is cheat detection code in GetDataHandlers.cs that
checks a fuse that will prevent people spawning new
bomb projectiles until the fuse has expired.
The issue is that 1) the fuse isn't getting compared, blocking all bomb
projectiles, and 2) The TileKill still happens clientside, so all clients
see invisible bombs and tiles getting destroyed regardless.
Removing the 'return true' code here resolves the problem, and doesn't
interfere with the fuse logic.
Fixes#1095.
Added token bucket and timer to degrade token bucket
Modified REST API rate limiting
Changed limiting to only be on token create and v2 token create
Added config options to choose time limits
Passed HttpContext to the execute method of endpoints
Made blocking failed API logins optional
Changed error codes on failed login to be ambiguous
Added config to decide whether all or failed logins are limited
Changed config variable names
Cleaned up duplicate code in REST rate limiting
Fixed my typo
Changed error 431 to 403