Jagex kills reflection apparently

[quote]I know, but 72k people online vs 10 million active accounts sounds a little low, doesn’t it?
[/quote]
Comparison (as of this post): JGO has 30,328 members.
We have 92 people present, of whom only 4 are members.
(How many of these are Bots! :persecutioncomplex: Oh no!)

72,000 to 10,000,000 vs. 4 to 30,328 seems comparable to me. Even vs. 92 to 30,328.

“But this is a forum, not a game. Apples & Oranges.” I guess. But I’ve spent a lot of time here, more than I have at RuneScape.

When I worked through the “free-loader” quests at RuneScape about a year ago, they would occasionally toss your avatar into some dungeon and force an answer to a simple puzzle, as a way to thin out the bots. It really was a weird thing, walking around seeing these folks chopping down trees for hours on end. I remember trying to strike up the occasional conversation and having no success…

I suppose I’m still on the member rolls. But it’s been over a year since I last checked in.

in a MMO its a problematic topic. Botfarmer which sell lvl 80 chars etc can destroy balancing/ingame mechanics.

e.g Eve Online has a quite boring profession: mining
a few people really like it since its relaxing (nice graphics, almost no user interaction, you can do something else “half AFK”, chat…). I would assume that most of the miners are bots (there are no official numbers), since its an open sandbox mining gets basically worthless. You spend n hours for almost no ingame gain since you can’t compete with bot armies. (-> botting kills an ingame activity in this example)

Bots would be a problem for almost any game

if your game has an economy, bots ruin it
if your game involves interaction with other players, it adds a lot of “players” that you can’t interact with, and your players have to deal with them
if your game is PvP in nature, it ruins peoples games, maybe the bot can’t beat the best players, but it sure as hell will ruin the noobs
if your game has highscores/achievements as one motivation for your players, then bots ruin it

Even with an onlive like system, you can make bots that scan the image, and send input

Ruben

If someone merely playing the game incessantly or well can ruin it then I think there’s a fundamental design issue. Things like mining are only possible because of the fundamental flaw of infinite resources, for example. Grinding too - designed simply to play to the darker side of human psychology in order to cause addiction. Lots of things like this. Design a game fundamentally accounting for this sort of stuff and the whole thing is a non-issue.

Cas :slight_smile:

You’re not going to have a playerbase for very long if there is not continously stuff to do, though.

Therein lies the problem of a game which rewards you for simply spending time playing. Consider Minecraft - a Minecraft bot would actually be quite a cool thing (depending on what it did!).

Cas :slight_smile:

In any game where there is a component of competition involved, or comparing skill, bots will be an issue
for almost any complexity of bot there will always be people who aren’t as skilled as it at playing the game

chess, go, starcraft, diablo, wow, if someone wants to he will always be able to create a bot, that can either beat people in those games, or at least assist a human player to give him an unfair advantage (aimbot, etc).

That is not a problem of game design per se, just a problem of computers being better at some stuff than we are.

Even in the minecraft example, I am sure there are people who will find it fun to grief others, and a bot that does that would help them with it.

This is so much worse than piracy for example, a pirate you can ignore him (downloaded game is not a lost sale), attempt to use other ways to monetize your game (free to play, ads, etc), but with bots, if you are unlucky enough to be targeted by those, you can’t ignore them, you really have to deal with them or find a way to keep them from ruining your other players time.

Rubén

In terms of making the client 100% secure, I 100% agree. But being 99% secure will deter more hackers then being 10% secure. It also makes it easier to reduce the variety in bots and other attacks, due to the added complexity needed to build them. In turn, this helps to bunch all illegal players into one single target.

I’ve built simple bots for some small web games (as a proof of concept), and in all cases it’s been because it only took me an afternoon to do it. I believe being able to do it is what motivates most bot writers to write their first bot, and if that takes weeks or months rather then hours or days, they will be far less likely to succeed.

The question of how they killed Reflection still hangs in the air… :yawn:

It was answered in the first reply.

A different thing, I’ve seen considered, is that they obfuscate the ID’s of objects, interfaces, and items, that were used to recognize stuff for the bots. You know… Mixing them all up, every update as part of the compilation.

Oh, I missed that. Is that a freely available obfuscator or something they wrote themselves?

Either way, it wouldn’t be that difficult to build.

[quote=“theagentd,post:32,topic:37420”]
It’s Jagex. Everything is in-house except javac. The obfuscator is a source-to-source compiler, which was harder to build than JL235 thinks - and if you think it would be easy, try reading the entire JLS.

Odd choice. You’d think this would be a rainy-afternoon task using bytecode transformation.

Indeed, or they could have just used an existing solution like ProGuard.

[quote=“pjt33,post:34,topic:37420”]

That’s strange because their string obfuscation is pretty much the same as Zelik klassmaster’s. Also I really doubt it’s source-to-source because most decompilers don’t work with rs at all.

And kappa, proguard only obfuscates names and occasionally optimizes bytecode and that is very easy to bypass and make recompilable.

[quote=“Waterwolf,post:37,topic:37420”]

Well, maybe they’ve ditched the old source-to-source compiler entirely rather than updating it, but in 2006 I had a desk next to the guy who maintained it and I answered the odd question about the generics spec (as I was in the vanguard messing around with generics and giving feedback to Sun before 1.5 came out). Although now that you mention klassmaster that does ring a bell, so maybe there was slightly more NIH stuff than just javac.

[quote=“pjt33,post:34,topic:37420”]

Having built a couple of parsers (most of which were source to source translators), and done a fair amount of bytecode hacking, I just don’t see how it could be that difficult.

If I were to build it…

  • I’d use javac to parse the source code into bytecode, and that’s the source all validated (no need to even open the Java Language Spec)
  • Next parse the bytecode, and for this I’d try using JavaAssist, which allows you to edit compiled class files.
  • If JavaAssist didn’t do what I needed, then I’d build a custom bytecode parser. Given that we are taking the bytecode straight from javac, we can presume it looks like a valid program, which makes this task 10 times easier.
  • Now it’s parsed into your AST, apply your obfuscations (JavaAssist may even help with this, it’s designed for editing Java code, but you could otherwise do it manually)
  • Next output the new source/bytecode; getting an AST to print this can take time (lots of nodes to write), but is very easy to build.
  • Finally you could have it re-parse the output to ensure it did output a valid program (as a sanity check). For this you could re-use javac, bytecode parsers or even spin up a JVM and manually load the classes.

Given that your just re-using existing technologies, the general structure including the parser/output stages could take maybe a week. It’ll be the obfuscation stage which would take time, which could take an extra month or two (to do it right!).

@Economy-discussers:
Runescape’s economy functions after demand and supply, right.
Obviously, with botters, there was a too large supply, causing prices to drop. However, now without bots,
supply is even bigger, because theres no more bots to process materials :cranky:
Take mining for example; before, botters would smith. They needed to buy the materials.

Now, there’s an overflow of materials, causing prices to drop even more dramatically on many resources.
Nobody wants to buy meterials though, because they’re expected to raise in price.