How to detect hint menus

Categories: ArmA 2, ArmA 3

The worst nightmare for any anticheat developer is coming across a cheat that is nearly impossible to detect. Hint menus are one such cheat. There is no way to disable the “hint” command and no way to detect what is being displayed in the current hint. So how would an anticheat go about stopping people […]

Manipulating vehicle locality

Categories: ArmA 3

A while ago I was working on a system that would allow me to manipulate remote objects as if they were local to me.  In other words, I wanted to use commands like “setDamage” or “setVelocity” on objects that were created by the server. I found that vehicles were the easiest to manipulate the locality […]

How do Anticheats work?

Categories: ArmA 2, ArmA 3

A lot of people don’t understand how scripted anticheats like Infistar AntiHack work. The idea behind scripted anticheats is simple and effective. They rely on three key features. Randomizing variables Using local variables effectively Sending code to clients in a randomized heartbeat fashion Randomizing Variables Any variables that can be accessed between threads can be […]

Securing publicVariableEventHandlers

Categories: ArmA 2, ArmA 3

A big issue with most game modes in ArmA 3 is how they handle network messages. Most servers I have come across do nothing to protect publicVariableEventHandlers and remoteExec calls. Now before I get started I will mention that there are many different ways to secure network messages and I will only be showing one. […]

C# Arma Extension command parsing

Categories: ArmA 3, C#

I spent a good portion of time last year working with server extensions in arma 3. I wanted to create a simple way to interface the script and the extension and to make adding functions into the extension as simple as possible. I came up with Command Requests as a solution. I use the format […]

Draw3D Interactive Menu

Categories: ArmA 3

A few months ago I was looking into making a user interface with the draw3d mission event handler. I was looking into using keybinds to interact with the menu and found that they were, more often than not, not so user friendly. Instead I opted for a way to interact with the menu by looking […]