If there's one thing I learned in this exercise, it's that letting
people add random python scripts to the repo like gpltext.py that
promise to be easier than find and replace is a bad idea.
See the changelog entry for this. Basically, it's worse to keep
confirmed broken noclip detection in, even if it detects noclip 90% of
the time, because a random hacker can make a better noclip system and
just evade it 100% of the time by exploiting holes.
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
Obsoleted the old disable method
Added a config option to disable OnSecondUpdate logs (disable message is written only to console if set to true)
Updated all instances of the obsolete Disable method to the new Disable method
Through Knowledge, Victory. Through Unity, Peace.
Honor, Valor, Allegiance.
Today. Tomorrow. Forever.
Together We Rise. Together We Prevail.
Forward Unto Dawn.
From Earth, For Earth.
Honor, Valor, Allegiance, Excellence.
Today. Tomorrow. Forever.
Together We Rise. Together We Prevail.
Forward Unto Dawn.
From Earth, For Earth.
Honor, Valor, Allegiance, Excellence.
From Earth, For Earth.
Today. Tomorrow. Forever.
Together We Rise. Together We Prevail.
Forward Unto Dawn.
Fixes problems reported by @MarioE and @Simon311:
- Users can no longer register with whitespace for a password.
- Users can no longer register with 4 whitespaces for a password.
Fixing SSC is done by sending packet 39 (item disown) to the client.
Until a response, which is packet 22, is received from the client, all
SSC-related packets are completely ignored. This ensures that the SSC
data which is sent is not dirtied due to packets which are processed
during RestoreCharacter or slightly afterwards.