- Save a note of the username, not just the reason.
- Allow setting a mask with the `banip` command.
- Make ban.txt's formatting a lot more sane. Username and reason are stored in quotes. The mask uses the same formatting as actual CDIR.
- Keep track of if we tried to load ban.txt. If it wasn't, then don't save over it with a blank file.
- Disallow quotes in player names, as it makes player name detection in console more annoying, and saving username in files scary.
# Conflicts:
# src/d_clisrv.c
# src/d_netcmd.c
# src/i_tcp.c
Length is determined by the "kicktime" cvar, in minutes. By default, this is set to 10, but I'm willing to adjust this. Only applies to manual kicks (in the future, maybe also name filter kicks).
The timestamp for the unban time is even saved in ban.txt, so long-term temporary bans are completely possible. (I checked, you can attempt to ban someone for up to 1902 years if you really want to.)
# Conflicts:
# src/d_clisrv.c
# src/d_clisrv.h
# src/i_tcp.c
- Properly call D_SaveBan after remote bans. Bans are no longer saved in the ban command and instead wait for the actual kick to process, since before they were split between the two, which is what caused the discrepancy.
# Conflicts:
# src/d_clisrv.c
# src/i_tcp.c
The intent is to stop servers from needing to dedicate their limited name/MOTD space to things like advertising `lessbattlevotes`, and to avoid "punishing" a server in visibility for allowing temporary gametype switches. However, this is possibly a controversial change, so I'm doing it in its own commit in case there's a clear consensus to revert.
* A "canon" adaptation of the community-created server option `lessbattlevotes`.
* If set to "None", voting behaves as before.
* If set to "Race" or "Battle". that gametype is considered the preference.
* The voting screen is always operated from the perspective of the preferred gametype.
* If you're in an un-preferred gametype, the third vote option will always allow you to continue the gametype.
* If the preferred gametype is Race and you've just exited a Battle map, Encore may now appear on the second vote option.
* A number of bugs with voting have been corrected.
* If `kartencore` is on, the third vote option will now correctly have Encore applied.
* If a custom EXE or malformed packet sends an Encore flag alongside a Battle gametype ID, actively strip it.
* Just to note, clients do not enter Battle Encore with or without this change - this just prevents a promise the rest of the game couldn't fulfill.
2.2 Backports - add ceil slope double step-up/down and fix sprite/models all black in sector with light level of 256
See merge request KartKrew/Kart-Public!274
Makes the displayed FPS more accurate to what it's actually displaying.
Also removed HUDTRANS from it -- stop it fading out during level transitions, it's annoying when I actually want to see the FPS during those bits.
Was done this way for the sake of an older version of uncapped's timing; now that the new timing is much better, I decided it should remain as close to pre-uncapped as it can be.
Advertise_OnChange is CV_NETVAR, so the server will get registered by CV_LoadNetVars when the server starts.
This race condition occasionally pops up in master, but got very consistent with uncapped.