This is done by HTTP POSTing to a location specified by
`sv_modhelp_url`. We also provide a `src/modhelp/server.py` which can
use theses POSTs to forward them to Discord servers.
The POST contains a JSON object payload, with the keys `"port"` which
contains the server port, `"player_id"` which contains the calling
player's client ID, `"player_name"` which contains the calling player's
nick and `"message"` which is the user-specified message.
Make JSON-escaping function public, add tests and fix bugs uncovered by
these tests.
Supersedes #1129.
This uses the Unicode confusable data together with judging how close
two strings are by using the Levenshtein distance.
Adds the commands `name_ban`, `name_unban` and `name_bans`. Kicks
players who join using a banned name and doesn't allow ingame players to
change their names to the banned ones.
Our build system used to put generated files into `src/game/generated`,
now it's using `${PROJECT_BUILD_DIR}/src/game/generated`. Prefer the
ones in `${PROJECT_BUILD_DIR}/src/game/generated`.
947: Add support for extra chunks in teehistorian r=Learath2 a=heinrich5991
This allows to add rarely-used chunks without increasing the file format
version.
978: Disable warnings for GTest r=Learath2 a=heinrich5991
Warnings for GTest broke the build because GTest turns warnings into
errors, which is undesirable if GTest is just used as a dependency.
See also https://github.com/google/googletest/issues/1373.
Warnings for GTest broke the build because GTest turns warnings into
errors, which is undesirable if GTest is just used as a dependency.
See also https://github.com/google/googletest/issues/1373.
941: Add cross-compiled DMG archives r=Learath2 a=heinrich5991
Currently they only contain the client and the archives are a lot larger
than the current release artifacts.
953: Overhauled job system r=Learath2 a=heinrich5991
The engine now takes `std::shared_ptr<IJob>`, this will ensure the
appropriate lifetime of the given parameters, it also allows for proper
destruction. Remove the now obsolete `IFetcher` interface and `CFetcher`
class.
Also adds some locks to `CUpdater`, previously it didn't have any locks
at all.