miniduikboot [Wed, 29 Nov 2023 21:14:59 +0000 (22:14 +0100)]
Get rid of Rpc02 SyncSettings
This RPC is still sent by clients, but no longer used by clients. As the
server can get the info it wants from LogicOptions instead, remove this
RPC to prevent people from using it accidentally
miniduikboot [Sun, 26 Nov 2023 22:01:54 +0000 (23:01 +0100)]
Implement event to detect game option changes
This can be triggered by both RPC 02 and a(nother) plugin calling
SyncSettings to force certain settings on the host. Users of this API
could cause this event to recurse by calling SyncSettingsAsync inside an
event handler, so we prevent such reasonable foreseeable misuse.
miniduikboot [Thu, 16 Nov 2023 16:55:50 +0000 (17:55 +0100)]
Debounce CheckMurder calls
In games where players have a high ping, they can get disconnected if
they try and murder a player twice. If a player tries to kill a player
again while they are still under a cooldown from their previous kill,
cancel their request if the game is server authoritive and don't process
it anymore if the game is host authoritive
miniduikboot [Sat, 28 Oct 2023 22:37:30 +0000 (00:37 +0200)]
Refresh Murder Event API
- IPlayerCheckMurderEvent now exists
- You can see if a kill was successful with IPlayerMurderEvent
- You can now see if host authority was requested with Game.IsHostAuthoritive
miniduikboot [Thu, 26 Oct 2023 21:14:09 +0000 (23:14 +0200)]
Fix MurderPlayer for vanilla clients
In 2023.10.24, vanilla started expecting that CheckMurder is handled on
the server. That is, unless the host is modded, then CheckMurder calls
are handled by the host as before
miniduikboot [Wed, 25 Oct 2023 19:26:40 +0000 (21:26 +0200)]
Add 10.24 and drop the rest
We had a nice year of backwards compatibility, but the changes in Fungle
are large enough that dropping support for old versions is the only
logical path forward
miniduikboot [Wed, 31 May 2023 20:13:29 +0000 (22:13 +0200)]
Allow multiple SetName commands per CheckName
Some mods use SetName to set player-specific names, for example to set
player-specific roles. When Anticheat is disabled, this should be
allowed for feature-parity with officials.
miniduikboot [Tue, 7 Mar 2023 23:09:41 +0000 (00:09 +0100)]
Reorder GameFull and GameStarted join errors
If a game is in progress, a player can't join it anyway and spam-joining
to see if a spot becomes available is useless. So the GameFull error is
more important than the GameStarted error, therefore reorder them.
miniduikboot [Sun, 29 Jan 2023 23:10:55 +0000 (00:10 +0100)]
Add a warning for using the default PublicIp
This is a misconfiguration in most cases and it breaks Impostor.Http.
Throw a warning so that people know that they should return to the
install instructions.
miniduikboot [Sun, 29 Jan 2023 21:58:30 +0000 (22:58 +0100)]
Dockerfile: install Http plugin in separate folder
Some people mount a folder on the plugin directory. This is fine, but
our sneaky Impostor.Http install method won't work here. So put it in a
different folder and prepend our folder to the plugin search path.
miniduikboot [Fri, 20 Jan 2023 14:25:22 +0000 (15:25 +0100)]
Add Impostor.Http to the Docker image (#509)
Adding plugins to the docker image is pretty hard as you need to install
ASP.Net Core and add the plugin. As Impostor.Http has become pretty much
mandatory, install the plugin by default.
miniduikboot [Fri, 20 Jan 2023 14:23:33 +0000 (15:23 +0100)]
Automatically add ASP.NET Core to the library path (#507)
Currently Impostor.Http is becoming an almost mandatory plugin. Because
it depends on ASP.Net, many people who fail to add the required path to
their config will run into an error. Help them by automatically adding
ASP.NET Core.
Also .NET updates every now and then and updating the version number in
the config.json is annoying me.
This commit uses the fact that ASP.NET Core DLL's are in a sibling folder
to the .NET runtime and should therefore work on most setups unless
they've installed ASP.NET Core in a very weird way.