Jump to content
jacob88

ARMA 3 INSLimitedAdmin: Anti-Hacking Script

Recommended Posts

Greeting map designers and server administrators!

Since release, ARMA 3 has been completely open to hackers, with no provided method of detecting them.

That changes today!

Introducing INSLimitedAdmin a "limited" Antihack detector currently in development but already jam packed with features!

NOTICE:

Ported to ServerSide addon

http://forums.bistudio.com/showthread.php?156340-ARMA-3-INSLimitedAdmin-Anti-Hacking-Addon

INSLimitedAdmin By jacob88

- Features

- Detects a "Limited" varriety of Hacks

- Locks Hackers games forcing them to ALT+F4

- Writes a record of the players name and UID to server RPT when player connects

- Writes a record of the Hackers name and UID to server RPT when Anti-Hacks are triggered

- Warns other players on the server via hint and chat when Anti-Hacks are triggered

-INSLimitedAdmin Detects:

- Banned PBO files (Declared In Settings, Can Be Turned ON/OFF In Settings)

- Banned Variable/Array names (Declared In Settings, Can Be Turned ON/OFF In Settings)

- Use of banned weapon types (Declared In Settings, Can Be Turned ON/OFF In Settings)

- Use of banned vehicle types (Declared In Settings, Can Be Turned ON/OFF In Settings)

- Speed-Hacking (Can Be Turned ON/OFF In Settings)

- Teleporting (Can Be Turned ON/OFF In Settings)

Future Features:

- Permanent banning for Hacking

- Global ban database through MYSQL

ChangeLog:

- Version 1.1

- Added Teleport detection

- All settings now defined in "INSLimitedAdminServerSettings.hpp"

- Added ability to disable/enable various functions in settings (e.g. if an array is empty and not being used (_something = [""];))

- Version 1.2

- Fixed glitch with speedhack detection

New features are still on the way, and I hope to post a video of INSLimitedAdmin in action so watch this space!

Installation Instructions:

INSLimitedAdmin being a script running on all clients needs to be distributed on all clients and therefore is installed inside the mission itself.

First unzip folder

Then place the following inside the init.sqf file of your mission

[] execVM "INSLimitedAdmin\initAH.sqf";

And place the INSLimitedAdmin folder inside the mission alongside the mission.sqm and other scripts.

Success!

Included In the download is a test mission so you can trial the features outside of your own mission, and feel free to improve my scripts to suit your personal needs. (In test mission Binoculars banned and stock Hunter banned)

Thanks!

Version: 1.2

Download:

https://mega.co.nz/#!nZ5C3SQT!DOXkNTCeooUE56JgqXn792JD34Y73CAeK_1k9tyvic4

Edited by jacob88
Update

Share this post


Link to post
Share on other sites

Great to see people working on antihack! I'm in class right now so haven't had the chance to look at it but am excited to see it. I used to run a dayz server and now dream of an arma world with sufficient hack protection w/o battleye.

Share this post


Link to post
Share on other sites
Great to see people working on antihack! I'm in class right now so haven't had the chance to look at it but am excited to see it. I used to run a dayz server and now dream of an arma world with sufficient hack protection w/o battleye.

I'm glad to see some interest however please remember INSLimitedAdmin has "Limited" Anti-Hack function, and being entirely script based is not meant as a replacement for Battleye.

However, INSLimitedAdmin is highly effective against Hackers using PBO addon based "Debug" menu's which is the main method of Hacking in ARMA 3.

Thanks, I look forward to more feedback on bugs and suggestions for new features.

Share this post


Link to post
Share on other sites

Check this addon out.

By following it's logic, you will be able to create a serverside addon version of this which will inject code into the clients remotely, automating the full process and negating the requirement for mission editing to a large extent

http://forums.bistudio.com/showthread.php?152393-zeu_ServerSkill-(Serverside-AI-skill-setting-addon-with-userconfig-configuration)

Share this post


Link to post
Share on other sites
Check this addon out.

By following it's logic, you will be able to create a serverside addon version of this which will inject code into the clients remotely, automating the full process and negating the requirement for mission editing to a large extent

http://forums.bistudio.com/showthread.php?152393-zeu_ServerSkill-(Serverside-AI-skill-setting-addon-with-userconfig-configuration)

Thanks for the hint, looks promising I will look into it.

Share this post


Link to post
Share on other sites

I had an issue with btc revive and banned weapon.

In fact i suppose that it's because the array is not empty but with "".

So each time a guy is killed, the weapon use is "" because we reset the loadout.

I'm still checking and testing.

Share this post


Link to post
Share on other sites

im having a issue with the Anti-Hacking Script it not letting the server load up for some reason and detecting every weapon and player with a hack weapon

Share this post


Link to post
Share on other sites

ok this is what i've done.

it looks like (currentweapon player)need a small sleep.

So to check if it could be the issue, instead of using "" in the bannedweapon array, i used "Nothing".

And we can play.

i don't wait for script done with the client because if i wait for it, the mission don't start.

execVM "INSLimitedAdmin\initAH.sqf";

instead of

_h = [] execVM "INSLimitedAdmin\initAH.sqf";

waitUntil{scriptDone _h};

Edited by Mariodu62

Share this post


Link to post
Share on other sites
ok this is what i've done.

it looks like (currentweapon player)need a small sleep.

So to check if it could be the issue, instead of using "" in the bannedweapon array, i used "Nothing".

And we can play.

i don't wait for script done with the client because if i wait for it, the mission don't start.

execVM "INSLimitedAdmin\initAH.sqf";

instead of

_h = [] execVM "INSLimitedAdmin\initAH.sqf";

waitUntil{scriptDone _h};

Hi as a temporary fix I would suggest that for all arrays = [""] you change to = [] I believe this will solve the issue.

I will be releasing a fix for this myself once I have finished porting the scripts into a PBO serverside file.

Share this post


Link to post
Share on other sites

Hi,

I have try with =[]; before and it still bugging.

that's why i put a word like nothing. Currentweapon need a sleep. The issue is from the wait until test with currentweapon. You can check in the categoryscripting.

Edited by Mariodu62

Share this post


Link to post
Share on other sites
Hi as a temporary fix I would suggest that for all arrays = [""] you change to = [] I believe this will solve the issue.

I will be releasing a fix for this myself once I have finished porting the scripts into a PBO serverside file.

yea it still not working something is not letting us in the game i tried all you said and no good

Share this post


Link to post
Share on other sites

ok this bug is easy to reproduce.

remove all item. everything...

Go to swim and get out water.

Share this post


Link to post
Share on other sites
ok this bug is easy to reproduce.

remove all item. everything...

Go to swim and get out water.

An update has now been released, issues most likely resolved.

Share this post


Link to post
Share on other sites

I tried without any items and weapons.

now i'm ban for speedhack. I suppose that 21 is too low when you are without weapon.

and there is an error in expression after ...

2013/05/31, 7:48:03 "INSLimitedAdmin: =TB=Mariodu62 Speed Hacked As Unit UID:76561198033236199"

2013/05/31, 7:48:03 Error in expression <>

2013/05/31, 7:48:03 Error position: <>

2013/05/31, 7:48:03 Error Local variable in global space

2013/05/31, 7:48:03 Error in expression <>

2013/05/31, 7:48:03 Error position: <>

2013/05/31, 7:48:03 Error Local variable in global space

2013/05/31, 7:48:03 "INSLimitedAdmin: =TB=Mariodu62 Was Hack-Locked By INSLimitedAdmin UID:76561198033236199"

2013/05/31, 7:48:03 Error in expression <>

test have been done on dedicated server.

you can use player == vehicle player to test if the player is in vehicle or not.

player == vehicle player (player is on foot)

player != vehicle player (player is in vehicle)

Edited by Mariodu62
test

Share this post


Link to post
Share on other sites
I tried without any items and weapons.

now i'm ban for speedhack. I suppose that 21 is too low when you are without weapon.

and there is an error in expression after ...

2013/05/31, 7:48:03 "INSLimitedAdmin: =TB=Mariodu62 Speed Hacked As Unit UID:76561198033236199"

2013/05/31, 7:48:03 Error in expression <>

2013/05/31, 7:48:03 Error position: <>

2013/05/31, 7:48:03 Error Local variable in global space

2013/05/31, 7:48:03 Error in expression <>

2013/05/31, 7:48:03 Error position: <>

2013/05/31, 7:48:03 Error Local variable in global space

2013/05/31, 7:48:03 "INSLimitedAdmin: =TB=Mariodu62 Was Hack-Locked By INSLimitedAdmin UID:76561198033236199"

2013/05/31, 7:48:03 Error in expression <>

test have been done on dedicated server.

you can use player == vehicle player to test if the player is in vehicle or not.

player == vehicle player (player is on foot)

player != vehicle player (player is in vehicle)

Calling "vehicle player" in ARMA 3 will return the class of the player controlled unit even if command is executed while a player is inside a vehicle.

Until the next update I suggest temporarily solving the issue by setting speed-hack detection in the settings file to false.

You are right, "that 21 is too low when you are without weapon" my testing indicated that no unit could on it's own could exceed a speed of 21.

However, I failed to test a situation where a unit had no weapon and when I did, I found it ran slightly faster.

Share this post


Link to post
Share on other sites

issue with this function. public variable can't be a private variable.

publicVariable ""_playermessage"";

Edited by Mariodu62

Share this post


Link to post
Share on other sites

You still have to modifiy that function.

_playermessage = "INSLimitedAdmin: " + _player + " Has Been Caught Hacking, Contact An Admin Now! UID:" + _uid;

by playermessage = "INSLimitedAdmin: " + _player + " Has Been Caught Hacking, Contact An Admin Now! UID:" + _uid;

or had

playermessage = _playermessage; before this line : publicVariable "playermessage";

Share this post


Link to post
Share on other sites

If i'm admin and want to use custom scripts how do i allow that without being banned i got a script in the init runs to another script if my uid is there it allows just me to run the custom script but ill still get banned, can you add a function of some kind that allows whitelisted admins to run scripts.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×