MegaAntiCheat / client-backend

GNU General Public License v3.0
117 stars 24 forks source link

[MegaThread] Outstanding issues, fixes and planned improvements #160

Open lili7h opened 1 month ago

lili7h commented 1 month ago

This thread is for tracking extant or outstanding items which I believe should be broken down and worked on to improve the quality of MAC prior to open beta release


Client Backend

Client Frontend


Progress

Add fields here or modify existing fields as tasks are picked up and completed

SteamHistory integration

And for the frontend, we would need:

Decisions that need to be made:

Additional SSE messages

JoshuaVandaele commented 1 month ago

Instead of Party Chat to send messages to the player, have Closed Captions been considered?

image

They can be enabled with closecaption 1; cc_subtitles 1 and a custom lang can be created in the "custom" folder and set to be used with a command such as cc_lang "megaanticheat". Those custom captions can then pushed with cc_emit nameofcaptionkey. This would avoid filling party chat with irrelevant information when they are usually used by players. You can even color the text however you like.

Here's a neat little guide about custom captions.

megascatterbomb commented 1 month ago

That would be a very interesting option. I personally have closed captions disabled; can this be implemented without the stock captions spamming "That heavy is a spy!"?

JoshuaVandaele commented 1 month ago

The stock captions basically do not work for anything other than the developer commentary

Edit: After checking, only the developer commentary is captioned in the entire game

lili7h commented 1 month ago

one thing to consider would be how custom huds affect the display of messages, as well as the default settings.

if CC are turned off by default, whats the best UX for bringing the feature to the user? The less things a user has to manually toggle or flip to install the app, the better.

additionally, how does this affect useability? Closed Captions fade away and are not recallable, what if the information you want to present should be referencable at multiple periods? If something is important enough to notify the user of, is it important enough to also give them persistent access to it?

These are all questions that should be considered.

additionally, would adding a set of closed captions make the cc_random command stop crashing the game? that would be nice

Bash-09 commented 1 month ago

I also wonder about if closed captions would be possible to change at runtime or if we would be stuck with a preset list of captions we setup before the game launches. I would guess the cc_lang command would reload the file at runtime, but will that apply in the middle of a game? And hopefully it doesn't cause any disruption to the player when that happens. Some testing would be required.

JoshuaVandaele commented 1 month ago

if CC are turned off by default, whats the best UX for bringing the feature to the user? The less things a user has to manually toggle or flip to install the app, the better.

I think simply toggling them on using rcon is fine

additionally, how does this affect useability? Closed Captions fade away and are not recallable, what if the information you want to present should be referencable at multiple periods? If something is important enough to notify the user of, is it important enough to also give them persistent access to it?

The chat has the same issue, notably with community servers being able to clear the chat using sourcemod plugins, or simply because of spam. I think this kind of information should be made visible in the web interface

additionally, would adding a set of closed captions make the cc_random command stop crashing the game? that would be nice

¯\_(ツ)_/¯

Bash-09 commented 1 month ago

Some investigation from Seercat on discord makes the CC approach seem quite promising:

I had a look into TF2 captions stuff based on the recent discussion on GitHub: yes, you can reload captions files at runtime (cc_flush). no, it doesn't seem to cause lag spikes (at least for me). we'd probably want to write our own captions compiler, though, because captioncompiler.exe (or an equivalent binary) doesn't seem to get shipped on Linux. It wouldn't be too hard, there's already one in JS we could look at.

JoshuaVandaele commented 1 month ago

For future reference, the JS one you might be referencing to is this one by p0358, it is also mentioned on the official valvesoftware developer page which leads me to believe it isn't a hacky implementation

MaxOhNoo commented 3 weeks ago

There are caption mods for all voicelines.

Tiagoquix commented 3 weeks ago

That would be a very interesting option. I personally have closed captions disabled; can this be implemented without the stock captions spamming "That heavy is a spy!"?

Yes. You do a closecaption file with just what you want (in this case, custom ones), and set cc_captiontrace 0 to avoid spam in the developer console. TF2 accepts custom captions AFAIK, so you can set anything like "MegaAntiCheat_TestPhrase" "This is a test." and it should work. I'm not sure it would support something such as %s1 (to replace with player name) though.