You are an unregistered user, you can register here
Navigation

Information

Site

Donations
If you wish to make a donation you can by clicking the image below.


 
Go Back   The Unreal Admins Page > Forums > Unreal Admins > Unreal Tournament > UT Server - General Chat

Reply
Thread Tools Display Modes
  #41  
Unread 11th April, 2009, 02:04 AM
Azura's Avatar
Azura Azura is offline
Holy Shit!!
 
Join Date: Apr 2003
Posts: 4,029
Default

Thank you for the results. Keep them coming.

It looks like a handful of players, maybe those that have acceleration on, have unusually high values. This will be taken into account with the next release.

Quote:
Originally Posted by minime View Post
I have tested this on my server, it kicks innocent players from the game if they move their mouses to fast.
Download links have been removed. Please wait for the next version.
__________________
How to feck up a perfectly good game:
UT (1999) = UnbelievableGameSoCoolIMustHelpBringNewPlayers Tournament
UT (2008) = Unreal ThrustMyPrivatePartsInYourFaceBish

And that's probably why UTIII was a relative flop. New game, same sh*thead players ^^.

Last edited by Azura : 11th April, 2009 at 02:07 AM.
Reply With Quote
  #42  
Unread 3rd May, 2009, 04:50 PM
Azura's Avatar
Azura Azura is offline
Holy Shit!!
 
Join Date: Apr 2003
Posts: 4,029
Default

Ok, sorry to keep you waiting (especially Switzzz ) but it's the month of May and exams have taken top priority. If anyone feels like developping the project further, feel free to contact me and I will provide you with the latest source.
__________________
How to feck up a perfectly good game:
UT (1999) = UnbelievableGameSoCoolIMustHelpBringNewPlayers Tournament
UT (2008) = Unreal ThrustMyPrivatePartsInYourFaceBish

And that's probably why UTIII was a relative flop. New game, same sh*thead players ^^.
Reply With Quote
  #43  
Unread 3rd May, 2009, 05:57 PM
rork's Avatar
rork rork is offline
Godlike
 
Join Date: Nov 2007
Posts: 265
Default

Nice work, I'm glad I can at least help gathering data and hope I can test it soon too.

More values, this one is when I tried to turn as fast as possible:
[FastTurnTry]
maxDeltaYaw=7600
maxDeltaPitch=4592
bNormalize=True
MouseSensitivity=1.640000
bUseTimer=False
timerInterval=0.100000
axisXSpeed=6.000000
axisYSpeed=6.000000

But when I played DM-Morbias][ I noticed something strange. When I was hit by a rocket or the redeemer the Yaw was very high:
[DirectRocketHit]
maxDeltaYaw=186281
maxDeltaPitch=3133
bNormalize=True
MouseSensitivity=1.640000
bUseTimer=False
timerInterval=0.100000
axisXSpeed=6.000000
axisYSpeed=6.000000
Reply With Quote
  #44  
Unread 3rd May, 2009, 10:15 PM
Azura's Avatar
Azura Azura is offline
Holy Shit!!
 
Join Date: Apr 2003
Posts: 4,029
Default

Thanks for bringing this up rork. The possibility that a projectile hit could influence the turn speed had been considered but without in-depth testing this wasn't certain.

Things that suddenly change the viewrotation like a player getting fragged or going through a portal have been taken into account. Perhaps there is a way to ignore or filter the change by detecting a sudden change in momentum.
__________________
How to feck up a perfectly good game:
UT (1999) = UnbelievableGameSoCoolIMustHelpBringNewPlayers Tournament
UT (2008) = Unreal ThrustMyPrivatePartsInYourFaceBish

And that's probably why UTIII was a relative flop. New game, same sh*thead players ^^.
Reply With Quote
  #45  
Unread 28th May, 2009, 02:12 PM
killereye killereye is offline
Dominating
 
Join Date: Sep 2006
Posts: 106
Default

This looks familiar You use a different approach than I did, but there are many similiarities. I've worked out a _very_ simple proof-of-concept to detect sweepshots serverside a while back, but basicly didn't continue the work cause these kind of detection methods won't be used at all by clanbase a-c and poor cooperation. Reasons were that they don't want to watch demo's biased and they don't believe it can give 100% conclusive catches. I certainly agree on the last reason, considering you're checking serverside (which might be different to the game state clientside) + there can always be lucky shots. You're detecting symptoms of cheats in the end, not the actual cheat.

My suggestions for you are these:
* Timestamp dodgy moments as usefull output (think you already do this?)
* Like you pointed out yourself, keep it as simple as possible. It can be done though without lagging the server too much, there used to be anti-cheat serverside that already checked players behaviour (like clicking fire inhumanly much)
* To detect sweepshots: The basic idea is to compare the viewrotation before and after the shot. I used a very basic approach by keeping an array of the previous viewrotations of the last 5 ticks, and when a player fires on tick n, compare the viewrotation difference on pre-shot (n-1,n) and post-shot (n,n+1). If it's a sweep, both values should be alike.

The idea is that sweepshots, frags middle in a mousesweep, are mainly caused by triggers. It's pointed out by a good vid recently here and explained further here.

I haven't been able to test this approach, although I saw a significant difference between my normal aiming (pre-shot >> post-shot) and me trying to mimick sweepshots (pre-shot ~~ post-shot). It would be best to test this with a triggerbot though, gathering actual information about sweepshots. I haven't done this cause I don't want to burn my fingers and I don't have a seperate dev box available for this.

I think it could prove out to be a valuable tool for demowatching or flagging suspecious players; it's easy to look back the shots when you got timestamps. If you do it to catch cheaters in official clanbase games I wouldn't recommend it though, it's very unlikely it will ever be used or even allowed. Also, you might want to keep your detection routines more quiet tbh if you find the holy grail of serverside a-c. I guess it's really easy for cheat devs to counter your routines (ie. by limiting the turn speed or preventing sweepshots themselves).

Here's the rough code for that proof-of-concept.

The code executed every interval (tick in my PoC):
Code:
// Save viewrotations
AddViewRotation(Target.ViewRotation);

// Check for sweepshots
if(CheckFireViewRotation) {
    CheckFireViewRotation = false;
    
    DetectAndLogSweepshot();
}

// Toggle boolean to check for a sweepshot the next interval
if (Target.KillCount != PrevKillCount) {
    //Analyse the kill next tick if it's a sweepshot
    CheckFireViewRotation = true;
}
The actual functions:
Code:
// Save the last three ViewRotation's, which describes where to player is looking at
function AddViewRotation(rotator NewViewRotation) {
    PrevViewRotations[0] = PrevViewRotations[1];
    PrevViewRotations[1] = PrevViewRotations[2];
    PrevViewRotations[2] = NewViewRotation;
}

/* Try to detect a sweepshot
   A possible implementation would be to check if PreFire and PostFire movement
   is relativly fast, but alike and fluent, like a normal 'sweep' with the mouse. */

function DetectAndLogSweepshot() {
    local string sweepShotAnalysis;
    local int PreFireHorizontalDistance, PostFireHorizontalDistance;
    local int PreFireVerticalDistance, PostFireVerticalDistance;

    PreFireHorizontalDistance = PrevViewRotations[0].Pitch - PrevViewRotations[1].Pitch;
    PostFireHorizontalDistance = PrevViewRotations[1].Pitch - PrevViewRotations[2].Pitch;

    PreFireVerticalDistance = PrevViewRotations[0].Yaw - PrevViewRotations[1].Yaw;
    PostFireVerticalDistance = PrevViewRotations[1].Yaw - PrevViewRotations[2].Yaw;

    // Log all for now, no analysis: This might lag the server, but we need the data to see if a 'sweepshot' pattern can be found.
    Log(Level.TimeSeconds$" >> PreHorizontal: "$PreFireHorizontalDistance$" PostHorizontal: "$PostFireHorizontalDistance$" PreVertical: "$PreFireVerticalDistance$" PostVertical: "$PostFireVerticalDistance);
}

Last edited by killereye : 28th May, 2009 at 02:35 PM.
Reply With Quote
  #46  
Unread 28th May, 2009, 05:12 PM
Azura's Avatar
Azura Azura is offline
Holy Shit!!
 
Join Date: Apr 2003
Posts: 4,029
Default

Quote:
Originally Posted by killereye View Post
Reasons were that they don't want to watch demo's biased and they don't believe it can give 100% conclusive catches. I certainly agree on the last reason, considering you're checking serverside (which might be different to the game state clientside) + there can always be lucky shots. You're detecting symptoms of cheats in the end, not the actual cheat.
There's nothing stopping them watching a demo first and then looking at the data :p .

Also, the AC team should get used to the idea that it will one day be impossible to detect native cheats directly. On the other hand, collecting sufficient data and using statistics could help pinpoint the moments where you should keep an eye open while watching a demo.

Quote:
* To detect sweepshots: The basic idea is to compare the viewrotation before and after the shot. I used a very basic approach by keeping an array of the previous viewrotations of the last 5 ticks, and when a player fires on tick n, compare the viewrotation difference on pre-shot (n-1,n) and post-shot (n,n+1). If it's a sweep, both values should be alike.
That's a nice idea. There's another one floating around that would in with it quite nicely with respect to picking out triggerbot behaviour.

Quote:
Also, you might want to keep your detection routines more quiet tbh if you find the holy grail of serverside a-c. I guess it's really easy for cheat devs to counter your routines (ie. by limiting the turn speed or preventing sweepshots themselves).
It might be too late for that. This topic was posted with the hope that others might take the idea up and there's still an allergic reaction to anything that might remotely give out false positives from the AC community. I'm not really concerned with clan games anyway and was more interested in providing something to the admins of public servers. Whether the authors of cheats decide to adapt is up to them but, in the end, an approach like this will limit them so much that they won't be able to do a lot more than a human player.

Code:
function DetectAndLogSweepshot() {
    local string sweepShotAnalysis;
    local int PreFireHorizontalDistance, PostFireHorizontalDistance;
    local int PreFireVerticalDistance, PostFireVerticalDistance;

    PreFireHorizontalDistance = PrevViewRotations[0].Pitch - PrevViewRotations[1].Pitch;
    PostFireHorizontalDistance = PrevViewRotations[1].Pitch - PrevViewRotations[2].Pitch;

    PreFireVerticalDistance = PrevViewRotations[0].Yaw - PrevViewRotations[1].Yaw;
    PostFireVerticalDistance = PrevViewRotations[1].Yaw - PrevViewRotations[2].Yaw;
Feel free to use the functions that calculate the difference in Yaw and Pitch. There's a few adjustments necessary as a player is limited in the way they move.

Also, it's a good idea to access the player viewrotation directly as casting to a rotator will lose some information (yaw and pitch values are clipped).

Code:
 // Log all for now, no analysis: This might lag the server, but we need the data to see if a 'sweepshot' pattern can be found.
    Log(Level.TimeSeconds$" >> PreHorizontal: "$PreFireHorizontalDistance$" PostHorizontal: "$PostFireHorizontalDistance$" PreVertical: "$PreFireVerticalDistance$" PostVertical: "$PostFireVerticalDistance);
}
An alternative to using logs (slow I/O operation) is to use an Actor or Object to store values. Logs can then either be spaced out or dumped in one go depending on what's possible in terms of memory on the average server.
__________________
How to feck up a perfectly good game:
UT (1999) = UnbelievableGameSoCoolIMustHelpBringNewPlayers Tournament
UT (2008) = Unreal ThrustMyPrivatePartsInYourFaceBish

And that's probably why UTIII was a relative flop. New game, same sh*thead players ^^.

Last edited by Azura : 28th May, 2009 at 06:18 PM.
Reply With Quote
  #47  
Unread 29th May, 2009, 04:13 PM
killereye killereye is offline
Dominating
 
Join Date: Sep 2006
Posts: 106
Default

Guess it can be a nice tool for publics idd I'm not working on it anymore anyway, I was only interested in clanbase games since I don't play much at publics.

Good luck with the project, nice work!
Reply With Quote
  #48  
Unread 12th September, 2009, 06:56 AM
Switzz's Avatar
Switzz Switzz is offline
Rampage
 
Join Date: Mar 2005
Location: Denmark CPH
Posts: 87
Default

So Azura, whats up........ didi the project get stuck somewhere between girlfriends and work?

Not a blame, any effort vs AC is admireble, just wanna know and as i said i can test on a grander scale if its ready for it
Reply With Quote
  #49  
Unread 12th September, 2009, 05:19 PM
SoNY_scarface SoNY_scarface is offline
Holy Shit!!
 
Join Date: Mar 2007
Posts: 1,726
Default

I will help testing too
__________________




Reply With Quote
  #50  
Unread 9th October, 2009, 12:38 PM
medor medor is offline
Holy Shit!!
 
Join Date: Nov 2006
Location: France
Posts: 1,846
Default

Can we have a final version ?
Reply With Quote
  #51  
Unread 15th October, 2009, 12:40 AM
Azura's Avatar
Azura Azura is offline
Holy Shit!!
 
Join Date: Apr 2003
Posts: 4,029
Default

Hi, just a quick message to say that I'm going to get working on a functional barebones version that can serve as a foundation for gradual improvements. In the meantime, have any of you touched unrealscript or know someone that has ? It'd be nice to get a few people involved so all of this doesn't go to waste
__________________
How to feck up a perfectly good game:
UT (1999) = UnbelievableGameSoCoolIMustHelpBringNewPlayers Tournament
UT (2008) = Unreal ThrustMyPrivatePartsInYourFaceBish

And that's probably why UTIII was a relative flop. New game, same sh*thead players ^^.

Last edited by Azura : 15th October, 2009 at 12:45 AM.
Reply With Quote
  #52  
Unread 15th October, 2009, 08:18 AM
medor medor is offline
Holy Shit!!
 
Join Date: Nov 2006
Location: France
Posts: 1,846
Default

Reply With Quote
  #53  
Unread 15th October, 2009, 07:00 PM
SC]-[LO]\[G_{HoF}'s Avatar
SC]-[LO]\[G_{HoF} SC]-[LO]\[G_{HoF} is offline
Godlike
 
Join Date: Aug 2004
Location: Portland,Or.
Posts: 326
Default

Quote:
Originally Posted by Azura View Post
Hi, just a quick message to say that I'm going to get working on a functional barebones version that can serve as a foundation for gradual improvements. In the meantime, have any of you touched unrealscript or know someone that has ? It'd be nice to get a few people involved so all of this doesn't go to waste
If your looking for helpful active unrealscript writers register at www.hofgamingclan.com cause I have plenty members who have experience in this area. Unfortunately not many of them come to this forum.
__________________
{HoF} Clan Founder & Leader www.hofgamingclan.com



Reply With Quote
  #54  
Unread 15th October, 2009, 08:20 PM
SoNY_scarface SoNY_scarface is offline
Holy Shit!!
 
Join Date: Mar 2007
Posts: 1,726
Default

I think it would be better if you directed them here? It is a more centralised admin place without clan dramas etc
__________________




Reply With Quote
  #55  
Unread 15th October, 2009, 10:41 PM
SC]-[LO]\[G_{HoF}'s Avatar
SC]-[LO]\[G_{HoF} SC]-[LO]\[G_{HoF} is offline
Godlike
 
Join Date: Aug 2004
Location: Portland,Or.
Posts: 326
Default

You might be surprised but there is no clan drama in my community but I'll make sure I direct them here for future reference.
__________________
{HoF} Clan Founder & Leader www.hofgamingclan.com



Reply With Quote
  #56  
Unread 17th October, 2009, 07:39 AM
~V~ ~V~ is offline
Holy Shit!!
 
Join Date: Sep 2004
Posts: 866
Default

Do you still need help with coding? I am available if so.
__________________
http://www.unrealize.co.uk for XConsole, ServerLog, StealthAdmin and other Unreal Tournament mods.

-= F R A G G A L O N I A... R E S U R R E C T I O N! O L D... S K O O L... S N I P E R =- unreal://82.40.94.2

Old skool sniping. Just you, your weapon, and gravity.
Reply With Quote
  #57  
Unread 17th October, 2009, 06:02 PM
SC]-[LO]\[G_{HoF}'s Avatar
SC]-[LO]\[G_{HoF} SC]-[LO]\[G_{HoF} is offline
Godlike
 
Join Date: Aug 2004
Location: Portland,Or.
Posts: 326
Default

Quote:
Originally Posted by ~V~ View Post
Do you still need help with coding? I am available if so.
I have been letting gopostal tinker with a few of the servers since we've been having multiple server crashes which we think are due to foul play.

I always need help and if you have time I would be glad to have you aboard. Just register at www.hofgaminclan.com.

P.S. Even AnthraX has been helping us out so I made his own section on my message board for posting anti-cheat development and don't mind opening new sections for those with talent who like to see there work be of use.
__________________
{HoF} Clan Founder & Leader www.hofgamingclan.com



Reply With Quote
  #58  
Unread 25th October, 2009, 01:09 PM
Azura's Avatar
Azura Azura is offline
Holy Shit!!
 
Join Date: Apr 2003
Posts: 4,029
Default

SC]-[LO]\[G_{HoF}, I will register today. Do you have a dedicated forum ?

Edit: The confirmation code doesn't appear properly when attempting to register. I have sent an e-mail to the admin address.
__________________
How to feck up a perfectly good game:
UT (1999) = UnbelievableGameSoCoolIMustHelpBringNewPlayers Tournament
UT (2008) = Unreal ThrustMyPrivatePartsInYourFaceBish

And that's probably why UTIII was a relative flop. New game, same sh*thead players ^^.

Last edited by Azura : 25th October, 2009 at 01:16 PM.
Reply With Quote
  #59  
Unread 25th October, 2009, 05:14 PM
~V~ ~V~ is offline
Holy Shit!!
 
Join Date: Sep 2004
Posts: 866
Default

Same thing. It just prints 'code code code code'
__________________
http://www.unrealize.co.uk for XConsole, ServerLog, StealthAdmin and other Unreal Tournament mods.

-= F R A G G A L O N I A... R E S U R R E C T I O N! O L D... S K O O L... S N I P E R =- unreal://82.40.94.2

Old skool sniping. Just you, your weapon, and gravity.

Last edited by ~V~ : 25th October, 2009 at 05:17 PM.
Reply With Quote
  #60  
Unread 27th October, 2009, 06:55 PM
SC]-[LO]\[G_{HoF}'s Avatar
SC]-[LO]\[G_{HoF} SC]-[LO]\[G_{HoF} is offline
Godlike
 
Join Date: Aug 2004
Location: Portland,Or.
Posts: 326
Default

Quote:
Originally Posted by Azura View Post
SC]-[LO]\[G_{HoF}, I will register today. Do you have a dedicated forum ?

Edit: The confirmation code doesn't appear properly when attempting to register. I have sent an e-mail to the admin address.
Sorry we've been getting some strange email accounts lately and my site coder is gonna be adding the confirmation letters so to eliminate spam bots. Please send me a PM with your email address and I'll approve you Azura upon re-registering. If you have already been approved then never mind my re-register reply.
__________________
{HoF} Clan Founder & Leader www.hofgamingclan.com




Last edited by SC]-[LO]\[G_{HoF} : 27th October, 2009 at 06:58 PM.
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT +1. The time now is 03:53 AM.


 

All pages are copyright The Unreal Admins Page.
You may not copy any pages without our express permission.