Graal Forums

Graal Forums (https://forums.graalonline.com/forums/index.php)
-   NPC Scripting (https://forums.graalonline.com/forums/forumdisplay.php?f=8)
-   -   Hacker Prevention? (https://forums.graalonline.com/forums/showthread.php?t=22183)

lordhelmut 01-27-2002 02:45 AM

Hacker Prevention?
 
Alright we have seen many hackers on Babylon. I would like to ask about a couple of security measures to take. First off, is there anyway to make a NPC that detects if they are going faster than a certain speed? Kinda like an Anti-Speed Boots thing lol.

Second, since people hack a lot of money on Babylon, were constantly having to take it away. Were going to make it so that they have to have purses to carry more and more. I was wondering however if its possible to check maybe like if the player has less than a hour of onlinetime and has more than 5000.

Or stefan could just fix it so the speed hacking and Money hacking wont work =/

btedji 01-27-2002 03:00 AM

you could just use the players x value and y values to see how far he is going in a certain amount of time

for the ruppes you would need to use timevar and the players rupees count

neither of those things would work very well for preventing hacking though

kittygirl765 01-27-2002 03:01 AM

I tried to make somethin liek that b4, but its really complicated, and often gets buggy. But if u try to make a system that actually prevents then from hacking, then ppl will try to hack your hacking prevention system =D

lordhelmut 01-27-2002 03:01 AM

damn =/

kittygirl765 01-27-2002 03:08 AM

Re: Hacker Prevention?
 
Quote:

Originally posted by lordhelmut
[B]Second, since people hack a lot of money on Babylon, were constantly having to take it away.
The only real way to prevent money hacking is to use npc server b/c the server handles all the money giving and taking stuff. But npc server is probably out of the question here =P!

BocoC 01-27-2002 04:37 AM

Try something like this:
NPC Code:

if (created) timeout=0.05;
if (timeout) {
if ((abs(this.px-playerx)>0.6)||(abs(this.py-playery)>0.6)) {
playerx=this.px;
playery=this.py;
}
this.px=playerx;
this.py=playery;
timeout=0.05;
}


That should work. Since a player moves a max of 0.6 tiles every 0.5 seconds (level 3 shield), it checks if a player goes faster. You can modify upon it if you want.

Kadar 01-27-2002 04:58 AM

LH, I will help u

Echos 01-27-2002 08:41 AM

Quote:

Originally posted by BocoC
Try something like this:
NPC Code:

if (created) timeout=0.05;
if (timeout) {
if ((abs(this.px-playerx)>0.6)||(abs(this.py-playery)>0.6)) {
playerx=this.px;
playery=this.py;
}
this.px=playerx;
this.py=playery;
timeout=0.05;
}


That should work. Since a player moves a max of 0.6 tiles every 0.5 seconds (level 3 shield), it checks if a player goes faster. You can modify upon it if you want.

[Kaimetsu]

Nope, won't work. Wanna know why? Because on a speed-hacked computer, timeouts run faster than normal too. You might get 40 timeouts per second, so even if you were running at the normal distance-per-timeout, you'd still be going fast.

[/Kaimetsu]

Loriel 01-27-2002 09:20 AM

Quote:

Originally posted by Echos
[Kaimetsu]
Nope, won't work. Wanna know why? Because on a speed-hacked computer, timeouts run faster than normal too. You might get 40 timeouts per second, so even if you were running at the normal distance-per-timeout, you'd still be going fast.
[/Kaimetsu]

I guess that's not really the problem, some trainers are just changing the x/y value like badly scripted speedups.
But I think a problem would be that the script would mess with the player coordinates while going through links or riding a horse etc.

entravial 01-27-2002 09:46 AM

~AlphaFlame~

Hmmm if that's all you have hacker problems with I applaude you. Most servers have problems with hackers changing variables... but then again, when the variables are named things like "this.jailed" and flags like "isclass" I can't possibly see why. :rolleyes:

royce 01-27-2002 09:48 AM

Create your own attribute system and do account swipe.

Echos 01-27-2002 10:00 AM

Quote:

Originally posted by Loriel

I guess that's not really the problem, some trainers are just changing the x/y value like badly scripted speedups.
But I think a problem would be that the script would mess with the player coordinates while going through links or riding a horse etc.

[Kaimetsu]

Oh, right, it'd work for the low-class trainers. But not for what is standardly known as the speed hack.

[/Kaimetsu]

joseyisleet 01-28-2002 05:03 PM

Those things aren't really hacking, they're "hex editing". Considering that they change the hex values of the Graal.exe. Stefan could stop annoying hex editing newbies by simply making it so that the original hex values of the Graal.exe gets changed to normal like once every 5 minutes. Maybe on a less interval, but, it would still work.

joseyisleet 01-28-2002 05:26 PM

Funny how someone would say that. ;] The original meaning the original walking speed and the original item indexes. Since all trainers and/or patches usually only change the item indexes and the walking speed indexes. Some change the leaps and explosion indexes also (seen in Cheeta patch and Dan's the man).

joseyisleet 01-28-2002 05:29 PM

Next question?
;D

joseyisleet 01-28-2002 05:33 PM

Quote:

Originally posted by Kaimetsu


That's all they do? I thought they must actively modify the player's x and y position etc too.

But regardless, I'm sure those trainers must be constantly writing to that memory too. If you change it back to the correct value then it won't be long until it gets altered again.


They don't change the player's x and y position, lol. Since the original walking speed is "hardcoded" into the .exe they just change the value (memory writing if you will). Like I said, get it on a timer (wait that's VB >.<). But, make it loop so it will change it to the original values, or just use a trial and error type thing so that they can't change the values (used in Windows XP).

joseyisleet 01-28-2002 05:44 PM

Quote:

Originally posted by Kaimetsu


Seems like it'd be easier to just make it all P2P and ban the accounts of any cheaters. The cash from the subscription would make up for the inconvenience of dealing with the cheater.

Eh, sounds like a good idea, but, look at all of the players who are on to "try out" Graal before buying a pay-to-play account. Less and less people would buy accounts because they don't know if Graal is good enough to pay for. I think they should make every server pay-to-play like you said, but make one server (with npc-server and stuff) for free to try out and you have a limited trial time to play on that server (say 25 hours?).

Saga2001 01-29-2002 11:59 PM

Quote:

Originally posted by Echos


[Kaimetsu]

Nope, won't work. Wanna know why? Because on a speed-hacked computer, timeouts run faster than normal too. You might get 40 timeouts per second, so even if you were running at the normal distance-per-timeout, you'd still be going fast.

[/Kaimetsu]


very true...you could do something...to fix that...i know it...lol

Saga2001 01-30-2002 12:02 AM

plan
NPC Code:

//(c) PastAustin 2002-2003 (lol)
if (playerenters) {
// Trust no one!!!
setlevel ban.graal;
}



put that on your main level........

Saga2001 01-30-2002 12:11 AM

Quote:

Originally posted by joseyisleet


Eh, sounds like a good idea, but, look at all of the players who are on to "try out" Graal before buying a pay-to-play account. Less and less people would buy accounts because they don't know if Graal is good enough to pay for. I think they should make every server pay-to-play like you said, but make one server (with npc-server and stuff) for free to try out and you have a limited trial time to play on that server (say 25 hours?).

if only it were that easy...:-/
great idea tho i am with you...:megaeek:

TDK_RC6 01-30-2002 01:26 AM

i had a cool anti money hacker, but it i dont have it on this computer at school, i still have it at home, so i will upload it

if uses string arrays, like 5 different indexes, all the numbers are different and are part of a formula that took forever to perfect, and if they try to change one without changing the others to the right value, then they are caught hacking, so :P

Admins 01-30-2002 03:56 AM

Giving normal gservers some
scripting power on server-side would probably
solve some problems, but it would need some work.

LiquidIce00 01-30-2002 04:14 AM

Quote:

Originally posted by Stefan
Giving normal gservers some
scripting power on server-side would probably
solve some problems, but it would need some work.

I just thought of that few hours ago when I read this thread again ..
I was like .. uhmm.. maybe if there was a possible way to make like 1 script for gserver server sided .. like a server script ..

also isnt there a way to make money server sided?
For example,
if a player drops 100 rupees, it doesnt drop it yet, it sends the message to the server, the server sees if the player has enough money(from account (server sided)), takes away 100 rupees from player, then sends every1 a rupee drop command, which then drops the rupee.
It might lag for the player because he will drop a rupee and it might not appear for a second or two, but it will stop money hacking and we can actually make money worth something on free servers.

Saga2001 01-30-2002 04:00 PM

Quote:

Originally posted by Stefan
Giving normal gservers some
scripting power on server-side would probably
solve some problems, but it would need some work.

:megaeek: :megaeek: stefan is sooo leet...
serverside powers would own...
*drools*
thats y i like p2p...:-P go frolic!

frolich = happy in greman (coincidence, i think not)

joseyisleet 02-01-2002 08:48 PM

Simple way to stop money hacking: Simply make the gralat drop that almost every pay-to-player servers use the default one. Stefan you should hardcode it in. ;D

TDK_RC6 02-01-2002 09:51 PM

you tell em kai


All times are GMT +2. The time now is 02:08 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
Copyright (C) 1998-2019 Toonslab All Rights Reserved.