Prevent cheating in custom map

Hello!
I’ve been developing a 4 player coop custom map for about 2 months now. I would like to add some anti-cheat so players don’t beat the map without some effort.

  1. When you create a lobby: Select “Advanced options”, there is an option called “Visibility”. Is there any way I can force it to always be default in my map so players can’t cheat with this vision setting to reveal entire map? I remember playing a map that did something with vision trigger when map initialize to change vision to default and reset vision after loading screen when map starts so it isn’t fully revealed.
  2. Any way to force game speed to always be “Fast” when map initializes? So if host picks game speed “Slow” or “Normal” in lobby it should always force speed “Fast” after loading screen when map starts.
  3. Any one know any simple anti-cheat trigger to prevent players from using chat cheats like “greedisgood” and “whosyourdaddy” when they start the map in singleplayer?
  4. Any other anti-cheat that might be good adding in form of a trigger in the map? :smiley:

Thank you for reading!

As far as I’m aware, the advanced options only do anything for melee maps unless you explicitly trigger them to do stuff in customs.

What you can do about single player cheats is just auto-defeat people when they use them (use player chat message event).

Lobby settings such as visibility work on non-melee maps hence I posted here for help to block them.

If someone writes whosyourdaddy when playing custom map online it won’t work but they will be kicked if I do as you suggested. Your suggestion has a downside as innocent players might get kicked. So I won’t do your suggestion, there needs to be a better way to make anti-cheat against the chat cheats. I am thinking about adding a trigger at the start of map: if it detects only 1 player it ends the game with message “you cannot play map singleplayer”. Since it’s coop custom map there will always be more than 1 player when hosted for real and the trigger should be disabled after 5 seconds have passed in-game. I think this would be a good anti-cheat against chat cheats, but I don’t know how to create such a trigger and any help would be appreciated. :slight_smile:

ah well you can still do a trigger at 0s elapsed time that sets visibility back to normal with the visibility functions

also my suggestion doesn’t really have a downside as it’s easy to just check if there’s only 1 person in the game when a cheat is typed

I’d suggest looking at this
https://www.hiveworkshop.com/threads/basics-of-triggers.32113/

I managed to prevent editing the game speed and “always visible” visibility setting from the lobby! :smiley:
Although I haven’t found a way to prevent “map revealed” visibility lobby setting.

I’m having trouble creating the conditions that checks if users equal to 1 in the game. Can anyone help with that please?