RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Speed Hack Detection Help..

mdavis93

Sorceror
To broadcast to certain AccessLevel mobile, the code is:

Code:
Located in Server.Scripts.Commands under CommandHandlers
-----

BroadcastMessage( AccessLevel.Counselor, e.Mobile.SpeechHue, String.Format( "[{0}] {1}", e.Mobile.Name, e.ArgString ) );
 
P

php-junkie

Guest
Quantos said:
Since there are no speedhacks, what are you talking about? Just disable the broadcast.

The only thing it is detecting is people with very fast internet connections.
A logical approach to it would be to extend onto it with a collection and a couple of timers.

First you would have to do some local testing on a RunUO server to get a basis on the amount of detections are reported to the console. Then find some speed hacking programs and use them locally. Turn their control slider up one notch st see how many warnings are sent to the console. Use this number as your basis to determine if a player is speed hacking.

Now create a timer that ticks every 50 milliseconds with a static Hashtable property. Each time a new fast walk is detected add the mobile to the Hashtable if the mobile isn't already contained in it and a new ArrayList as the value. Add a timer to the ArrayList that removes it's self from the ArrayList for that mobile after about a second. Do this for every fast walk that is detected. If the ArrayList Count exceeds number you determined early in the above paragraph within the 50 millisecond tick send a alert to every online staff (GM and higher) and dump the Mobile's name and serial to a log.
 
P

php-junkie

Guest
Actually it would probably be better to write a new object containing the ArrayList and a bool (Reported) and adding it as the value in the Hashtable because if the ArrayList count does exceed the the determined value online staff would probably get spammed with the message and so would the log.
 
P

php-junkie

Guest
If you haven't noticed I'm sitting here dwelling on this.

Anyway, if you have a large player base I can see the collection for this piling up rather quickly and the dumped timers taking up resources. It would probably be best to recycle the dumped timers using a Queue.
 

AHappyAdmin

Wanderer
Quantos said:
Again, I am highly doubtful of this. If there had ever been a working speed hack there would have been more posts regarding this in the past. As it is there have been a total of 5 posts (WOW, count them), including this one.

Your saying theres no speed hacks? is so read below if not nm it


Your a fucking retard get ur fat head out ur gay ass there is speed hacks are you retarded?? fuckin hell

http://tgh.phazm.net/files.html

theres the site go fuckin test it you sack of shit i looked at like 5 posted and ive stopped reading...
 
P

php-junkie

Guest
AHappyAdmin said:
Your saying theres no speed hacks? is so read below if not nm it


Your a fucking retard get ur fat head out ur gay ass there is speed hacks are you retarded?? fuckin hell

http://tgh.phazm.net/files.html

theres the site go fuckin test it you sack of shit i looked at like 5 posted and ive stopped reading...
Tavu's Velocity is broke with the latest client.
 

habitat85

Wanderer
I can speed hack fine with new client. I dont do it often just because my pc is old and im affraid of burning it up lol but if you want proof I'll log on your server and race you across green acres, and you can watch and I skip off your screen within a 2 screen space and wait for you at the end for 3 minutes :)
 
P

php-junkie

Guest
Using AOS client or UOSE client? I'm using the AOS client 4.0.7a.
 

A_Li_N

Knight
AHappyAdmin said:
is so read below if not nm it
AHappyAdmin said:
Your a fucking retard get ur fat head out ur gay ass there is speed hacks are you retarded?? fuckin hell
AHappyAdmin said:
theres the site go fuckin test it you sack of shit i looked at like 5 posted and ive stopped reading...

Happy indeed...

First off I'd like to say this...if you're going to bash someone for being a

AHappyAdmin said:
fucking retard

please take the time to get you punctuation correct.

Second, if you're going to be bitching people out on here for offering their opinion, then don't expect help from them in the future. I for one will not be helping you on any of your post from here on out.
 

sirens song

Wanderer
Tavu moved programs from uo.gotlag.net or whatever it was. Wow I havnt seen that stuff in ages. It seems his new host for his hacking projects got well, hacked. (oh the irony) http://www.phazm.net/ also I noticed his forum was outdated and assume thats how they got his database username and password.

[edit] i must have been under a rock the last month because apparently this net worm was a hot topic the past while.

-Jamie
 

Kamron

Knight
Even with rubberbanding, speedhacks still get through. The throttling doesn't take effect until AFTER they have gone fast, which is kind of useless.... I have tested this, and even with rubberbanding on my local server, someone else can go faster than me with a speedhack.
 

Dracolique

Sorceror
I guess the real question is: If players can speedhack using client/packet modifying programs, the why the hell cant I modify the walk/run speeds of players for my race modifications, when I have access to the server source code? Can you tell Im bitter?
 

RoninGT

Sorceror
There are a few speed hacks out there.. Not sure if they work however with RunO one of my staff has been testing one called Adrenaline. However it seems to just speed up the client for that player cause when he runs next to me he does not move any faster and on his screen ( He lives close by ) it seems that all npcs and players run faster... Not sure if this helps you guys any but thought i would throw it out there

Ronin
 

Quantos

Lord
AHappyAdmin said:
Your saying theres no speed hacks? is so read below if not nm it


Your a fucking retard get ur fat head out ur gay ass there is speed hacks are you retarded?? fuckin hell

http://tgh.phazm.net/files.html

theres the site go fuckin test it you sack of shit i looked at like 5 posted and ive stopped reading...

I don't appreciate the type of language that you are directing at me. I would tell you to read the rules, but I'm afraid that someone with your limited skill with the English language would find nothing but frustration in even figuring out what rules are. Your post has been reported.

BTW: When you actually know what you are talking about, and have the ability to convey that concept with any rational form of discourse, then the rest of the community may afford you with some measure of respect. In the mean time I hope that you enjoy living in a world that is devoid of any form of support.

Now, if you would be so kind as to crawl off into the corner and die?
 

Ingvarr

Wanderer
Try this. This will make throttling activate almost immediately after suspicious packet, so speed boost achieved with speedhack will be so low that it will be totally negligible.
Can raise CPU utilization somewhat though.

Code:
		#region Fastwalk Prevention
		private static bool FastwalkPrevention = true; // Is fastwalk prevention enabled?
		private static TimeSpan FastwalkThreshold = TimeSpan.FromSeconds( 0.095 );

		private DateTime m_NextMovementTime;

		public virtual bool UsesFastwalkPrevention{ get{ return ( AccessLevel < AccessLevel.GameMaster ); } }

		public virtual TimeSpan ComputeMovementSpeed( Direction dir )
		{
			if ( (dir & Direction.Mask) != (this.Direction & Direction.Mask) )
				return TimeSpan.Zero;

			bool running = ( (dir & Direction.Running) != 0 );

			bool onHorse = ( this.Mount != null );

			if ( onHorse )
				return ( running ? TimeSpan.FromSeconds( 0.1 ) : TimeSpan.FromSeconds( 0.2 ) ) - TimeSpan.FromSeconds( 0.005 );

			return ( running ? TimeSpan.FromSeconds( 0.2 ) : TimeSpan.FromSeconds( 0.4 ) ) - TimeSpan.FromSeconds( 0.005 );
		}

		public static bool MovementThrottle_Callback( NetState ns )
		{
			PlayerMobile pm = ns.Mobile as PlayerMobile;

			if ( pm == null || !pm.UsesFastwalkPrevention )
				return true;

			if ( pm.m_NextMovementTime == DateTime.MinValue )
			{
				// has not yet moved
				pm.m_NextMovementTime = DateTime.Now;
				return true;
			}

			TimeSpan ts = pm.m_NextMovementTime - DateTime.Now;

			if ( ts < TimeSpan.Zero )
			{
				// been a while since we've last moved
				pm.m_NextMovementTime = DateTime.Now;
				return true;
			}

			return ( ts < FastwalkThreshold );
		}
		#endregion
 
Top