Find call to `SetWindowsHookEx` -> Find dword (`HHOOK`) it returns -> Inject module that calls `UnhookWindowsHookEx((HHOOK)(module_base + hhook_rva));` -> profit.
Jagex has done some interesting things, but without fail, there is a blunder accompanying each.
In reality since the new CEO, they have been much more strict with antibotting and they have virtually disappeared from the game. It’s been an incredible 6 months without major botfarms in the game. Botting subreddits have been on suicide watch since.
Which was added because people were already doing that on the normal crabs, but fighting over the spots. So they made a crab that any number of people can fight at the same time (combat is ordinarily one to one), and it always lives for ten minutes no matter how many people are fighting it or how hard.
Obviously we only get the details JMods are willing to give away but some of their techniques can be seen in various reddit Smackdown posts like this one from six days ago - https://preview.redd.it/prx0s0qp2hlh1.png?width=355&format=p...
I also would argue it was a more complex game.
I used to operate one of the more popular player run shards, after the peak of the mainstream game, and even that feels like a distant memory.
Edit: latest notes https://uo.com/wiki/ultima-online-wiki/publish-notes/publish...
Most of the knowledge came from my refactor of the #317 RS2 client (https://github.com/Jameskmonger/317refactor) though I looked at some other decompiled versions while writing this blog post.
How come the client sends waypoints rather than just the destination? Naively it seems like sending less data would be better. Is the pathfinding so expensive that you'd want to avoid doing it on the server? I suppose it works out as long as it's cheap to validate/correct the client's path?
https://en.wikipedia.org/wiki/History_of_massively_multiplay...
i think the author would find ultima online emulators interesting
Sphera is even older.
MMORPGs are super old.
I never fell in with the cult and I am glad I didn't. The Dofus cult in the next few years was small and hilarious and luckily the economics of that game made it a bit less fun beyond a certain level, like the real world, so you could get out before you lost your mind.
I guess one thing antisocial people lack is self-awareness.
It's also possible they could have made it work, and it would have been a technical win, but just didn't need to since they had an MVP.
//TODO: good enough, fix later
In the actual source code
People spam click, so it's cheaper to compute it once and pass it around.
One of these was showing NPC pathing in the form of dots with lines in between. At any time the WoW client would know next 5 or so waypoints of a mob that was idle patrolling.
I guess it’s more efficient to send a batch of waypoints occasionally than one at a time more regularly.
It was a interesting watching boss fights where the pathing would update quite regularly, especially if the tank had just died and it was systematically clobbering everyone else.
MapleStory was also quite popular back then for similar reasons.
2004 runescape, now "old school runescape", which is actually successor 2001 Runescape "Classic", were both playable in a browser.
and my (parent's) PC couldn't even install, let alone run WoW. despite me trying with all my might.
so I'm sure I wasn't alone.
it was absolutely magical to me.
Meanwhile, WoW had to be installed, took a fairly large amount of space (I remember 14gb on my 28gb HDD), and Ironforge ran like garbage on my PC.
What about loading in some rare items in Diablo 1 on your local save and them importing them into Battlnet? especially before Diablo 2, 1.10?
How about Early Minecraft - we’re talking Beta days. Did you test out those X-Ray block packs that helped you see diamonds?
Cheating literally only matters when there’s a PvP or leaderboard or whatever glory-theft that comes from it. It’s only really shamed on when it hurts other people’s gameplay experience - like screwing with a leaderboard at the “low pain” end and ruining a multiplayer experience in the middle end. For everything else, it’s an experience modifier or a difficulty slider for your own private game experience. Lots of games nowadays add in those difficulty sliders directly or add sandbox modes where there used to be “cheating” that stuff in.
MMOs, especially runescape are inherently multiplayer experiences and cheating in them hurts the game community. Your examples are all from games that are single player (though with multiplayer options, Diablo and Minecraft in particular)
I highly doubt I'd have ever given a damn about programming if I hadn't tried my hand at Scar scripting as a kid for both RuneScape and Neopets. Simultaneously, I also scammed people and ripped off friends in various games, but that the two activities were mutually exclusive and I was just an asshole. I'm glad I got to explore the worst part of myself in a sandboxed environment rather than taking it to any serious level.