I would post screenshots but I haven't done anything cool with it yet, just finishing the boring stuff. Oh, and it's a console program.
[B]How does it work[/B]:
[LIST=1]
[*]This program connects to a minecraft server, authenticates under the provided account (doesn't/shouldn't be your own), and handles all the boring network shenanigans
[*]Your scripts (that you've written in C# [I]not lua[/I], you can also use any CLR binary) get to do all the fun stuff, like moving the bot to player 31's position and building walls around them. Oh wait, that would be mingey. Forget you saw that, this should only be used for non-douche purposes. Like admin bots, or interserver chat connectors, autobuilding, server stats, whatever.
[/LIST]
[B]Example stuff that I may or may not have just made up:[/B]
You hook events like PlayerMove, Chat, BlockUpdate, etc the same way you do in normal c# (World.PlayerMove+=new PlayerMoveEventHandler...), and all that stuff is wrapped for you. All MC objects are fully wrapped, so you can feel free to modify player13.Position.x all you want until you realize you can only move the local player that way. Since it's c# scripting you can pretty much do whatever you want, access databases, make web requests, all that good stuff.
[B]What about that whole minging thing:[/B]
There will not be an auto reconnect-on-kick feature, or proxy settings, or easily runtime-changable login details, so if someone rolls into your server with this (there's no way to actually tell, but yeah) and starts a 16 bit nuclear holocaust you can just ip/ban them, and the skript kiddy on the other end (who's using someone elses' code anyways) will get frustrated and go whine on some forum about how their life 'sux', and consequently leave your server alone. As I was saying, without screwing with the minecraft protocol and no doubt crashing all the crappily written servers out there, there is no way you can outright ban all of these clients.
As I was saying, without screwing with the minecraft protocol and no doubt crashing all the crappily written servers out there, there is no way you can outright ban all of these clients.
[B]So when can I start downloading other people's scripts to claim as my own?[/B]
I don't know, once I get it done I guess.
why should i
Seems really cool. How much would be 'hookable'?
So have you actually done anything or is reversing the protocol and writing your own client a total pipedream.
[QUOTE=blankthemuffin;21419110]So have you actually done anything or is reversing the protocol and writing your own client a total pipedream.[/QUOTE]
It's been done in various languages already and there's documentation for it, it's not like it's a dream or anything..
All the networking is done, I just need the write the scripting part. All the messages the server sends, plus some ones like think etc would be hookable.
Heh, funny: I'm writing a Lua-scriptable (C++) minecraft server =P
The abuse of this is huge, at least add something like the WoM hacks has, so if I put "-SMC" it would block all scriptable minecraft clients joining that server. Please?
Another way to protect servers would be to restrict the bot from doing certain actions unless it is OPed
Got all the fun wrapper stuff done today, it's great at reverting all users' changes. Oh, mingey use detected !alert alert! It's great at autiomatically constructing stuff like walls, staircases, etc. you can just walk up somewhere, look in a direction and type /wall length thickness height material, and bam instant wall.
[IMG]http://i43.tinypic.com/15f6rea.png[/IMG]
How it'll go down.
Also, due to limitations of "the way it works" it's impossible to do mass actions easily, so no filling the entire map with rock or anything, depending on the server I think you can set about 400 blocks per frame.
Sorry, you need to Log In to post a reply to this thread.