3 ms·
The third-party addon story for Asheron's Call, a MMO which pre-dated WoW by around five years, was like a dark, gritty crapsack world version of that parallel
by sveiss 12y ago
The third-party addon story for Asheron's Call, a MMO which pre-dated WoW by around five years, was like a dark, gritty crapsack world version of that parallel universe.
There was no supported add-on mechanism; instead, a player-written framework called Decal hooked into the executable at runtime, and Decal exposed an API for plugin authors. I can't remember all the details, but I think did a mixture of intercepting function calls inside the client, injecting calls to client functions, parsing client memory to expose data to plugins, and either parsing the network stream directly to capture events or hooking into the client's packet parser.
Oh, and this wasn't a nice safe Lua or Ruby API. It was an unmanaged COM API, so you had all the headaches which come with dealing with reference counting, pointers, and all the rest.
Every month (and every interim patch), there would be a great whine and moan from the players until the memlocs file was updated, and all the plugins started working again. (Unless something more substantial in the client had changed, of course, requiring more work.)
It was a seriously impressive technical achievement by the people behind it. And looking back on it, rather scary...
- BryantD 12y agoAsheron's Call is going f2p and maintenance mode in a month or two, btw. Still sort of cranking along. Go Turbine!
- vehementi 12y agoGodzilla made me want to kill some Olthoi...
- voltagex_ 12y agoThe Minecraft modding scene is also this scary.
- rcxdude 12y agoMinecraft has the advantage of (relatively) easy decompiling and recompiling of java. There is still the large amount of breakage on each new release, however.