Pages:
Author

Topic: Bots as means to infiltrate Bitcoin into bottable apps (e.g. IRC, MUD, games...) (Read 5936 times)

legendary
Activity: 2940
Merit: 1090
Characters running around actively foraging and crafting and so on 24/7 do consume server resources so obviously cannot be free.

So to some extent the sheer cost will prevent unlimited production, and by setting the cost on a per account or per character basis it will tend to be a losing proposition for characters who do not either do lots of rote labour or leverage their time by some kind of cleverness, possibly of kinds that scripts are not good at handling. Basically a human player who does not spend 8 hours a day playing might well be able to earn more than a same cost account fully populated with its maximum allotment of characters all doing dumb scripted work all their waking hours.

(As a really simple example, the human's character might be an employer, employing lots and lots of other people's scripted characters to do stuff the human player ultimately makes a profit on, in typical capitalist approach of employing lots of workers and profiting a little from each of them, adding up to more that you would make by being just another worker like them.)

-MarkM-
hero member
Activity: 740
Merit: 500
Hello world!
Now this is great idea if I ever saw one! This must be done!

Have you looked into Dragons Tale? They already use bitcoins as their in game currency.

They could be a starting point perhaps?
full member
Activity: 125
Merit: 100
Not very clear on how to even create an account let aone actually play:

Ah, also not tested from anything besides raw nc, probably some extra \r in there it didn't like, try again now.

!!INPT is followed by a input length(or range) and then valid characters for that input, the idea being that even the simplest bot could choose from the valid characters randomly up to the required range for any input requests it didn't recognize and have a reasonable chance of getting somewhere with it.


I do see that you seem to be trying to head the same direction with the CoffeeMUD (although it's apparently not something that can be tried out currently), just not really clear whether it's attempting to do work that is "useful" or where it is coming from.  From what is written it appears that it doesn't attempt to keep a closed economy (even within the whole scale of worlds available).  What I am trying is to reduce the server requirements by offloading the "work" generation/checking to what is essentially another player class that acts as the producers for the world economy with enough balancing that nothing is ever just created.
legendary
Activity: 2940
Merit: 1090
Not very clear on how to even create an account let aone actually play:

Code:
Trying 71.6.200.57...
Connected to greenishblue.info.
Escape character is '^]'.
((MSSG)) Welcome to the dungeons of Kalast, where cyber-heroes are born and lesser intelligences die
((MSSG)) Please enter your identification to continue, if a matching account is not found one will be created
((MSSG)) This is a combination username and password, keep it secret and reuse it in the future to continue playing this character
!!INPT|20-80|0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ:-!! Enter identification
Test
((MSSG)) Invalid input length, try again
!!INPT|20-80|0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ:-!! Enter identification
Test123456789
((MSSG)) Invalid input length, try again
!!INPT|20-80|0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ:-!! Enter identification
        
((MSSG)) Invalid input length, try again
!!INPT|20-80|0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ:-!! Enter identification
Test12345678901234567890
((MSSG)) Invalid characters in input, try again
!!INPT|20-80|0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ:-!! Enter identification
Testaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
((MSSG)) Invalid characters in input, try again
!!INPT|20-80|0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ:-!! Enter identification
Test test
((MSSG)) Invalid input length, try again
!!INPT|20-80|0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ:-!! Enter identification

The Galactic Milieu uses Freeciv, with the Galactic Ruleset, to provide the large-scale backdrop against which individual-character scale activities take place. Since when a unit of settlers on Freeciv scale settles down, forming a small city, that city is listed as population 10,000 it seems evident that one Freeciv scale unit of colonists consists of 10,000 individual character scale characters. Thus a reasonable test of a wannabe civilisation's readiness to embark upon the Freeciv scale of play could be to have them demonstrate that they can muster 10,000 individual characters to all work together as one coherent unit.

That provides a motivation for fielding a lot of characters, but it also provides quite a large economy, since when a unit of settlers embarks upon a voyage to another planet to colonise it will be in space for most of a year, and in any case needs to be supported for the full game year that is one game turn (probably about a month of real time), which if we don't want scurvy happening on the voyage means probably millions of oranges or servings of orange juice or lemonade will be wanted as well as three meals per day per colonist. This adds up to a heck of a lot of foraging and crafting.

It could be argued that the colonists themselves could be gathering and crafting all the stuff they will need, during the turns some city spends building the unit of colonists prior to shipping it out, however realistically once some civilisation has graduated to the Freeciv scale of play it seems likely they will prefer to deal directly only with the Freeciv scale themselves; thus once they are a Freeciv scale civ they might not even bother with the individual character scale at all, to the extent that this is possible. They might well even prefer not to have individual characters sitting around in some individual character scale representation of their civilisation's capital city where individual character scale assassins might be able to sneak up on them and assassinate them.

But really the main purpose of the Freeciv scale is to serve as backdrop for the players who do enjoy individual character scale. Thus even if the Freeciv scale cities get to just keep creating settlers each game-year and sending them off to other planets with all the food and supplies needed being abstracted into generic resource units and food units by the Freeciv scale system, nonetheless all of that abstract economy should be reflected in the individual character scale. Thus even if the players who graduated to the Freeciv scale no longer care about details such as whether their starships are stocking up on oranges or berries or juice or whatever, the fact that those starships are active, the fact that X number of units of 10,000 colonists per unit are being shipped out still presents opportunities for individual characters to sell a whole lot of oranges or orange juice or lemonade or whatever. Millions of servings of such things. A lot of work for a lot of foragers.

That kind of thing is what motivates the kind of "CPU mining" I am thinking of, for which CoffeeMUD seems useful.

-MarkM-
full member
Activity: 125
Merit: 100
Well I must say I've always enjoyed writing bots for games, usually sticking with games where it isn't specifically listed as being against the rules.  I have in the past considered designing something specifically for play by bots but at the time there were enough issues (and not a very big potential userbase) that I decided to shelve the idea.  So after reading this thread and pondering it for a day or so (or maybe it came to me in a dream last night) I have come to the conclusion that bitcoin (and the related tech/community) may solve many of those issues.

So here's the basic idea, instead of the normal account time limits that mean nothing for a computer that can run thousands of players at once we take the bitcoin mining model and require some processing power to back up each account.  If done carefully that processing power can be used to generate a steady income stream for the game server (ie as a replacement for the ads that would be shown to human players).  Taking it a step further you could also base/back the in-game economy with cryptocurrency and you could end up with something that looks similar to a (slightly inefficient) mining pool except that earnings would be based on how well your bot plays the game and not just processing power.

And so since it all seemed to mesh together nicely I started writing some code for a basic MUD for bots.  The basic idea is that users are given some small (15-30 seconds of processing time) question to answer between different moves and any amounts that can be collected by the server for that work are converted into in-game items distributed to the monsters that are spawned.  In-game currencies (I'm thinking based on various gems) correspond to different cryptocurrencies and can be traded with other players or NPCs (evenly, no NPCs creating money out of thin air) and can also be deposited/withdrawn through transactions on their corresponding blockchains at any point (with some sort of banking system in-game to allow keeping currency safe to be auto-withdrawn on death without spamming blockchains with many tiny txs).  So now I seem to have ended up with a small collection of servers that form what I would consider a basic proof of concept (ie you can create a character and walk around) that will accept connections from players, work providers, and NPCs and my more practical side is telling me that I should stop and see if anyone besides me would actually use such a thing before putting more than a days worth of time into it.  (I will temporarily open an endpoint to telnet://greenishblue.info:31173 if anyone is curious, try not to break anything)
legendary
Activity: 2940
Merit: 1090
A MUD is pretty much a straightforward and human-readable API so seems like a good place to start.

With a MUD you know that any three dimensional graphics anyone's client likes to use to make it more appealing to the user or even to make the user have to look more carefully at more pixels in order to try to interpret what is supposedly happening are totally secondary, artists renditions of what the text says rather than being the actual events with the text being n author's attempt to provide an interpretation of what is going on.

Thus any graphical illustrations providers will be working from the exact same textual descriptions as the scripts that characters use to respond to events, and the scripts can entirely do without the bandwidth overhead of ever even asking for the/a graphically illustrated version.
We get to work from the original novel instead of trying to work from a chronicle of what some visual recognition subsystem thinks the patterns of light its sensors are reporting might represent.

We get to know whether a hit was made and damage done as a direct fact instead of having to worry about whether some 3d model artist correctly modeled a hit as being visually distinguishable from a miss. With OpenSimulator for example it is very easy to have objects waved around by characters appear to go right through other characters or even the character wielding them, so we do really need to just know whether to tell the visuals system whether to try to draw a hit or to try to draw a miss rather than relying on looking at visuals to try to figure out which it was trying to draw.

The problem of bots generating goods faster than characters who in effect dont really do a whole lot of work is maybe not really all that bad of a problem, its just the same old "immigrants work too hard, they take jobs from we conquerors who already beat up the natives of this place" complaint that has been seen at various times in various places in meatspace. I wonder whether Austrians and Keynsins differ on whether it is even a problem at all rather than simply 'the market" doing its job?

-MarkM-
legendary
Activity: 2618
Merit: 1007
Well, besides Bots:
What about OpenSource games?

Implement a tournament mode for example where you have to pay an entry fee and then get rewarded per kill or buy ammunition with BTC or something along these lines?

There are OpenSource remakes of a lot of popular games out there and forking these for example to implement a Bitcoin module is allowed and might even (if the developers there like it) be included upstream. Also it might be a nice playground for some of these proposed Bitcoin Microtransaction schemes, where you jsut hand out a transaction that gets constantly updated while playing and then broadcated later on.
legendary
Activity: 1792
Merit: 1008
/dev/null
Actually it turned out that Xnova is horribly broken, it does not even hve working combat for example.

So it would be 2moons I'd be botting instead. But yes, libcurl seems to be the way to go with that.

Hopefully we can start financing development, so we can consider fixing Xnova's combat or, probably more useful, making a 'port routine to 'port Xnova data over to 2moons; and to have a minimal-reply mode made for 2moons intended for bots to use so they get the info they need without wasting bandwidth on all the extraneous crap that gets thrown at humans. An "API mode" kind of thing I guess maybe, or iof not start just with a be brief flag all the display routines will honour by trying to limit themselves to just giving the raw facts.

-MarkM-

for packet bots the Windows Scriptlanguage "AutoIt" is perfect for such stuff, it even runs under wine without problems Wink well its not fast but it suits for this.
legendary
Activity: 2940
Merit: 1090
Actually it turned out that Xnova is horribly broken, it does not even have working combat for example.

So it would be 2moons I'd be botting instead. But yes, libcurl seems to be the way to go with that.

Hopefully we can start financing development, so we can consider fixing Xnova's combat or, probably more useful, making a 'port routine to 'port Xnova data over to 2moons; and to have a minimal-reply mode made for 2moons intended for bots to use so they get the info they need without wasting bandwidth on all the extraneous crap that gets thrown at humans. An "API mode" kind of thing I guess maybe, or iof not start just with a be brief flag all the display routines will honour by trying to limit themselves to just giving the raw facts.

-MarkM-
legendary
Activity: 1792
Merit: 1008
/dev/null
It is probably best for web games to have a mode that does not waste bandwidth on crap the bots have no use for; a mode that just answers some simple query from the bot with some direct answer without wasting bandwidth on images and ads and so on that the bot has no use for nd that no human is going to see due to no human is at the computer at the time.

My frien'ds T.K.C. game, http://trollkeep.com/ , takes that approach.

-MarkM-

then you should really create a packet based bot.
legendary
Activity: 2940
Merit: 1090
I don't want to cheat existing games, the only cheting I had in mind was to save hacking the source code of an open source game to build in npcs by instead running NPCs remotely.

Really this thing with the MUD is like that too, the proper way for an A.I. player to play is using only information other players have, not doing like freeciv's built in A.i.'s do which is cheat by looking at stuff they ought not be able to see. (They do stuff like knowing what units you have in your cities without having to move a spy unit to the city to spy on it, and knowing what is happening out of sight beyond their units lines of site and radar and such. And despite all their cheating they are still crappy opponents.)

It is kind of silly to waste time doing crap your computer could and thus probably should be doing for you. Your computer should be making games eqsier tp play, helping you play them, not helping big game companies waste away your time on grinding. It is probably more sensible really just to say "that will take you two weeks of grinding, so play some other character for two weeks while this one is assumed to grind" than to even bother actually running through the grind, were it not that by being out there grinding your character is an NPC out there for others to grind-upon. No monsters needed, the players are the monsters! Smiley

-MarkM-
legendary
Activity: 1536
Merit: 1000
electronic [r]evolution
Quote
I find it easier to not forbid bots in the first place.
I can understand why they forbid it in MMO's. It puts real players at a disadvantage because bots can run all day constantly mining resources and flood the game market. Especially when you're reading or manipulating the client code in some way. At least with color bots you're just reading the image on the screen (like your eyes do) and then mimicking the mouse and keyboard actions (like your hands would do).

Quote
I think it is stupid to have to rely on image recognition
It can actually be very powerful and robust. It's a lot harder for them to constantly change the graphics than it is for them to fix holes in the code which allows botters to exploit the game in a more fundamental way. They constantly look for and fix those holes all the time, making those types of bots obsolete very quickly. That is why the Villavu community has lasted so long, and have been botting Runescape for like 5 years or something now. Many other bots have come and gone, but they always remain.
legendary
Activity: 2940
Merit: 1090
It is probably best for web games to have a mode that does not waste bandwidth on crap the bots have no use for; a mode that just answers some simple query from the bot with some direct answer without wasting bandwidth on images and ads and so on that the bot has no use for nd that no human is going to see due to no human is at the computer at the time.

My frien'ds T.K.C. game, http://trollkeep.com/ , takes that approach.

-MarkM-
legendary
Activity: 1792
Merit: 1008
/dev/null
Any botters around, maybe with source code of bots for various popular venues?

I have not really looked yet at how to bot web-based things such as via greasemonkey browser-plugins or whatever.

First I built eggdrop-based IRC bots, now I am working on a bot for the Crossciv "Freeciv Galactic Milieu" Crossfire-RPG server. (It is online in game as the character known as "Trader".)

It occurs to me that it ought not be hard to use shell scripts similar to those my eggdrop-based IRC bots call from tools such as MUD-clients so as to be able to bring Bitcoin capabilities into pretty much any MUD / MOO etc type of environment / app / game, and that might interest me to do if player population actually picked up at kingdoms.se MUD which is the only one I ever really stuck with.

Can anyone recommend good scriptable-bot free source code available for scripting web based games?

-MarkM-

--
See sample web based game at http://galaxies.mygamesonline.org/


Some years back i developed in the section of Bots and AI's (no frameworks/similiar).
I even developed some web based bots, there are 2 ways to implement it:
write software that manipulates the browser
write software that interacts directly with the game (http/https/etc based).

At the beginning manipulating the browser was the easiest way to do it, later i did only program the later kind (so called packet bots).

Just checked your "sample" game and i did develop some bots for xnova/similiar.
legendary
Activity: 2940
Merit: 1090
I find it easier to not forbid bots in the first place. Presto, using your MUD client's built in scripting is legal, go for it! Smiley

Or, write even better scriptable clients.

I think it is stupid to have to rely on image recognition, for one thing that implies the game is likely to be hard for blind people to play, so it isn't even an accessible game in the first place even for humans. People should be able to play using braille.

I expect actual competition in the game will likely end up showing its not the engine so much as the scripts that are key, but maybe not, maybe some things you just cannot do with normal MUD clients will turn out to give a major edge to clans that use some other engine to run their characters.

-MarkM-
legendary
Activity: 1536
Merit: 1000
electronic [r]evolution
The best and easiest way to build legal game bots is to use a color based script which analyses pixels and mimics real mouse and keyboard actions. It's also the safest way to bot games without being detected (they will typically ban you even though it's supposedly legal). Take a look at SCAR or Simba (both are based on the Pascal Script engine) and browse the Villavu forum to see example scripts (typically for Runescape).

And for those who might be interested, I created my own scripting IDE for creating Mt. Gox trading bots, based on the same Pascal Script engine. Take a look: Deja Vu - Bot Scripting IDE.
legendary
Activity: 2940
Merit: 1090
Testing using CoffeeMUD has revealed a whole further take on this; no longer is it just lets throw a few bots into some games, it is now closer to hmm how much do we even need humans in the games at all. Smiley

Basically it is kind of an offshoot of the idea of CPU mining.

(The two DevTome links above link to more info about this idea and where playtesting of it has brought us to so far.)

-MarkM-
legendary
Activity: 2940
Merit: 1090
It is true that games already out there probably won't allow it.

So it will probably be games intended for the purpose, in which case we should build APIs into them instead of wasting bandwidth sending out full GUI user-interfaces for the bots to try to decypher.

I was just being lazy, http://galaxies.mygamesonline.org/ doesn't have an API so I wondered how easy it would be to use some kind of already existing web-game-botting tool to bot it in the meantime. The more bots actually using it the incentive there would be to come up with an API for them so as to save bandwidth.

I already have bots for the Crossfire RPG, not as sophisticated as the famous NPC dragon bot someone runs that goes around looting and so on but just simply ones based on the small amount of bot code that someone actually published.

-MarkM-
full member
Activity: 140
Merit: 100
BitVapes.com
I've written many bots for web based games.  Not mud type but instead online casino games.  The principles are the same though, look at coordinates x,y for a pixel of color G, or a rectagle of 0,0,100,100 to have a checksum of $C then click left mouse at x,y, etc

it would store hashed values to a csv that identified the various 52 cards or button/game states etc and follow a pre-programed algorithm at playing the games.

I used AutoIT (www.autoitscript.com).  Unfortunately it is windows only
sr. member
Activity: 434
Merit: 252
youtube.com/ericfontainejazz now accepts bitcoin
adding thread to my watch list.

awesome idea!  plus these bots could be used to spread anti central banking propaganda and talk about rothbard and stuff...

I'm pretty sure this is against the rules of every (major) MMO out there.

who said anything about following any rules?  dont make these bots associatable with your real legal identity.  try to not get your bot banned, but it happens, no sweat.  move on to another game.

i wish i could buy some advanced mining bot on minethings.com with bitcoin...
Pages:
Jump to: